From 538f3cb37013e90faed5918f7fd28ad09f8cb8bc Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi <90936742+Reckless-Satoshi@users.noreply.github.com> Date: Tue, 20 Sep 2022 17:39:49 +0000 Subject: [PATCH] Add version mismatch detection, refactor GH workflows, draft release.yml, increase prettier scope (#250) * Refactor GH workflows * Add version mismatch checker and UpdateClient Dialog * Fix finalize release workflow * Increase prettier scope * Increase prettier coverage, add some static to prettierignore * Add CodeQL on PR --- .github/workflows/android-build.yml | 45 +- ...node-client-image.yml => client-image.yml} | 18 +- .github/workflows/codeql-client.yml | 75 ++ ...ql-analysis.yml => codeql-coordinator.yml} | 8 +- ...docker-image.yml => coordinator-image.yml} | 22 +- .github/workflows/django-test.yml | 9 +- .github/workflows/frontend-build.yml | 15 +- .github/workflows/linter.yml | 3 +- .github/workflows/release.yml | 101 ++ README.md | 2 +- api/utils.py | 12 +- api/views.py | 5 +- frontend/.eslintrc.json | 9 +- frontend/.prettierignore | 4 + frontend/babel.config.json | 6 +- frontend/package.json | 4 +- frontend/src/components/BottomBar.js | 56 +- .../src/components/Dialogs/UpdateClient.tsx | 114 ++ frontend/src/components/Dialogs/index.ts | 1 + frontend/src/utils/checkVer.ts | 25 + frontend/static/assets/currencies.json | 142 +-- frontend/static/css/fonts.css | 512 ++++---- frontend/static/css/index.css | 97 +- frontend/static/css/loader.css | 25 +- frontend/static/federation.json | 43 +- .../static/frontend/qr-decoding.worker.js | 2 - .../qr-decoding.worker.js.LICENSE.txt | 7 - .../vendors-node_modules_jsqr_dist_jsQR_js.js | 2 - ...e_modules_jsqr_dist_jsQR_js.js.LICENSE.txt | 3 - frontend/static/locales/ca.json | 1001 ++++++++-------- frontend/static/locales/cs.json | 1018 ++++++++-------- frontend/static/locales/de.json | 827 +++++++------ frontend/static/locales/en.json | 1033 +++++++++-------- frontend/static/locales/es.json | 1026 ++++++++-------- frontend/static/locales/eu.json | 862 +++++++------- frontend/static/locales/fr.json | 702 ++++++----- frontend/static/locales/it.json | 858 +++++++------- frontend/static/locales/pl.json | 702 ++++++----- frontend/static/locales/pt.json | 2 +- frontend/static/locales/ru.json | 1015 ++++++++-------- frontend/static/locales/sv.json | 856 +++++++------- frontend/static/locales/th.json | 1013 ++++++++-------- frontend/tsconfig.json | 2 +- frontend/webpack.config.ts | 20 +- version.json | 5 + 45 files changed, 6311 insertions(+), 5998 deletions(-) rename .github/workflows/{node-client-image.yml => client-image.yml} (81%) create mode 100644 .github/workflows/codeql-client.yml rename .github/workflows/{codeql-analysis.yml => codeql-coordinator.yml} (95%) rename .github/workflows/{docker-image.yml => coordinator-image.yml} (74%) create mode 100644 .github/workflows/release.yml create mode 100644 frontend/src/components/Dialogs/UpdateClient.tsx create mode 100644 frontend/src/utils/checkVer.ts delete mode 100644 frontend/static/frontend/qr-decoding.worker.js delete mode 100644 frontend/static/frontend/qr-decoding.worker.js.LICENSE.txt delete mode 100644 frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js delete mode 100644 frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js.LICENSE.txt create mode 100644 version.json diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml index 6af0ead51..a04db10e7 100644 --- a/.github/workflows/android-build.yml +++ b/.github/workflows/android-build.yml @@ -1,11 +1,16 @@ name: Android Build on: workflow_dispatch: + workflow_call: + inputs: + semver: + required: true + type: string push: - branches: [ "main" , "android-webview-app-ts"] + branches: [ "main" ] paths: [ "mobile", "frontend" ] pull_request: - branches: [ "main" , "android-webview-app-ts"] + branches: [ "main" ] paths: [ "mobile", "frontend" ] jobs: @@ -37,8 +42,40 @@ jobs: id: commit uses: pr-mpt/actions-commit-hash@v1 - - name: 'Upload .apk Artifact' + - name: 'Upload .apk Artifact (for Release)' uses: actions/upload-artifact@v3 + if: inputs.semver != '' # If this workflow is called from release.yml + with: + name: robosats-${{ inputs.semver }}.apk + path: mobile/android/app/build/outputs/apk/release/app-release.apk + + - name: 'Upload .apk Artifact (for Pre-release)' + uses: actions/upload-artifact@v3 + if: inputs.semver == '' # only if this workflow is not called from a push to tag (a Release) with: name: robosats-${{ steps.commit.outputs.short }}.apk - path: mobile/android/app/build/outputs/apk/release/app-release.apk \ No newline at end of file + path: mobile/android/app/build/outputs/apk/release/app-release.apk + + - name: 'Create Pre-release' + id: create_release + if: inputs.semver == '' # only if this workflow is not called from a push to tag (a Release) + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: android-${{ steps.commit.outputs.short }} + release_name: robosats-alpha-${{ steps.commit.outputs.short }} + draft: false + prerelease: true + + - name: 'Upload Pre-release APK Asset' + id: upload-release-asset + if: inputs.semver == '' # only if this workflow is not called from a push to tag (a Release) + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./mobile/android/app/build/outputs/apk/release/app-release.apk + asset_name: robosats-${{ steps.commit.outputs.short }}.apk + asset_content_type: application/apk \ No newline at end of file diff --git a/.github/workflows/node-client-image.yml b/.github/workflows/client-image.yml similarity index 81% rename from .github/workflows/node-client-image.yml rename to .github/workflows/client-image.yml index 669b06fff..3cdaa3681 100644 --- a/.github/workflows/node-client-image.yml +++ b/.github/workflows/client-image.yml @@ -2,6 +2,7 @@ name: Client App Image CI/CD on: workflow_dispatch: + workflow_call: push: branches: [ "main" ] paths: ["frontend", "nodeapp"] @@ -9,9 +10,9 @@ on: branches: [ "main" ] paths: ["frontend", "nodeapp"] -concurrency: - group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' - cancel-in-progress: true +# concurrency: +# group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' +# cancel-in-progress: true jobs: push_to_registry: @@ -20,7 +21,7 @@ jobs: steps: - uses: actions/checkout@v3 - - name: 'Copy Static' # Only needed because Github actions does not support symlinks + - name: 'Copy Static' # Needed since Github actions does not support symlinks run: | rm nodeapp/static cp -r frontend/static nodeapp/static @@ -47,12 +48,13 @@ jobs: tags: | type=ref,event=branch type=ref,event=pr + type=ref,event=tag type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} - type=sha + type=sha,enable=true,priority=100,prefix=,suffix=,format=short type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }} - + - name: 'Get Commit Hash' id: commit uses: pr-mpt/actions-commit-hash@v1 @@ -69,8 +71,6 @@ jobs: context: ./nodeapp platforms: linux/amd64,linux/arm64 push: true - tags: | - recksato/robosats-client:${{ steps.commit.outputs.short }} - recksato/robosats-client:latest + tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/codeql-client.yml b/.github/workflows/codeql-client.yml new file mode 100644 index 000000000..004107987 --- /dev/null +++ b/.github/workflows/codeql-client.yml @@ -0,0 +1,75 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL Analysis Client" + +on: + push: + branches: [ "main" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "main" ] + paths: + - 'frontend' + - 'mobile' + schedule: + - cron: '39 10 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-coordinator.yml similarity index 95% rename from .github/workflows/codeql-analysis.yml rename to .github/workflows/codeql-coordinator.yml index f9a4fd32d..951345137 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-coordinator.yml @@ -9,14 +9,16 @@ # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # -name: "CodeQL" +name: "CodeQL Analysis Coordinator" on: push: branches: [ "main" ] pull_request: # The branches below must be a subset of the branches above - # branches: [ "main" ] + branches: [ "main" ] + paths: + - 'api' schedule: - cron: '39 10 * * 2' @@ -32,7 +34,7 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'javascript', 'python' ] + language: [ 'python' ] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support diff --git a/.github/workflows/docker-image.yml b/.github/workflows/coordinator-image.yml similarity index 74% rename from .github/workflows/docker-image.yml rename to .github/workflows/coordinator-image.yml index d4145f25c..778fe3436 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/coordinator-image.yml @@ -1,17 +1,12 @@ -name: Backend Image CI +name: Coodinator Image CI on: workflow_dispatch: - push: - branches: [ "main" ] - paths: ["api", "chat", "control", "robosats", "frontend"] - pull_request: - branches: [ "main" ] - paths: ["api", "chat", "control", "robosats", "frontend"] + workflow_call: -concurrency: - group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' - cancel-in-progress: true +# concurrency: +# group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' +# cancel-in-progress: true jobs: push_to_registry: @@ -42,10 +37,11 @@ jobs: tags: | type=ref,event=branch type=ref,event=pr + type=ref,event=tag type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} - type=sha + type=sha,enable=true,priority=100,prefix=,suffix=,format=short type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }} - name: 'Get Commit Hash' @@ -61,8 +57,6 @@ jobs: with: context: . push: true - tags: | - recksato/robosats:${{ steps.commit.outputs.short }} - recksato/robosats:latest + tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/django-test.yml b/.github/workflows/django-test.yml index 146efc5f6..2c7ca0c80 100644 --- a/.github/workflows/django-test.yml +++ b/.github/workflows/django-test.yml @@ -2,6 +2,7 @@ name: Django Tests on: workflow_dispatch: + workflow_call: push: branches: [ "main" ] paths: ["api", "chat", "control", "robosats"] @@ -9,9 +10,9 @@ on: branches: [ "main" ] paths: ["api", "chat", "control", "robosats"] -concurrency: - group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' - cancel-in-progress: true +# concurrency: +# group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' +# cancel-in-progress: true jobs: build: @@ -55,4 +56,4 @@ jobs: mv .env-sample .env - name: 'Tests' run: | - python manage.py test + python manage.py test \ No newline at end of file diff --git a/.github/workflows/frontend-build.yml b/.github/workflows/frontend-build.yml index 62d492d84..6478c69a3 100644 --- a/.github/workflows/frontend-build.yml +++ b/.github/workflows/frontend-build.yml @@ -2,6 +2,11 @@ name: Frontend Test & Build on: workflow_dispatch: + workflow_call: + inputs: + semver: + required: true + type: string push: branches: [ "main" ] paths: [ "frontend" ] @@ -48,10 +53,16 @@ jobs: with: name: main-js path: frontend/static/frontend/main.js - - name: 'Invoke Backend Build CI workflow' + + invoke-docker-builds: + if: inputs.semver == '' + runs-on: ubuntu-latest + needs: build + steps: + - name: 'Invoke Coodinator Image CI' uses: benc-uk/workflow-dispatch@v1 with: - workflow: 'Backend Image CI' + workflow: 'Coodinator Image CI' token: ${{ secrets.PERSONAL_TOKEN }} - name: 'Invoke Client App Build CI/CD workflow' uses: benc-uk/workflow-dispatch@v1 diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 5d8ac2061..4e35dbf80 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -37,6 +37,7 @@ jobs: with: prettier: true prettier_dir: frontend - # Many linting errors + + ## Disabled due to error # eslint: true # eslint_dir: frontend \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..75a322396 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,101 @@ + +name: Release + +on: + push: + tags: + - "v*.*.*" + +jobs: + check-versions: + runs-on: ubuntu-latest + outputs: + semver: ${{ steps.validate.outputs.semver }} + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + - name: 'Validate versions match (tag, backend, frontend, Android)' + id: validate + shell: bash + run: | + semver=$(git describe --tags --abbrev=0) + IFS=- + read -ra semverArray <<< $semver + tagV=$(echo ${semverArray[0]} | sed 's/v//') + clientV=$(jq -r .version frontend/package.json) + coordinatorV=$(jq -r .major version.json).$(jq -r .minor version.json).$(jq -r .patch version.json) + + printf "Client version: ${clientV}\nCoordinator version: ${coordinatorV}\nGit tag version: ${tagV}\n" + + if [ "$coordinatorV" = "$clientV" ] && [ "$coordinatorV" = "$tagV" ] ; then + echo "Versions match!" + echo '::set-output name=semver::'$semver + else + echo "Versions do not match! You might have forgotten to update the version on a component."; exit $ERRCODE; + fi + + + django-test: + uses: reckless-satoshi/robosats/.github/workflows/django-test.yml@main + needs: check-versions + + frontend-build: + uses: reckless-satoshi/robosats/.github/workflows/frontend-build.yml@main + needs: check-versions + with: + semver: ${{ needs.check-versions.outputs.semver }} + + coordinator-image: + uses: reckless-satoshi/robosats/.github/workflows/coordinator-image.yml@main + needs: [django-test, frontend-build] + secrets: inherit + + client-image: + uses: reckless-satoshi/robosats/.github/workflows/client-image.yml@main + needs: frontend-build + secrets: inherit + + # Disabled until first Android APK release + # android-build: + # uses: reckless-satoshi/robosats/.github/workflows/coordinator-image.yml@main + # needs: frontend-build + # with: + # semver: ${{ needs.check-versions.outputs.semver }} + + release: + needs: [check-versions, coordinator-image, client-image] #, android-build] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: "Generate Release Changelog" + id: changelog + uses: heinrichreimer/github-changelog-generator-action@v2.3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + - name: Release + id: create-release + uses: softprops/action-gh-release@v1 + with: + body: ${{ steps.changelog.outputs.changelog }} + + # Disabled until first Android APK release + # - name: 'Download APK Artifact' + # uses: dawidd6/action-download-artifact@v2 + # with: + # workflow: android-build.yml + # workflow_conclusion: success + # name: robosats-${{ needs.check-versions.outputs.semver }}.apk + # path: . + # - name: 'Upload APK Asset' + # id: upload-release-asset + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create-release.outputs.upload_url }} + # asset_path: app-release.apk + # asset_name: robosats-${{ needs.check-versions.outputs.semver }}.apk + # asset_content_type: application/apk + + \ No newline at end of file diff --git a/README.md b/README.md index e4ca78ea2..3809eb979 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ## RoboSats - Buy and sell Satoshis Privately -[![Docker Image CI](https://github.com/Reckless-Satoshi/robosats/actions/workflows/docker-image.yml/badge.svg?branch=main)](https://github.com/Reckless-Satoshi/robosats/actions/workflows/docker-image.yml) +[![Coordinator CI](https://github.com/Reckless-Satoshi/robosats/actions/workflows/coordinator-image.yml/badge.svg?branch=main)](https://github.com/Reckless-Satoshi/robosats/actions/workflows/coordinator-image.yml) [![Frontend Build](https://github.com/Reckless-Satoshi/robosats/actions/workflows/frontend-build.yml/badge.svg?branch=main)](https://github.com/Reckless-Satoshi/robosats/actions/workflows/frontend-build.yml) [![release](https://img.shields.io/badge/release-v0.1.0%20MVP-red)](https://github.com/Reckless-Satoshi/robosats/releases) [![AGPL-3.0 license](https://img.shields.io/badge/license-AGPL--3.0-blue)](https://github.com/Reckless-Satoshi/robosats/blob/main/LICENSE) diff --git a/api/utils.py b/api/utils.py index dbaffcb6d..117a07686 100644 --- a/api/utils.py +++ b/api/utils.py @@ -134,7 +134,7 @@ def get_lnd_version(): robosats_commit_cache = {} @ring.dict(robosats_commit_cache, expire=3600) -def get_commit_robosats(): +def get_robosats_commit(): commit = os.popen('git log -n 1 --pretty=format:"%H"') commit_hash = commit.read() @@ -146,6 +146,16 @@ def get_commit_robosats(): return commit_hash +robosats_version_cache = {} +@ring.dict(robosats_commit_cache, expire=99999) +def get_robosats_version(): + + with open("version.json") as f: + version_dict = json.load(f) + + print(version_dict) + return version_dict + premium_percentile = {} @ring.dict(premium_percentile, expire=300) def compute_premium_percentile(order): diff --git a/api/views.py b/api/views.py index 63e0057e6..ee650bbe5 100644 --- a/api/views.py +++ b/api/views.py @@ -17,7 +17,7 @@ from api.logics import Logics from api.messages import Telegram from secrets import token_urlsafe -from api.utils import get_lnd_version, get_commit_robosats, compute_premium_percentile, compute_avg_premium +from api.utils import get_lnd_version, get_robosats_commit, get_robosats_version, compute_premium_percentile, compute_avg_premium from .nick_generator.nick_generator import NickGenerator from robohash import Robohash @@ -837,7 +837,8 @@ def get(self, request): context["last_day_volume"] = round(total_volume, 8) context["lifetime_volume"] = round(lifetime_volume, 8) context["lnd_version"] = get_lnd_version() - context["robosats_running_commit_hash"] = get_commit_robosats() + context["robosats_running_commit_hash"] = get_robosats_commit() + context["version"] = get_robosats_version() context["alternative_site"] = config("ALTERNATIVE_SITE") context["alternative_name"] = config("ALTERNATIVE_NAME") context["node_alias"] = config("NODE_ALIAS") diff --git a/frontend/.eslintrc.json b/frontend/.eslintrc.json index 2aec016f4..ca31c5905 100644 --- a/frontend/.eslintrc.json +++ b/frontend/.eslintrc.json @@ -19,12 +19,7 @@ "sourceType": "module", "project": "./tsconfig.json" }, - "plugins": [ - "react", - "react-hooks", - "@typescript-eslint", - "prettier" - ], + "plugins": ["react", "react-hooks", "@typescript-eslint", "prettier"], "rules": { "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", @@ -39,4 +34,4 @@ "version": "detect" } } -} \ No newline at end of file +} diff --git a/frontend/.prettierignore b/frontend/.prettierignore index 2552a387c..27177a557 100644 --- a/frontend/.prettierignore +++ b/frontend/.prettierignore @@ -1 +1,5 @@ src/components/payment-methods/code/code.js +static/rest_framework/** +static/admin/** +static/frontend/** +static/import_export/** diff --git a/frontend/babel.config.json b/frontend/babel.config.json index 3c752a544..346d6639a 100644 --- a/frontend/babel.config.json +++ b/frontend/babel.config.json @@ -1,9 +1,5 @@ { - "presets": [ - "@babel/preset-env", - "@babel/preset-react", - "@babel/preset-typescript" - ], + "presets": ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"], "plugins": [ [ "@babel/plugin-transform-runtime", diff --git a/frontend/package.json b/frontend/package.json index cf92f6000..aa2060aa8 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "frontend", - "version": "1.0.0", + "version": "0.2.0", "description": "", "main": "index.js", "scripts": { @@ -9,7 +9,7 @@ "build": "webpack --mode production", "lint": "eslint src/**/*.{js,ts,tsx}", "lint:fix": "eslint --fix 'src/**/*.{js,ts,tsx}'", - "format": "prettier --write 'src/**/*.{js,jsx,ts,tsx,css,md,json}' --config ./.prettierrc" + "format": "prettier --write '**/**/*.{js,jsx,ts,tsx,css,md,json}' --config ./.prettierrc" }, "keywords": [], "author": "", diff --git a/frontend/src/components/BottomBar.js b/frontend/src/components/BottomBar.js index becefecf7..680b181c5 100644 --- a/frontend/src/components/BottomBar.js +++ b/frontend/src/components/BottomBar.js @@ -32,9 +32,16 @@ import PriceChangeIcon from '@mui/icons-material/PriceChange'; // Missing flags import { CataloniaFlag, BasqueCountryFlag } from './Icons'; -import { CommunityDialog, ExchangeSummaryDialog, ProfileDialog, StatsDialog } from './Dialogs'; +import { + CommunityDialog, + ExchangeSummaryDialog, + ProfileDialog, + StatsDialog, + UpdateClientDialog, +} from './Dialogs'; import { getCookie } from '../utils/cookies'; +import checkVer from '../utils/checkVer'; class BottomBar extends Component { constructor(props) { @@ -44,6 +51,7 @@ class BottomBar extends Component { openCommuniy: false, openExchangeSummary: false, openClaimRewards: false, + openUpdateClient: false, num_public_buy_orders: 0, num_public_sell_orders: 0, book_liquidity: 0, @@ -72,23 +80,28 @@ class BottomBar extends Component { getInfo() { this.setState(null); - apiClient.get('/api/info/').then( - (data) => - this.setState(data) & - this.props.setAppState({ - nickname: data.nickname, - loading: false, - activeOrderId: data.active_order_id ? data.active_order_id : null, - lastOrderId: data.last_order_id ? data.last_order_id : null, - referralCode: data.referral_code, - tgEnabled: data.tg_enabled, - tgBotName: data.tg_bot_name, - tgToken: data.tg_token, - earnedRewards: data.earned_rewards, - lastDayPremium: data.last_day_nonkyc_btc_premium, - stealthInvoices: data.wants_stealth, - }), - ); + apiClient.get('/api/info/').then((data) => { + const versionInfo = checkVer(data.version.major, data.version.minor, data.version.patch); + this.setState({ + ...data, + openUpdateClient: versionInfo.updateAvailable, + coordinatorVersion: versionInfo.coordinatorVersion, + clientVersion: versionInfo.clientVersion, + }); + this.props.setAppState({ + nickname: data.nickname, + loading: false, + activeOrderId: data.active_order_id ? data.active_order_id : null, + lastOrderId: data.last_order_id ? data.last_order_id : null, + referralCode: data.referral_code, + tgEnabled: data.tg_enabled, + tgBotName: data.tg_bot_name, + tgToken: data.tg_token, + earnedRewards: data.earned_rewards, + lastDayPremium: data.last_day_nonkyc_btc_premium, + stealthInvoices: data.wants_stealth, + }); + }); } handleClickOpenStatsForNerds = () => { @@ -631,6 +644,13 @@ class BottomBar extends Component { handleClickCloseCommunity={this.handleClickCloseCommunity} /> + this.setState({ openUpdateClient: false })} + /> + void; +} + +const UpdateClientDialog = ({ + open, + clientVersion, + coordinatorVersion, + handleClickClose, +}: Props): JSX.Element => { + const { t } = useTranslation(); + + return ( + + + + {t('Update your RoboSats client')} + + +
+ + + {t( + 'The RoboSats coordinator is on version {{coordinatorVersion}}, but your client app is {{clientVersion}}. This version mismatch might lead to a bad user experience.', + { coordinatorVersion: coordinatorVersion, clientVersion: clientVersion }, + )} + + + + + + + + + + + + + + + + + + + + + + + + location.reload(true)}> + + + + + + + + + + + +
+
+ ); +}; + +export default UpdateClientDialog; diff --git a/frontend/src/components/Dialogs/index.ts b/frontend/src/components/Dialogs/index.ts index 2294bb195..4cae4c13b 100644 --- a/frontend/src/components/Dialogs/index.ts +++ b/frontend/src/components/Dialogs/index.ts @@ -8,3 +8,4 @@ export { default as ExchangeSummaryDialog } from './ExchangeSummary'; export { default as ProfileDialog } from './Profile'; export { default as StatsDialog } from './Stats'; export { default as EnableTelegramDialog } from './EnableTelegram'; +export { default as UpdateClientDialog } from './UpdateClient'; diff --git a/frontend/src/utils/checkVer.ts b/frontend/src/utils/checkVer.ts new file mode 100644 index 000000000..a157d0f58 --- /dev/null +++ b/frontend/src/utils/checkVer.ts @@ -0,0 +1,25 @@ +import packageJson from '../../package.json'; + +// Gets SemVer from backend /api/info and compares to local imported frontend version "localVer". Uses major,minor,patch. +// If minor of backend > minor of frontend, updateAvailable = true. +export const checkVer: ( + major: number | null, + minor: number | null, + patch: number | null, +) => object = (major, minor, patch) => { + if (major === null || minor === null || patch === null) { + return { updateAvailable: null }; + } + const semver = packageJson.version.split('.'); + const updateAvailable = major > Number(semver[0]) || minor > Number(semver[1]); + const patchAvailable = !updateAvailable && patch > Number(semver[2]); + + return { + updateAvailable: updateAvailable, + patchAvailable: patchAvailable, + coordinatorVersion: `v${major}.${minor}.${patch}`, + clientVersion: `v${semver[0]}.${semver[1]}.${semver[2]}`, + }; +}; + +export default checkVer; diff --git a/frontend/static/assets/currencies.json b/frontend/static/assets/currencies.json index 442d21d71..a5cff02b4 100644 --- a/frontend/static/assets/currencies.json +++ b/frontend/static/assets/currencies.json @@ -1,73 +1,73 @@ { - "1":"USD", - "2":"EUR", - "3":"JPY", - "4":"GBP", - "5":"AUD", - "6":"CAD", - "7":"CHF", - "8":"CNY", - "9":"HKD", - "10":"NZD", - "11":"SEK", - "12":"KRW", - "13":"SGD", - "14":"NOK", - "15":"MXN", - "16":"BYN", - "17":"RUB", - "18":"ZAR", - "19":"TRY", - "20":"BRL", - "21":"CLP", - "22":"CZK", - "23":"DKK", - "24":"HRK", - "25":"HUF", - "26":"INR", - "27":"ISK", - "28":"PLN", - "29":"RON", - "30":"ARS", - "31":"VES", - "32":"COP", - "33":"PEN", - "34":"UYU", - "35":"PYG", - "36":"BOB", - "37":"IDR", - "38":"ANG", - "39":"CRC", - "40":"CUP", - "41":"DOP", - "42":"GHS", - "43":"GTQ", - "44":"ILS", - "45":"JMD", - "46":"KES", - "47":"KZT", - "48":"MYR", - "49":"NAD", - "50":"NGN", - "51":"AZN", - "52":"PAB", - "53":"PHP", - "54":"PKR", - "55":"QAR", - "56":"SAR", - "57":"THB", - "58":"TTD", - "59":"VND", - "60":"XOF", - "61":"TWD", - "62":"TZS", - "63":"XAF", - "64":"UAH", - "65":"EGP", - "66":"LKR", - "67":"MAD", - "68":"AED", - "69":"TND", - "300":"XAU", - "1000":"BTC" + "1": "USD", + "2": "EUR", + "3": "JPY", + "4": "GBP", + "5": "AUD", + "6": "CAD", + "7": "CHF", + "8": "CNY", + "9": "HKD", + "10": "NZD", + "11": "SEK", + "12": "KRW", + "13": "SGD", + "14": "NOK", + "15": "MXN", + "16": "BYN", + "17": "RUB", + "18": "ZAR", + "19": "TRY", + "20": "BRL", + "21": "CLP", + "22": "CZK", + "23": "DKK", + "24": "HRK", + "25": "HUF", + "26": "INR", + "27": "ISK", + "28": "PLN", + "29": "RON", + "30": "ARS", + "31": "VES", + "32": "COP", + "33": "PEN", + "34": "UYU", + "35": "PYG", + "36": "BOB", + "37": "IDR", + "38": "ANG", + "39": "CRC", + "40": "CUP", + "41": "DOP", + "42": "GHS", + "43": "GTQ", + "44": "ILS", + "45": "JMD", + "46": "KES", + "47": "KZT", + "48": "MYR", + "49": "NAD", + "50": "NGN", + "51": "AZN", + "52": "PAB", + "53": "PHP", + "54": "PKR", + "55": "QAR", + "56": "SAR", + "57": "THB", + "58": "TTD", + "59": "VND", + "60": "XOF", + "61": "TWD", + "62": "TZS", + "63": "XAF", + "64": "UAH", + "65": "EGP", + "66": "LKR", + "67": "MAD", + "68": "AED", + "69": "TND", + "300": "XAU", + "1000": "BTC" } diff --git a/frontend/static/css/fonts.css b/frontend/static/css/fonts.css index 1eb0d791c..3a361949b 100644 --- a/frontend/static/css/fonts.css +++ b/frontend/static/css/fonts.css @@ -1,252 +1,264 @@ /* cyrillic-ext */ @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url(/static/css/fonts/roboto-1.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url(/static/css/fonts/roboto-2.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url(/static/css/fonts/roboto-3.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url(/static/css/fonts/roboto-4.woff2) format('woff2'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url(/static/css/fonts/roboto-5.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url(/static/css/fonts/roboto-6.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url(/static/css/fonts/roboto-7.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/css/fonts/roboto-8.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/css/fonts/roboto-9.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/css/fonts/roboto-10.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/css/fonts/roboto-11.woff2) format('woff2'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/css/fonts/roboto-12.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/css/fonts/roboto-13.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(/static/css/fonts/roboto-14.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/css/fonts/roboto-15.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/css/fonts/roboto-16.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/css/fonts/roboto-17.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/css/fonts/roboto-18.woff2) format('woff2'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/css/fonts/roboto-19.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/css/fonts/roboto-20.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url(/static/css/fonts/roboto-21.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/css/fonts/roboto-22.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/css/fonts/roboto-23.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/css/fonts/roboto-24.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/css/fonts/roboto-25.woff2) format('woff2'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/css/fonts/roboto-26.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/css/fonts/roboto-27.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url(/static/css/fonts/roboto-28.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } \ No newline at end of file + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/static/css/fonts/roboto-1.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/static/css/fonts/roboto-2.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/static/css/fonts/roboto-3.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/static/css/fonts/roboto-4.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/static/css/fonts/roboto-5.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/static/css/fonts/roboto-6.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, + U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(/static/css/fonts/roboto-7.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, + U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/css/fonts/roboto-8.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/css/fonts/roboto-9.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/css/fonts/roboto-10.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/css/fonts/roboto-11.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/css/fonts/roboto-12.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/css/fonts/roboto-13.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, + U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/static/css/fonts/roboto-14.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, + U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/css/fonts/roboto-15.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/css/fonts/roboto-16.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/css/fonts/roboto-17.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/css/fonts/roboto-18.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/css/fonts/roboto-19.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/css/fonts/roboto-20.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, + U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/static/css/fonts/roboto-21.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, + U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/css/fonts/roboto-22.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/css/fonts/roboto-23.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/css/fonts/roboto-24.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/css/fonts/roboto-25.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/css/fonts/roboto-26.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/css/fonts/roboto-27.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, + U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/static/css/fonts/roboto-28.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, + U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/frontend/static/css/index.css b/frontend/static/css/index.css index 5c364004f..a115f0dff 100644 --- a/frontend/static/css/index.css +++ b/frontend/static/css/index.css @@ -13,13 +13,13 @@ body { .loaderSpinner { color: #90caf9; } - .loaderSpinner:before{ + .loaderSpinner:before { background: rgb(0, 0, 0); } - .loaderSpinner:after{ + .loaderSpinner:after { background: rgb(0, 0, 0); } - .slider{ + .slider { color: #fff; } } @@ -38,28 +38,32 @@ body { } @keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } } .appCenter { position: absolute; top: 50%; left: 50%; - transform: translate(-50%,-50%) translate(0,-20px); + transform: translate(-50%, -50%) translate(0, -20px); } -.alertUnsafe{ +.alertUnsafe { position: absolute; width: 100%; z-index: 9999; } -.hideAlertButton{ +.hideAlertButton { position: fixed; } -.clickTrough{ +.clickTrough { height: 50px; pointer-events: none; z-index: 1; @@ -71,22 +75,21 @@ input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } -input[type=number] { +input[type='number'] { -moz-appearance: textfield; } - .bottomBar { position: fixed; bottom: 0; } -.amboss{ - fill:url(#SVGID_1_); +.amboss { + fill: url(#SVGID_1_); } -.advancedSwitch{ - width: 20; +.advancedSwitch { + width: 20; left: 50%; transform: translate(62px, 0px); margin-right: 0; @@ -104,71 +107,73 @@ input[type=number] { } .newAvatar { - border-radius: 50%; - border: 2px solid #555; + border-radius: 50%; + border: 2px solid #555; filter: drop-shadow(1px 1px 1px #000000); } .profileAvatar { - border: 0.5px solid #555; + border: 0.5px solid #555; filter: drop-shadow(0.5px 0.5px 0.5px #000000); left: 35px; } .smallAvatar { - border: 0.5px solid #555; + border: 0.5px solid #555; filter: drop-shadow(0.5px 0.5px 0.5px #000000); } .flippedSmallAvatar { transform: scaleX(-1); - border: 0.3px solid #555; + border: 0.3px solid #555; filter: drop-shadow(0.5px 0.5px 0.5px #000000); } -.phoneFlippedSmallAvatar img{ +.phoneFlippedSmallAvatar img { transform: scaleX(-1); - border: 1.3px solid #1976d2; + border: 1.3px solid #1976d2; -webkit-filter: grayscale(100%); - filter: grayscale(100%) brightness(150%) contrast(150%) drop-shadow(0.7px 0.7px 0.7px #000000); + filter: grayscale(100%) brightness(150%) contrast(150%) drop-shadow(0.7px 0.7px 0.7px #000000); } .phoneFlippedSmallAvatar:after { content: ''; position: absolute; - top: 0; left: 0; bottom: 0; right: 0; - border-radius: 50%; - border: 2.4px solid #1976d2; + top: 0; + left: 0; + bottom: 0; + right: 0; + border-radius: 50%; + border: 2.4px solid #1976d2; box-shadow: inset 0px 0px 35px rgb(255, 255, 255); } -.MuiButton-textInherit {color : '#111111';} +.MuiButton-textInherit { + color: '#111111'; +} + +::-webkit-scrollbar { + width: 6px; /* for vertical scrollbars */ + height: 6px; /* for horizontal scrollbars */ +} + +::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.1); +} + +::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.5); +} -::-webkit-scrollbar - { - width: 6px; /* for vertical scrollbars */ - height: 6px; /* for horizontal scrollbars */ - } - - ::-webkit-scrollbar-track - { - background: rgba(0, 0, 0, 0.1); - } - - ::-webkit-scrollbar-thumb - { - background: rgba(0, 0, 0, 0.5); - } - .MuiDataGrid-columnHeaders + div { width: auto !important; } - + @media (max-width: 929px) { - .appCenter:has(>div.MuiGrid-root:first-child, >div.MuiBox-root:first-child) { + .appCenter:has(> div.MuiGrid-root:first-child, > div.MuiBox-root:first-child) { overflow-y: scroll; margin-top: 12px; padding-bottom: 25px; height: 100%; } -} \ No newline at end of file +} diff --git a/frontend/static/css/loader.css b/frontend/static/css/loader.css index 1423928c5..160379d0c 100644 --- a/frontend/static/css/loader.css +++ b/frontend/static/css/loader.css @@ -1,15 +1,14 @@ - -.loaderCenter{ - margin:0 auto; - position: absolute; - left:50%; - top:50%; - margin-top:-120px; - margin-left:-175px; - width:350px; - height:120px; - text-align: center; - } +.loaderCenter { + margin: 0 auto; + position: absolute; + left: 50%; + top: 50%; + margin-top: -120px; + margin-left: -175px; + width: 350px; + height: 120px; + text-align: center; +} .loaderSpinner, .loaderSpinner:before, @@ -327,4 +326,4 @@ opacity: 0; z-index: 0; } -} \ No newline at end of file +} diff --git a/frontend/static/federation.json b/frontend/static/federation.json index e630f5e13..b49d0269a 100644 --- a/frontend/static/federation.json +++ b/frontend/static/federation.json @@ -1,26 +1,21 @@ { - "coordinator_1": { - "alias":"Maximalist", - "description": "Maximalist Robots. P2P for freedom. No trade limits, low fees.", - "cover_letter": "Hi! I am Mike. I'm a freedom activist based in TorLand. I have been running LN infrastructure since early 2019, long time FOSS contributor....", - "contact_methods": { - "email":"maximalist@bitcoin.p2p", - "telegram":"maximalist_robot", - ".....":"...." - }, - "color": "#FFFFFF", - "mainnet_onion":"robomaxim......onion", - "testnet_onion": null, - "mainnet_ln_nodes_pubkeys": [ - "03e96as....", - "02aaecc...." - ], - "testnet_ln_nodes_pubkeys": [ - "0284ff2...." - ], - "logo_svg_200x200": " <\/svg>" + "coordinator_1": { + "alias": "Maximalist", + "description": "Maximalist Robots. P2P for freedom. No trade limits, low fees.", + "cover_letter": "Hi! I am Mike. I'm a freedom activist based in TorLand. I have been running LN infrastructure since early 2019, long time FOSS contributor....", + "contact_methods": { + "email": "maximalist@bitcoin.p2p", + "telegram": "maximalist_robot", + ".....": "...." }, - "coordinator_2": { - "...":"..." - } - } \ No newline at end of file + "color": "#FFFFFF", + "mainnet_onion": "robomaxim......onion", + "testnet_onion": null, + "mainnet_ln_nodes_pubkeys": ["03e96as....", "02aaecc...."], + "testnet_ln_nodes_pubkeys": ["0284ff2...."], + "logo_svg_200x200": " " + }, + "coordinator_2": { + "...": "..." + } +} diff --git a/frontend/static/frontend/qr-decoding.worker.js b/frontend/static/frontend/qr-decoding.worker.js deleted file mode 100644 index 1353a5678..000000000 --- a/frontend/static/frontend/qr-decoding.worker.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see qr-decoding.worker.js.LICENSE.txt */ -(()=>{var __webpack_modules__={"./node_modules/jsqr/dist/jsQR.js":function(module){eval('(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(typeof self !== \'undefined\' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __nested_webpack_require_568__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_568__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__nested_webpack_require_568__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__nested_webpack_require_568__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__nested_webpack_require_568__.d = function(exports, name, getter) {\n/******/ \t\tif(!__nested_webpack_require_568__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__nested_webpack_require_568__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module[\'default\']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__nested_webpack_require_568__.d(getter, \'a\', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__nested_webpack_require_568__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__nested_webpack_require_568__.p = "";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __nested_webpack_require_568__(__nested_webpack_require_568__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix = /** @class */ (function () {\n function BitMatrix(data, width) {\n this.width = width;\n this.height = data.length / width;\n this.data = data;\n }\n BitMatrix.createEmpty = function (width, height) {\n return new BitMatrix(new Uint8ClampedArray(width * height), width);\n };\n BitMatrix.prototype.get = function (x, y) {\n if (x < 0 || x >= this.width || y < 0 || y >= this.height) {\n return false;\n }\n return !!this.data[y * this.width + x];\n };\n BitMatrix.prototype.set = function (x, y, v) {\n this.data[y * this.width + x] = v ? 1 : 0;\n };\n BitMatrix.prototype.setRegion = function (left, top, width, height, v) {\n for (var y = top; y < top + height; y++) {\n for (var x = left; x < left + width; x++) {\n this.set(x, y, !!v);\n }\n }\n };\n return BitMatrix;\n}());\nexports.BitMatrix = BitMatrix;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __nested_webpack_require_3952__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar GenericGFPoly_1 = __nested_webpack_require_3952__(2);\nfunction addOrSubtractGF(a, b) {\n return a ^ b; // tslint:disable-line:no-bitwise\n}\nexports.addOrSubtractGF = addOrSubtractGF;\nvar GenericGF = /** @class */ (function () {\n function GenericGF(primitive, size, genBase) {\n this.primitive = primitive;\n this.size = size;\n this.generatorBase = genBase;\n this.expTable = new Array(this.size);\n this.logTable = new Array(this.size);\n var x = 1;\n for (var i = 0; i < this.size; i++) {\n this.expTable[i] = x;\n x = x * 2;\n if (x >= this.size) {\n x = (x ^ this.primitive) & (this.size - 1); // tslint:disable-line:no-bitwise\n }\n }\n for (var i = 0; i < this.size - 1; i++) {\n this.logTable[this.expTable[i]] = i;\n }\n this.zero = new GenericGFPoly_1.default(this, Uint8ClampedArray.from([0]));\n this.one = new GenericGFPoly_1.default(this, Uint8ClampedArray.from([1]));\n }\n GenericGF.prototype.multiply = function (a, b) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.size - 1)];\n };\n GenericGF.prototype.inverse = function (a) {\n if (a === 0) {\n throw new Error("Can\'t invert 0");\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n };\n GenericGF.prototype.buildMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new Error("Invalid monomial degree less than 0");\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Uint8ClampedArray(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly_1.default(this, coefficients);\n };\n GenericGF.prototype.log = function (a) {\n if (a === 0) {\n throw new Error("Can\'t take log(0)");\n }\n return this.logTable[a];\n };\n GenericGF.prototype.exp = function (a) {\n return this.expTable[a];\n };\n return GenericGF;\n}());\nexports.default = GenericGF;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __nested_webpack_require_6272__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar GenericGF_1 = __nested_webpack_require_6272__(1);\nvar GenericGFPoly = /** @class */ (function () {\n function GenericGFPoly(field, coefficients) {\n if (coefficients.length === 0) {\n throw new Error("No coefficients.");\n }\n this.field = field;\n var coefficientsLength = coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial "0"\n var firstNonZero = 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = field.zero.coefficients;\n }\n else {\n this.coefficients = new Uint8ClampedArray(coefficientsLength - firstNonZero);\n for (var i = 0; i < this.coefficients.length; i++) {\n this.coefficients[i] = coefficients[firstNonZero + i];\n }\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n GenericGFPoly.prototype.degree = function () {\n return this.coefficients.length - 1;\n };\n GenericGFPoly.prototype.isZero = function () {\n return this.coefficients[0] === 0;\n };\n GenericGFPoly.prototype.getCoefficient = function (degree) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n };\n GenericGFPoly.prototype.addOrSubtract = function (other) {\n var _a;\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n var smallerCoefficients = this.coefficients;\n var largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n _a = [largerCoefficients, smallerCoefficients], smallerCoefficients = _a[0], largerCoefficients = _a[1];\n }\n var sumDiff = new Uint8ClampedArray(largerCoefficients.length);\n var lengthDiff = largerCoefficients.length - smallerCoefficients.length;\n for (var i = 0; i < lengthDiff; i++) {\n sumDiff[i] = largerCoefficients[i];\n }\n for (var i = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = GenericGF_1.addOrSubtractGF(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new GenericGFPoly(this.field, sumDiff);\n };\n GenericGFPoly.prototype.multiply = function (scalar) {\n if (scalar === 0) {\n return this.field.zero;\n }\n if (scalar === 1) {\n return this;\n }\n var size = this.coefficients.length;\n var product = new Uint8ClampedArray(size);\n for (var i = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], scalar);\n }\n return new GenericGFPoly(this.field, product);\n };\n GenericGFPoly.prototype.multiplyPoly = function (other) {\n if (this.isZero() || other.isZero()) {\n return this.field.zero;\n }\n var aCoefficients = this.coefficients;\n var aLength = aCoefficients.length;\n var bCoefficients = other.coefficients;\n var bLength = bCoefficients.length;\n var product = new Uint8ClampedArray(aLength + bLength - 1);\n for (var i = 0; i < aLength; i++) {\n var aCoeff = aCoefficients[i];\n for (var j = 0; j < bLength; j++) {\n product[i + j] = GenericGF_1.addOrSubtractGF(product[i + j], this.field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new GenericGFPoly(this.field, product);\n };\n GenericGFPoly.prototype.multiplyByMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new Error("Invalid degree less than 0");\n }\n if (coefficient === 0) {\n return this.field.zero;\n }\n var size = this.coefficients.length;\n var product = new Uint8ClampedArray(size + degree);\n for (var i = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], coefficient);\n }\n return new GenericGFPoly(this.field, product);\n };\n GenericGFPoly.prototype.evaluateAt = function (a) {\n var result = 0;\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n var size = this.coefficients.length;\n if (a === 1) {\n // Just the sum of the coefficients\n this.coefficients.forEach(function (coefficient) {\n result = GenericGF_1.addOrSubtractGF(result, coefficient);\n });\n return result;\n }\n result = this.coefficients[0];\n for (var i = 1; i < size; i++) {\n result = GenericGF_1.addOrSubtractGF(this.field.multiply(a, result), this.coefficients[i]);\n }\n return result;\n };\n return GenericGFPoly;\n}());\nexports.default = GenericGFPoly;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __nested_webpack_require_11547__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar binarizer_1 = __nested_webpack_require_11547__(4);\nvar decoder_1 = __nested_webpack_require_11547__(5);\nvar extractor_1 = __nested_webpack_require_11547__(11);\nvar locator_1 = __nested_webpack_require_11547__(12);\nfunction scan(matrix) {\n var locations = locator_1.locate(matrix);\n if (!locations) {\n return null;\n }\n for (var _i = 0, locations_1 = locations; _i < locations_1.length; _i++) {\n var location_1 = locations_1[_i];\n var extracted = extractor_1.extract(matrix, location_1);\n var decoded = decoder_1.decode(extracted.matrix);\n if (decoded) {\n return {\n binaryData: decoded.bytes,\n data: decoded.text,\n chunks: decoded.chunks,\n version: decoded.version,\n location: {\n topRightCorner: extracted.mappingFunction(location_1.dimension, 0),\n topLeftCorner: extracted.mappingFunction(0, 0),\n bottomRightCorner: extracted.mappingFunction(location_1.dimension, location_1.dimension),\n bottomLeftCorner: extracted.mappingFunction(0, location_1.dimension),\n topRightFinderPattern: location_1.topRight,\n topLeftFinderPattern: location_1.topLeft,\n bottomLeftFinderPattern: location_1.bottomLeft,\n bottomRightAlignmentPattern: location_1.alignmentPattern,\n },\n };\n }\n }\n return null;\n}\nvar defaultOptions = {\n inversionAttempts: "attemptBoth",\n};\nfunction jsQR(data, width, height, providedOptions) {\n if (providedOptions === void 0) { providedOptions = {}; }\n var options = defaultOptions;\n Object.keys(options || {}).forEach(function (opt) {\n options[opt] = providedOptions[opt] || options[opt];\n });\n var shouldInvert = options.inversionAttempts === "attemptBoth" || options.inversionAttempts === "invertFirst";\n var tryInvertedFirst = options.inversionAttempts === "onlyInvert" || options.inversionAttempts === "invertFirst";\n var _a = binarizer_1.binarize(data, width, height, shouldInvert), binarized = _a.binarized, inverted = _a.inverted;\n var result = scan(tryInvertedFirst ? inverted : binarized);\n if (!result && (options.inversionAttempts === "attemptBoth" || options.inversionAttempts === "invertFirst")) {\n result = scan(tryInvertedFirst ? binarized : inverted);\n }\n return result;\n}\njsQR.default = jsQR;\nexports.default = jsQR;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __nested_webpack_require_14168__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix_1 = __nested_webpack_require_14168__(0);\nvar REGION_SIZE = 8;\nvar MIN_DYNAMIC_RANGE = 24;\nfunction numBetween(value, min, max) {\n return value < min ? min : value > max ? max : value;\n}\n// Like BitMatrix but accepts arbitry Uint8 values\nvar Matrix = /** @class */ (function () {\n function Matrix(width, height) {\n this.width = width;\n this.data = new Uint8ClampedArray(width * height);\n }\n Matrix.prototype.get = function (x, y) {\n return this.data[y * this.width + x];\n };\n Matrix.prototype.set = function (x, y, value) {\n this.data[y * this.width + x] = value;\n };\n return Matrix;\n}());\nfunction binarize(data, width, height, returnInverted) {\n if (data.length !== width * height * 4) {\n throw new Error("Malformed data passed to binarizer.");\n }\n // Convert image to greyscale\n var greyscalePixels = new Matrix(width, height);\n for (var x = 0; x < width; x++) {\n for (var y = 0; y < height; y++) {\n var r = data[((y * width + x) * 4) + 0];\n var g = data[((y * width + x) * 4) + 1];\n var b = data[((y * width + x) * 4) + 2];\n greyscalePixels.set(x, y, 0.2126 * r + 0.7152 * g + 0.0722 * b);\n }\n }\n var horizontalRegionCount = Math.ceil(width / REGION_SIZE);\n var verticalRegionCount = Math.ceil(height / REGION_SIZE);\n var blackPoints = new Matrix(horizontalRegionCount, verticalRegionCount);\n for (var verticalRegion = 0; verticalRegion < verticalRegionCount; verticalRegion++) {\n for (var hortizontalRegion = 0; hortizontalRegion < horizontalRegionCount; hortizontalRegion++) {\n var sum = 0;\n var min = Infinity;\n var max = 0;\n for (var y = 0; y < REGION_SIZE; y++) {\n for (var x = 0; x < REGION_SIZE; x++) {\n var pixelLumosity = greyscalePixels.get(hortizontalRegion * REGION_SIZE + x, verticalRegion * REGION_SIZE + y);\n sum += pixelLumosity;\n min = Math.min(min, pixelLumosity);\n max = Math.max(max, pixelLumosity);\n }\n }\n var average = sum / (Math.pow(REGION_SIZE, 2));\n if (max - min <= MIN_DYNAMIC_RANGE) {\n // If variation within the block is low, assume this is a block with only light or only\n // dark pixels. In that case we do not want to use the average, as it would divide this\n // low contrast area into black and white pixels, essentially creating data out of noise.\n //\n // Default the blackpoint for these blocks to be half the min - effectively white them out\n average = min / 2;\n if (verticalRegion > 0 && hortizontalRegion > 0) {\n // Correct the "white background" assumption for blocks that have neighbors by comparing\n // the pixels in this block to the previously calculated black points. This is based on\n // the fact that dark barcode symbology is always surrounded by some amount of light\n // background for which reasonable black point estimates were made. The bp estimated at\n // the boundaries is used for the interior.\n // The (min < bp) is arbitrary but works better than other heuristics that were tried.\n var averageNeighborBlackPoint = (blackPoints.get(hortizontalRegion, verticalRegion - 1) +\n (2 * blackPoints.get(hortizontalRegion - 1, verticalRegion)) +\n blackPoints.get(hortizontalRegion - 1, verticalRegion - 1)) / 4;\n if (min < averageNeighborBlackPoint) {\n average = averageNeighborBlackPoint;\n }\n }\n }\n blackPoints.set(hortizontalRegion, verticalRegion, average);\n }\n }\n var binarized = BitMatrix_1.BitMatrix.createEmpty(width, height);\n var inverted = null;\n if (returnInverted) {\n inverted = BitMatrix_1.BitMatrix.createEmpty(width, height);\n }\n for (var verticalRegion = 0; verticalRegion < verticalRegionCount; verticalRegion++) {\n for (var hortizontalRegion = 0; hortizontalRegion < horizontalRegionCount; hortizontalRegion++) {\n var left = numBetween(hortizontalRegion, 2, horizontalRegionCount - 3);\n var top_1 = numBetween(verticalRegion, 2, verticalRegionCount - 3);\n var sum = 0;\n for (var xRegion = -2; xRegion <= 2; xRegion++) {\n for (var yRegion = -2; yRegion <= 2; yRegion++) {\n sum += blackPoints.get(left + xRegion, top_1 + yRegion);\n }\n }\n var threshold = sum / 25;\n for (var xRegion = 0; xRegion < REGION_SIZE; xRegion++) {\n for (var yRegion = 0; yRegion < REGION_SIZE; yRegion++) {\n var x = hortizontalRegion * REGION_SIZE + xRegion;\n var y = verticalRegion * REGION_SIZE + yRegion;\n var lum = greyscalePixels.get(x, y);\n binarized.set(x, y, lum <= threshold);\n if (returnInverted) {\n inverted.set(x, y, !(lum <= threshold));\n }\n }\n }\n }\n }\n if (returnInverted) {\n return { binarized: binarized, inverted: inverted };\n }\n return { binarized: binarized };\n}\nexports.binarize = binarize;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __nested_webpack_require_19864__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix_1 = __nested_webpack_require_19864__(0);\nvar decodeData_1 = __nested_webpack_require_19864__(6);\nvar reedsolomon_1 = __nested_webpack_require_19864__(9);\nvar version_1 = __nested_webpack_require_19864__(10);\n// tslint:disable:no-bitwise\nfunction numBitsDiffering(x, y) {\n var z = x ^ y;\n var bitCount = 0;\n while (z) {\n bitCount++;\n z &= z - 1;\n }\n return bitCount;\n}\nfunction pushBit(bit, byte) {\n return (byte << 1) | bit;\n}\n// tslint:enable:no-bitwise\nvar FORMAT_INFO_TABLE = [\n { bits: 0x5412, formatInfo: { errorCorrectionLevel: 1, dataMask: 0 } },\n { bits: 0x5125, formatInfo: { errorCorrectionLevel: 1, dataMask: 1 } },\n { bits: 0x5E7C, formatInfo: { errorCorrectionLevel: 1, dataMask: 2 } },\n { bits: 0x5B4B, formatInfo: { errorCorrectionLevel: 1, dataMask: 3 } },\n { bits: 0x45F9, formatInfo: { errorCorrectionLevel: 1, dataMask: 4 } },\n { bits: 0x40CE, formatInfo: { errorCorrectionLevel: 1, dataMask: 5 } },\n { bits: 0x4F97, formatInfo: { errorCorrectionLevel: 1, dataMask: 6 } },\n { bits: 0x4AA0, formatInfo: { errorCorrectionLevel: 1, dataMask: 7 } },\n { bits: 0x77C4, formatInfo: { errorCorrectionLevel: 0, dataMask: 0 } },\n { bits: 0x72F3, formatInfo: { errorCorrectionLevel: 0, dataMask: 1 } },\n { bits: 0x7DAA, formatInfo: { errorCorrectionLevel: 0, dataMask: 2 } },\n { bits: 0x789D, formatInfo: { errorCorrectionLevel: 0, dataMask: 3 } },\n { bits: 0x662F, formatInfo: { errorCorrectionLevel: 0, dataMask: 4 } },\n { bits: 0x6318, formatInfo: { errorCorrectionLevel: 0, dataMask: 5 } },\n { bits: 0x6C41, formatInfo: { errorCorrectionLevel: 0, dataMask: 6 } },\n { bits: 0x6976, formatInfo: { errorCorrectionLevel: 0, dataMask: 7 } },\n { bits: 0x1689, formatInfo: { errorCorrectionLevel: 3, dataMask: 0 } },\n { bits: 0x13BE, formatInfo: { errorCorrectionLevel: 3, dataMask: 1 } },\n { bits: 0x1CE7, formatInfo: { errorCorrectionLevel: 3, dataMask: 2 } },\n { bits: 0x19D0, formatInfo: { errorCorrectionLevel: 3, dataMask: 3 } },\n { bits: 0x0762, formatInfo: { errorCorrectionLevel: 3, dataMask: 4 } },\n { bits: 0x0255, formatInfo: { errorCorrectionLevel: 3, dataMask: 5 } },\n { bits: 0x0D0C, formatInfo: { errorCorrectionLevel: 3, dataMask: 6 } },\n { bits: 0x083B, formatInfo: { errorCorrectionLevel: 3, dataMask: 7 } },\n { bits: 0x355F, formatInfo: { errorCorrectionLevel: 2, dataMask: 0 } },\n { bits: 0x3068, formatInfo: { errorCorrectionLevel: 2, dataMask: 1 } },\n { bits: 0x3F31, formatInfo: { errorCorrectionLevel: 2, dataMask: 2 } },\n { bits: 0x3A06, formatInfo: { errorCorrectionLevel: 2, dataMask: 3 } },\n { bits: 0x24B4, formatInfo: { errorCorrectionLevel: 2, dataMask: 4 } },\n { bits: 0x2183, formatInfo: { errorCorrectionLevel: 2, dataMask: 5 } },\n { bits: 0x2EDA, formatInfo: { errorCorrectionLevel: 2, dataMask: 6 } },\n { bits: 0x2BED, formatInfo: { errorCorrectionLevel: 2, dataMask: 7 } },\n];\nvar DATA_MASKS = [\n function (p) { return ((p.y + p.x) % 2) === 0; },\n function (p) { return (p.y % 2) === 0; },\n function (p) { return p.x % 3 === 0; },\n function (p) { return (p.y + p.x) % 3 === 0; },\n function (p) { return (Math.floor(p.y / 2) + Math.floor(p.x / 3)) % 2 === 0; },\n function (p) { return ((p.x * p.y) % 2) + ((p.x * p.y) % 3) === 0; },\n function (p) { return ((((p.y * p.x) % 2) + (p.y * p.x) % 3) % 2) === 0; },\n function (p) { return ((((p.y + p.x) % 2) + (p.y * p.x) % 3) % 2) === 0; },\n];\nfunction buildFunctionPatternMask(version) {\n var dimension = 17 + 4 * version.versionNumber;\n var matrix = BitMatrix_1.BitMatrix.createEmpty(dimension, dimension);\n matrix.setRegion(0, 0, 9, 9, true); // Top left finder pattern + separator + format\n matrix.setRegion(dimension - 8, 0, 8, 9, true); // Top right finder pattern + separator + format\n matrix.setRegion(0, dimension - 8, 9, 8, true); // Bottom left finder pattern + separator + format\n // Alignment patterns\n for (var _i = 0, _a = version.alignmentPatternCenters; _i < _a.length; _i++) {\n var x = _a[_i];\n for (var _b = 0, _c = version.alignmentPatternCenters; _b < _c.length; _b++) {\n var y = _c[_b];\n if (!(x === 6 && y === 6 || x === 6 && y === dimension - 7 || x === dimension - 7 && y === 6)) {\n matrix.setRegion(x - 2, y - 2, 5, 5, true);\n }\n }\n }\n matrix.setRegion(6, 9, 1, dimension - 17, true); // Vertical timing pattern\n matrix.setRegion(9, 6, dimension - 17, 1, true); // Horizontal timing pattern\n if (version.versionNumber > 6) {\n matrix.setRegion(dimension - 11, 0, 3, 6, true); // Version info, top right\n matrix.setRegion(0, dimension - 11, 6, 3, true); // Version info, bottom left\n }\n return matrix;\n}\nfunction readCodewords(matrix, version, formatInfo) {\n var dataMask = DATA_MASKS[formatInfo.dataMask];\n var dimension = matrix.height;\n var functionPatternMask = buildFunctionPatternMask(version);\n var codewords = [];\n var currentByte = 0;\n var bitsRead = 0;\n // Read columns in pairs, from right to left\n var readingUp = true;\n for (var columnIndex = dimension - 1; columnIndex > 0; columnIndex -= 2) {\n if (columnIndex === 6) { // Skip whole column with vertical alignment pattern;\n columnIndex--;\n }\n for (var i = 0; i < dimension; i++) {\n var y = readingUp ? dimension - 1 - i : i;\n for (var columnOffset = 0; columnOffset < 2; columnOffset++) {\n var x = columnIndex - columnOffset;\n if (!functionPatternMask.get(x, y)) {\n bitsRead++;\n var bit = matrix.get(x, y);\n if (dataMask({ y: y, x: x })) {\n bit = !bit;\n }\n currentByte = pushBit(bit, currentByte);\n if (bitsRead === 8) { // Whole bytes\n codewords.push(currentByte);\n bitsRead = 0;\n currentByte = 0;\n }\n }\n }\n }\n readingUp = !readingUp;\n }\n return codewords;\n}\nfunction readVersion(matrix) {\n var dimension = matrix.height;\n var provisionalVersion = Math.floor((dimension - 17) / 4);\n if (provisionalVersion <= 6) { // 6 and under dont have version info in the QR code\n return version_1.VERSIONS[provisionalVersion - 1];\n }\n var topRightVersionBits = 0;\n for (var y = 5; y >= 0; y--) {\n for (var x = dimension - 9; x >= dimension - 11; x--) {\n topRightVersionBits = pushBit(matrix.get(x, y), topRightVersionBits);\n }\n }\n var bottomLeftVersionBits = 0;\n for (var x = 5; x >= 0; x--) {\n for (var y = dimension - 9; y >= dimension - 11; y--) {\n bottomLeftVersionBits = pushBit(matrix.get(x, y), bottomLeftVersionBits);\n }\n }\n var bestDifference = Infinity;\n var bestVersion;\n for (var _i = 0, VERSIONS_1 = version_1.VERSIONS; _i < VERSIONS_1.length; _i++) {\n var version = VERSIONS_1[_i];\n if (version.infoBits === topRightVersionBits || version.infoBits === bottomLeftVersionBits) {\n return version;\n }\n var difference = numBitsDiffering(topRightVersionBits, version.infoBits);\n if (difference < bestDifference) {\n bestVersion = version;\n bestDifference = difference;\n }\n difference = numBitsDiffering(bottomLeftVersionBits, version.infoBits);\n if (difference < bestDifference) {\n bestVersion = version;\n bestDifference = difference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return bestVersion;\n }\n}\nfunction readFormatInformation(matrix) {\n var topLeftFormatInfoBits = 0;\n for (var x = 0; x <= 8; x++) {\n if (x !== 6) { // Skip timing pattern bit\n topLeftFormatInfoBits = pushBit(matrix.get(x, 8), topLeftFormatInfoBits);\n }\n }\n for (var y = 7; y >= 0; y--) {\n if (y !== 6) { // Skip timing pattern bit\n topLeftFormatInfoBits = pushBit(matrix.get(8, y), topLeftFormatInfoBits);\n }\n }\n var dimension = matrix.height;\n var topRightBottomRightFormatInfoBits = 0;\n for (var y = dimension - 1; y >= dimension - 7; y--) { // bottom left\n topRightBottomRightFormatInfoBits = pushBit(matrix.get(8, y), topRightBottomRightFormatInfoBits);\n }\n for (var x = dimension - 8; x < dimension; x++) { // top right\n topRightBottomRightFormatInfoBits = pushBit(matrix.get(x, 8), topRightBottomRightFormatInfoBits);\n }\n var bestDifference = Infinity;\n var bestFormatInfo = null;\n for (var _i = 0, FORMAT_INFO_TABLE_1 = FORMAT_INFO_TABLE; _i < FORMAT_INFO_TABLE_1.length; _i++) {\n var _a = FORMAT_INFO_TABLE_1[_i], bits = _a.bits, formatInfo = _a.formatInfo;\n if (bits === topLeftFormatInfoBits || bits === topRightBottomRightFormatInfoBits) {\n return formatInfo;\n }\n var difference = numBitsDiffering(topLeftFormatInfoBits, bits);\n if (difference < bestDifference) {\n bestFormatInfo = formatInfo;\n bestDifference = difference;\n }\n if (topLeftFormatInfoBits !== topRightBottomRightFormatInfoBits) { // also try the other option\n difference = numBitsDiffering(topRightBottomRightFormatInfoBits, bits);\n if (difference < bestDifference) {\n bestFormatInfo = formatInfo;\n bestDifference = difference;\n }\n }\n }\n // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits differing means we found a match\n if (bestDifference <= 3) {\n return bestFormatInfo;\n }\n return null;\n}\nfunction getDataBlocks(codewords, version, ecLevel) {\n var ecInfo = version.errorCorrectionLevels[ecLevel];\n var dataBlocks = [];\n var totalCodewords = 0;\n ecInfo.ecBlocks.forEach(function (block) {\n for (var i = 0; i < block.numBlocks; i++) {\n dataBlocks.push({ numDataCodewords: block.dataCodewordsPerBlock, codewords: [] });\n totalCodewords += block.dataCodewordsPerBlock + ecInfo.ecCodewordsPerBlock;\n }\n });\n // In some cases the QR code will be malformed enough that we pull off more or less than we should.\n // If we pull off less there\'s nothing we can do.\n // If we pull off more we can safely truncate\n if (codewords.length < totalCodewords) {\n return null;\n }\n codewords = codewords.slice(0, totalCodewords);\n var shortBlockSize = ecInfo.ecBlocks[0].dataCodewordsPerBlock;\n // Pull codewords to fill the blocks up to the minimum size\n for (var i = 0; i < shortBlockSize; i++) {\n for (var _i = 0, dataBlocks_1 = dataBlocks; _i < dataBlocks_1.length; _i++) {\n var dataBlock = dataBlocks_1[_i];\n dataBlock.codewords.push(codewords.shift());\n }\n }\n // If there are any large blocks, pull codewords to fill the last element of those\n if (ecInfo.ecBlocks.length > 1) {\n var smallBlockCount = ecInfo.ecBlocks[0].numBlocks;\n var largeBlockCount = ecInfo.ecBlocks[1].numBlocks;\n for (var i = 0; i < largeBlockCount; i++) {\n dataBlocks[smallBlockCount + i].codewords.push(codewords.shift());\n }\n }\n // Add the rest of the codewords to the blocks. These are the error correction codewords.\n while (codewords.length > 0) {\n for (var _a = 0, dataBlocks_2 = dataBlocks; _a < dataBlocks_2.length; _a++) {\n var dataBlock = dataBlocks_2[_a];\n dataBlock.codewords.push(codewords.shift());\n }\n }\n return dataBlocks;\n}\nfunction decodeMatrix(matrix) {\n var version = readVersion(matrix);\n if (!version) {\n return null;\n }\n var formatInfo = readFormatInformation(matrix);\n if (!formatInfo) {\n return null;\n }\n var codewords = readCodewords(matrix, version, formatInfo);\n var dataBlocks = getDataBlocks(codewords, version, formatInfo.errorCorrectionLevel);\n if (!dataBlocks) {\n return null;\n }\n // Count total number of data bytes\n var totalBytes = dataBlocks.reduce(function (a, b) { return a + b.numDataCodewords; }, 0);\n var resultBytes = new Uint8ClampedArray(totalBytes);\n var resultIndex = 0;\n for (var _i = 0, dataBlocks_3 = dataBlocks; _i < dataBlocks_3.length; _i++) {\n var dataBlock = dataBlocks_3[_i];\n var correctedBytes = reedsolomon_1.decode(dataBlock.codewords, dataBlock.codewords.length - dataBlock.numDataCodewords);\n if (!correctedBytes) {\n return null;\n }\n for (var i = 0; i < dataBlock.numDataCodewords; i++) {\n resultBytes[resultIndex++] = correctedBytes[i];\n }\n }\n try {\n return decodeData_1.decode(resultBytes, version.versionNumber);\n }\n catch (_a) {\n return null;\n }\n}\nfunction decode(matrix) {\n if (matrix == null) {\n return null;\n }\n var result = decodeMatrix(matrix);\n if (result) {\n return result;\n }\n // Decoding didn\'t work, try mirroring the QR across the topLeft -> bottomRight line.\n for (var x = 0; x < matrix.width; x++) {\n for (var y = x + 1; y < matrix.height; y++) {\n if (matrix.get(x, y) !== matrix.get(y, x)) {\n matrix.set(x, y, !matrix.get(x, y));\n matrix.set(y, x, !matrix.get(y, x));\n }\n }\n }\n return decodeMatrix(matrix);\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __nested_webpack_require_33675__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\n// tslint:disable:no-bitwise\nvar BitStream_1 = __nested_webpack_require_33675__(7);\nvar shiftJISTable_1 = __nested_webpack_require_33675__(8);\nvar Mode;\n(function (Mode) {\n Mode["Numeric"] = "numeric";\n Mode["Alphanumeric"] = "alphanumeric";\n Mode["Byte"] = "byte";\n Mode["Kanji"] = "kanji";\n Mode["ECI"] = "eci";\n})(Mode = exports.Mode || (exports.Mode = {}));\nvar ModeByte;\n(function (ModeByte) {\n ModeByte[ModeByte["Terminator"] = 0] = "Terminator";\n ModeByte[ModeByte["Numeric"] = 1] = "Numeric";\n ModeByte[ModeByte["Alphanumeric"] = 2] = "Alphanumeric";\n ModeByte[ModeByte["Byte"] = 4] = "Byte";\n ModeByte[ModeByte["Kanji"] = 8] = "Kanji";\n ModeByte[ModeByte["ECI"] = 7] = "ECI";\n // StructuredAppend = 0x3,\n // FNC1FirstPosition = 0x5,\n // FNC1SecondPosition = 0x9,\n})(ModeByte || (ModeByte = {}));\nfunction decodeNumeric(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [10, 12, 14][size];\n var length = stream.readBits(characterCountSize);\n // Read digits in groups of 3\n while (length >= 3) {\n var num = stream.readBits(10);\n if (num >= 1000) {\n throw new Error("Invalid numeric value above 999");\n }\n var a = Math.floor(num / 100);\n var b = Math.floor(num / 10) % 10;\n var c = num % 10;\n bytes.push(48 + a, 48 + b, 48 + c);\n text += a.toString() + b.toString() + c.toString();\n length -= 3;\n }\n // If the number of digits aren\'t a multiple of 3, the remaining digits are special cased.\n if (length === 2) {\n var num = stream.readBits(7);\n if (num >= 100) {\n throw new Error("Invalid numeric value above 99");\n }\n var a = Math.floor(num / 10);\n var b = num % 10;\n bytes.push(48 + a, 48 + b);\n text += a.toString() + b.toString();\n }\n else if (length === 1) {\n var num = stream.readBits(4);\n if (num >= 10) {\n throw new Error("Invalid numeric value above 9");\n }\n bytes.push(48 + num);\n text += num.toString();\n }\n return { bytes: bytes, text: text };\n}\nvar AlphanumericCharacterCodes = [\n "0", "1", "2", "3", "4", "5", "6", "7", "8",\n "9", "A", "B", "C", "D", "E", "F", "G", "H",\n "I", "J", "K", "L", "M", "N", "O", "P", "Q",\n "R", "S", "T", "U", "V", "W", "X", "Y", "Z",\n " ", "$", "%", "*", "+", "-", ".", "/", ":",\n];\nfunction decodeAlphanumeric(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [9, 11, 13][size];\n var length = stream.readBits(characterCountSize);\n while (length >= 2) {\n var v = stream.readBits(11);\n var a = Math.floor(v / 45);\n var b = v % 45;\n bytes.push(AlphanumericCharacterCodes[a].charCodeAt(0), AlphanumericCharacterCodes[b].charCodeAt(0));\n text += AlphanumericCharacterCodes[a] + AlphanumericCharacterCodes[b];\n length -= 2;\n }\n if (length === 1) {\n var a = stream.readBits(6);\n bytes.push(AlphanumericCharacterCodes[a].charCodeAt(0));\n text += AlphanumericCharacterCodes[a];\n }\n return { bytes: bytes, text: text };\n}\nfunction decodeByte(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [8, 16, 16][size];\n var length = stream.readBits(characterCountSize);\n for (var i = 0; i < length; i++) {\n var b = stream.readBits(8);\n bytes.push(b);\n }\n try {\n text += decodeURIComponent(bytes.map(function (b) { return "%" + ("0" + b.toString(16)).substr(-2); }).join(""));\n }\n catch (_a) {\n // failed to decode\n }\n return { bytes: bytes, text: text };\n}\nfunction decodeKanji(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [8, 10, 12][size];\n var length = stream.readBits(characterCountSize);\n for (var i = 0; i < length; i++) {\n var k = stream.readBits(13);\n var c = (Math.floor(k / 0xC0) << 8) | (k % 0xC0);\n if (c < 0x1F00) {\n c += 0x8140;\n }\n else {\n c += 0xC140;\n }\n bytes.push(c >> 8, c & 0xFF);\n text += String.fromCharCode(shiftJISTable_1.shiftJISTable[c]);\n }\n return { bytes: bytes, text: text };\n}\nfunction decode(data, version) {\n var _a, _b, _c, _d;\n var stream = new BitStream_1.BitStream(data);\n // There are 3 \'sizes\' based on the version. 1-9 is small (0), 10-26 is medium (1) and 27-40 is large (2).\n var size = version <= 9 ? 0 : version <= 26 ? 1 : 2;\n var result = {\n text: "",\n bytes: [],\n chunks: [],\n version: version,\n };\n while (stream.available() >= 4) {\n var mode = stream.readBits(4);\n if (mode === ModeByte.Terminator) {\n return result;\n }\n else if (mode === ModeByte.ECI) {\n if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(7),\n });\n }\n else if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(14),\n });\n }\n else if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(21),\n });\n }\n else {\n // ECI data seems corrupted\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: -1,\n });\n }\n }\n else if (mode === ModeByte.Numeric) {\n var numericResult = decodeNumeric(stream, size);\n result.text += numericResult.text;\n (_a = result.bytes).push.apply(_a, numericResult.bytes);\n result.chunks.push({\n type: Mode.Numeric,\n text: numericResult.text,\n });\n }\n else if (mode === ModeByte.Alphanumeric) {\n var alphanumericResult = decodeAlphanumeric(stream, size);\n result.text += alphanumericResult.text;\n (_b = result.bytes).push.apply(_b, alphanumericResult.bytes);\n result.chunks.push({\n type: Mode.Alphanumeric,\n text: alphanumericResult.text,\n });\n }\n else if (mode === ModeByte.Byte) {\n var byteResult = decodeByte(stream, size);\n result.text += byteResult.text;\n (_c = result.bytes).push.apply(_c, byteResult.bytes);\n result.chunks.push({\n type: Mode.Byte,\n bytes: byteResult.bytes,\n text: byteResult.text,\n });\n }\n else if (mode === ModeByte.Kanji) {\n var kanjiResult = decodeKanji(stream, size);\n result.text += kanjiResult.text;\n (_d = result.bytes).push.apply(_d, kanjiResult.bytes);\n result.chunks.push({\n type: Mode.Kanji,\n bytes: kanjiResult.bytes,\n text: kanjiResult.text,\n });\n }\n }\n // If there is no data left, or the remaining bits are all 0, then that counts as a termination marker\n if (stream.available() === 0 || stream.readBits(stream.available()) === 0) {\n return result;\n }\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n// tslint:disable:no-bitwise\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitStream = /** @class */ (function () {\n function BitStream(bytes) {\n this.byteOffset = 0;\n this.bitOffset = 0;\n this.bytes = bytes;\n }\n BitStream.prototype.readBits = function (numBits) {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new Error("Cannot read " + numBits.toString() + " bits");\n }\n var result = 0;\n // First, read remainder from current byte\n if (this.bitOffset > 0) {\n var bitsLeft = 8 - this.bitOffset;\n var toRead = numBits < bitsLeft ? numBits : bitsLeft;\n var bitsToNotRead = bitsLeft - toRead;\n var mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n result = (this.bytes[this.byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n this.bitOffset += toRead;\n if (this.bitOffset === 8) {\n this.bitOffset = 0;\n this.byteOffset++;\n }\n }\n // Next read whole bytes\n if (numBits > 0) {\n while (numBits >= 8) {\n result = (result << 8) | (this.bytes[this.byteOffset] & 0xFF);\n this.byteOffset++;\n numBits -= 8;\n }\n // Finally read a partial byte\n if (numBits > 0) {\n var bitsToNotRead = 8 - numBits;\n var mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n result = (result << numBits) | ((this.bytes[this.byteOffset] & mask) >> bitsToNotRead);\n this.bitOffset += numBits;\n }\n }\n return result;\n };\n BitStream.prototype.available = function () {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n };\n return BitStream;\n}());\nexports.BitStream = BitStream;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nexports.shiftJISTable = {\n 0x20: 0x0020,\n 0x21: 0x0021,\n 0x22: 0x0022,\n 0x23: 0x0023,\n 0x24: 0x0024,\n 0x25: 0x0025,\n 0x26: 0x0026,\n 0x27: 0x0027,\n 0x28: 0x0028,\n 0x29: 0x0029,\n 0x2A: 0x002A,\n 0x2B: 0x002B,\n 0x2C: 0x002C,\n 0x2D: 0x002D,\n 0x2E: 0x002E,\n 0x2F: 0x002F,\n 0x30: 0x0030,\n 0x31: 0x0031,\n 0x32: 0x0032,\n 0x33: 0x0033,\n 0x34: 0x0034,\n 0x35: 0x0035,\n 0x36: 0x0036,\n 0x37: 0x0037,\n 0x38: 0x0038,\n 0x39: 0x0039,\n 0x3A: 0x003A,\n 0x3B: 0x003B,\n 0x3C: 0x003C,\n 0x3D: 0x003D,\n 0x3E: 0x003E,\n 0x3F: 0x003F,\n 0x40: 0x0040,\n 0x41: 0x0041,\n 0x42: 0x0042,\n 0x43: 0x0043,\n 0x44: 0x0044,\n 0x45: 0x0045,\n 0x46: 0x0046,\n 0x47: 0x0047,\n 0x48: 0x0048,\n 0x49: 0x0049,\n 0x4A: 0x004A,\n 0x4B: 0x004B,\n 0x4C: 0x004C,\n 0x4D: 0x004D,\n 0x4E: 0x004E,\n 0x4F: 0x004F,\n 0x50: 0x0050,\n 0x51: 0x0051,\n 0x52: 0x0052,\n 0x53: 0x0053,\n 0x54: 0x0054,\n 0x55: 0x0055,\n 0x56: 0x0056,\n 0x57: 0x0057,\n 0x58: 0x0058,\n 0x59: 0x0059,\n 0x5A: 0x005A,\n 0x5B: 0x005B,\n 0x5C: 0x00A5,\n 0x5D: 0x005D,\n 0x5E: 0x005E,\n 0x5F: 0x005F,\n 0x60: 0x0060,\n 0x61: 0x0061,\n 0x62: 0x0062,\n 0x63: 0x0063,\n 0x64: 0x0064,\n 0x65: 0x0065,\n 0x66: 0x0066,\n 0x67: 0x0067,\n 0x68: 0x0068,\n 0x69: 0x0069,\n 0x6A: 0x006A,\n 0x6B: 0x006B,\n 0x6C: 0x006C,\n 0x6D: 0x006D,\n 0x6E: 0x006E,\n 0x6F: 0x006F,\n 0x70: 0x0070,\n 0x71: 0x0071,\n 0x72: 0x0072,\n 0x73: 0x0073,\n 0x74: 0x0074,\n 0x75: 0x0075,\n 0x76: 0x0076,\n 0x77: 0x0077,\n 0x78: 0x0078,\n 0x79: 0x0079,\n 0x7A: 0x007A,\n 0x7B: 0x007B,\n 0x7C: 0x007C,\n 0x7D: 0x007D,\n 0x7E: 0x203E,\n 0x8140: 0x3000,\n 0x8141: 0x3001,\n 0x8142: 0x3002,\n 0x8143: 0xFF0C,\n 0x8144: 0xFF0E,\n 0x8145: 0x30FB,\n 0x8146: 0xFF1A,\n 0x8147: 0xFF1B,\n 0x8148: 0xFF1F,\n 0x8149: 0xFF01,\n 0x814A: 0x309B,\n 0x814B: 0x309C,\n 0x814C: 0x00B4,\n 0x814D: 0xFF40,\n 0x814E: 0x00A8,\n 0x814F: 0xFF3E,\n 0x8150: 0xFFE3,\n 0x8151: 0xFF3F,\n 0x8152: 0x30FD,\n 0x8153: 0x30FE,\n 0x8154: 0x309D,\n 0x8155: 0x309E,\n 0x8156: 0x3003,\n 0x8157: 0x4EDD,\n 0x8158: 0x3005,\n 0x8159: 0x3006,\n 0x815A: 0x3007,\n 0x815B: 0x30FC,\n 0x815C: 0x2015,\n 0x815D: 0x2010,\n 0x815E: 0xFF0F,\n 0x815F: 0x005C,\n 0x8160: 0x301C,\n 0x8161: 0x2016,\n 0x8162: 0xFF5C,\n 0x8163: 0x2026,\n 0x8164: 0x2025,\n 0x8165: 0x2018,\n 0x8166: 0x2019,\n 0x8167: 0x201C,\n 0x8168: 0x201D,\n 0x8169: 0xFF08,\n 0x816A: 0xFF09,\n 0x816B: 0x3014,\n 0x816C: 0x3015,\n 0x816D: 0xFF3B,\n 0x816E: 0xFF3D,\n 0x816F: 0xFF5B,\n 0x8170: 0xFF5D,\n 0x8171: 0x3008,\n 0x8172: 0x3009,\n 0x8173: 0x300A,\n 0x8174: 0x300B,\n 0x8175: 0x300C,\n 0x8176: 0x300D,\n 0x8177: 0x300E,\n 0x8178: 0x300F,\n 0x8179: 0x3010,\n 0x817A: 0x3011,\n 0x817B: 0xFF0B,\n 0x817C: 0x2212,\n 0x817D: 0x00B1,\n 0x817E: 0x00D7,\n 0x8180: 0x00F7,\n 0x8181: 0xFF1D,\n 0x8182: 0x2260,\n 0x8183: 0xFF1C,\n 0x8184: 0xFF1E,\n 0x8185: 0x2266,\n 0x8186: 0x2267,\n 0x8187: 0x221E,\n 0x8188: 0x2234,\n 0x8189: 0x2642,\n 0x818A: 0x2640,\n 0x818B: 0x00B0,\n 0x818C: 0x2032,\n 0x818D: 0x2033,\n 0x818E: 0x2103,\n 0x818F: 0xFFE5,\n 0x8190: 0xFF04,\n 0x8191: 0x00A2,\n 0x8192: 0x00A3,\n 0x8193: 0xFF05,\n 0x8194: 0xFF03,\n 0x8195: 0xFF06,\n 0x8196: 0xFF0A,\n 0x8197: 0xFF20,\n 0x8198: 0x00A7,\n 0x8199: 0x2606,\n 0x819A: 0x2605,\n 0x819B: 0x25CB,\n 0x819C: 0x25CF,\n 0x819D: 0x25CE,\n 0x819E: 0x25C7,\n 0x819F: 0x25C6,\n 0x81A0: 0x25A1,\n 0x81A1: 0x25A0,\n 0x81A2: 0x25B3,\n 0x81A3: 0x25B2,\n 0x81A4: 0x25BD,\n 0x81A5: 0x25BC,\n 0x81A6: 0x203B,\n 0x81A7: 0x3012,\n 0x81A8: 0x2192,\n 0x81A9: 0x2190,\n 0x81AA: 0x2191,\n 0x81AB: 0x2193,\n 0x81AC: 0x3013,\n 0x81B8: 0x2208,\n 0x81B9: 0x220B,\n 0x81BA: 0x2286,\n 0x81BB: 0x2287,\n 0x81BC: 0x2282,\n 0x81BD: 0x2283,\n 0x81BE: 0x222A,\n 0x81BF: 0x2229,\n 0x81C8: 0x2227,\n 0x81C9: 0x2228,\n 0x81CA: 0x00AC,\n 0x81CB: 0x21D2,\n 0x81CC: 0x21D4,\n 0x81CD: 0x2200,\n 0x81CE: 0x2203,\n 0x81DA: 0x2220,\n 0x81DB: 0x22A5,\n 0x81DC: 0x2312,\n 0x81DD: 0x2202,\n 0x81DE: 0x2207,\n 0x81DF: 0x2261,\n 0x81E0: 0x2252,\n 0x81E1: 0x226A,\n 0x81E2: 0x226B,\n 0x81E3: 0x221A,\n 0x81E4: 0x223D,\n 0x81E5: 0x221D,\n 0x81E6: 0x2235,\n 0x81E7: 0x222B,\n 0x81E8: 0x222C,\n 0x81F0: 0x212B,\n 0x81F1: 0x2030,\n 0x81F2: 0x266F,\n 0x81F3: 0x266D,\n 0x81F4: 0x266A,\n 0x81F5: 0x2020,\n 0x81F6: 0x2021,\n 0x81F7: 0x00B6,\n 0x81FC: 0x25EF,\n 0x824F: 0xFF10,\n 0x8250: 0xFF11,\n 0x8251: 0xFF12,\n 0x8252: 0xFF13,\n 0x8253: 0xFF14,\n 0x8254: 0xFF15,\n 0x8255: 0xFF16,\n 0x8256: 0xFF17,\n 0x8257: 0xFF18,\n 0x8258: 0xFF19,\n 0x8260: 0xFF21,\n 0x8261: 0xFF22,\n 0x8262: 0xFF23,\n 0x8263: 0xFF24,\n 0x8264: 0xFF25,\n 0x8265: 0xFF26,\n 0x8266: 0xFF27,\n 0x8267: 0xFF28,\n 0x8268: 0xFF29,\n 0x8269: 0xFF2A,\n 0x826A: 0xFF2B,\n 0x826B: 0xFF2C,\n 0x826C: 0xFF2D,\n 0x826D: 0xFF2E,\n 0x826E: 0xFF2F,\n 0x826F: 0xFF30,\n 0x8270: 0xFF31,\n 0x8271: 0xFF32,\n 0x8272: 0xFF33,\n 0x8273: 0xFF34,\n 0x8274: 0xFF35,\n 0x8275: 0xFF36,\n 0x8276: 0xFF37,\n 0x8277: 0xFF38,\n 0x8278: 0xFF39,\n 0x8279: 0xFF3A,\n 0x8281: 0xFF41,\n 0x8282: 0xFF42,\n 0x8283: 0xFF43,\n 0x8284: 0xFF44,\n 0x8285: 0xFF45,\n 0x8286: 0xFF46,\n 0x8287: 0xFF47,\n 0x8288: 0xFF48,\n 0x8289: 0xFF49,\n 0x828A: 0xFF4A,\n 0x828B: 0xFF4B,\n 0x828C: 0xFF4C,\n 0x828D: 0xFF4D,\n 0x828E: 0xFF4E,\n 0x828F: 0xFF4F,\n 0x8290: 0xFF50,\n 0x8291: 0xFF51,\n 0x8292: 0xFF52,\n 0x8293: 0xFF53,\n 0x8294: 0xFF54,\n 0x8295: 0xFF55,\n 0x8296: 0xFF56,\n 0x8297: 0xFF57,\n 0x8298: 0xFF58,\n 0x8299: 0xFF59,\n 0x829A: 0xFF5A,\n 0x829F: 0x3041,\n 0x82A0: 0x3042,\n 0x82A1: 0x3043,\n 0x82A2: 0x3044,\n 0x82A3: 0x3045,\n 0x82A4: 0x3046,\n 0x82A5: 0x3047,\n 0x82A6: 0x3048,\n 0x82A7: 0x3049,\n 0x82A8: 0x304A,\n 0x82A9: 0x304B,\n 0x82AA: 0x304C,\n 0x82AB: 0x304D,\n 0x82AC: 0x304E,\n 0x82AD: 0x304F,\n 0x82AE: 0x3050,\n 0x82AF: 0x3051,\n 0x82B0: 0x3052,\n 0x82B1: 0x3053,\n 0x82B2: 0x3054,\n 0x82B3: 0x3055,\n 0x82B4: 0x3056,\n 0x82B5: 0x3057,\n 0x82B6: 0x3058,\n 0x82B7: 0x3059,\n 0x82B8: 0x305A,\n 0x82B9: 0x305B,\n 0x82BA: 0x305C,\n 0x82BB: 0x305D,\n 0x82BC: 0x305E,\n 0x82BD: 0x305F,\n 0x82BE: 0x3060,\n 0x82BF: 0x3061,\n 0x82C0: 0x3062,\n 0x82C1: 0x3063,\n 0x82C2: 0x3064,\n 0x82C3: 0x3065,\n 0x82C4: 0x3066,\n 0x82C5: 0x3067,\n 0x82C6: 0x3068,\n 0x82C7: 0x3069,\n 0x82C8: 0x306A,\n 0x82C9: 0x306B,\n 0x82CA: 0x306C,\n 0x82CB: 0x306D,\n 0x82CC: 0x306E,\n 0x82CD: 0x306F,\n 0x82CE: 0x3070,\n 0x82CF: 0x3071,\n 0x82D0: 0x3072,\n 0x82D1: 0x3073,\n 0x82D2: 0x3074,\n 0x82D3: 0x3075,\n 0x82D4: 0x3076,\n 0x82D5: 0x3077,\n 0x82D6: 0x3078,\n 0x82D7: 0x3079,\n 0x82D8: 0x307A,\n 0x82D9: 0x307B,\n 0x82DA: 0x307C,\n 0x82DB: 0x307D,\n 0x82DC: 0x307E,\n 0x82DD: 0x307F,\n 0x82DE: 0x3080,\n 0x82DF: 0x3081,\n 0x82E0: 0x3082,\n 0x82E1: 0x3083,\n 0x82E2: 0x3084,\n 0x82E3: 0x3085,\n 0x82E4: 0x3086,\n 0x82E5: 0x3087,\n 0x82E6: 0x3088,\n 0x82E7: 0x3089,\n 0x82E8: 0x308A,\n 0x82E9: 0x308B,\n 0x82EA: 0x308C,\n 0x82EB: 0x308D,\n 0x82EC: 0x308E,\n 0x82ED: 0x308F,\n 0x82EE: 0x3090,\n 0x82EF: 0x3091,\n 0x82F0: 0x3092,\n 0x82F1: 0x3093,\n 0x8340: 0x30A1,\n 0x8341: 0x30A2,\n 0x8342: 0x30A3,\n 0x8343: 0x30A4,\n 0x8344: 0x30A5,\n 0x8345: 0x30A6,\n 0x8346: 0x30A7,\n 0x8347: 0x30A8,\n 0x8348: 0x30A9,\n 0x8349: 0x30AA,\n 0x834A: 0x30AB,\n 0x834B: 0x30AC,\n 0x834C: 0x30AD,\n 0x834D: 0x30AE,\n 0x834E: 0x30AF,\n 0x834F: 0x30B0,\n 0x8350: 0x30B1,\n 0x8351: 0x30B2,\n 0x8352: 0x30B3,\n 0x8353: 0x30B4,\n 0x8354: 0x30B5,\n 0x8355: 0x30B6,\n 0x8356: 0x30B7,\n 0x8357: 0x30B8,\n 0x8358: 0x30B9,\n 0x8359: 0x30BA,\n 0x835A: 0x30BB,\n 0x835B: 0x30BC,\n 0x835C: 0x30BD,\n 0x835D: 0x30BE,\n 0x835E: 0x30BF,\n 0x835F: 0x30C0,\n 0x8360: 0x30C1,\n 0x8361: 0x30C2,\n 0x8362: 0x30C3,\n 0x8363: 0x30C4,\n 0x8364: 0x30C5,\n 0x8365: 0x30C6,\n 0x8366: 0x30C7,\n 0x8367: 0x30C8,\n 0x8368: 0x30C9,\n 0x8369: 0x30CA,\n 0x836A: 0x30CB,\n 0x836B: 0x30CC,\n 0x836C: 0x30CD,\n 0x836D: 0x30CE,\n 0x836E: 0x30CF,\n 0x836F: 0x30D0,\n 0x8370: 0x30D1,\n 0x8371: 0x30D2,\n 0x8372: 0x30D3,\n 0x8373: 0x30D4,\n 0x8374: 0x30D5,\n 0x8375: 0x30D6,\n 0x8376: 0x30D7,\n 0x8377: 0x30D8,\n 0x8378: 0x30D9,\n 0x8379: 0x30DA,\n 0x837A: 0x30DB,\n 0x837B: 0x30DC,\n 0x837C: 0x30DD,\n 0x837D: 0x30DE,\n 0x837E: 0x30DF,\n 0x8380: 0x30E0,\n 0x8381: 0x30E1,\n 0x8382: 0x30E2,\n 0x8383: 0x30E3,\n 0x8384: 0x30E4,\n 0x8385: 0x30E5,\n 0x8386: 0x30E6,\n 0x8387: 0x30E7,\n 0x8388: 0x30E8,\n 0x8389: 0x30E9,\n 0x838A: 0x30EA,\n 0x838B: 0x30EB,\n 0x838C: 0x30EC,\n 0x838D: 0x30ED,\n 0x838E: 0x30EE,\n 0x838F: 0x30EF,\n 0x8390: 0x30F0,\n 0x8391: 0x30F1,\n 0x8392: 0x30F2,\n 0x8393: 0x30F3,\n 0x8394: 0x30F4,\n 0x8395: 0x30F5,\n 0x8396: 0x30F6,\n 0x839F: 0x0391,\n 0x83A0: 0x0392,\n 0x83A1: 0x0393,\n 0x83A2: 0x0394,\n 0x83A3: 0x0395,\n 0x83A4: 0x0396,\n 0x83A5: 0x0397,\n 0x83A6: 0x0398,\n 0x83A7: 0x0399,\n 0x83A8: 0x039A,\n 0x83A9: 0x039B,\n 0x83AA: 0x039C,\n 0x83AB: 0x039D,\n 0x83AC: 0x039E,\n 0x83AD: 0x039F,\n 0x83AE: 0x03A0,\n 0x83AF: 0x03A1,\n 0x83B0: 0x03A3,\n 0x83B1: 0x03A4,\n 0x83B2: 0x03A5,\n 0x83B3: 0x03A6,\n 0x83B4: 0x03A7,\n 0x83B5: 0x03A8,\n 0x83B6: 0x03A9,\n 0x83BF: 0x03B1,\n 0x83C0: 0x03B2,\n 0x83C1: 0x03B3,\n 0x83C2: 0x03B4,\n 0x83C3: 0x03B5,\n 0x83C4: 0x03B6,\n 0x83C5: 0x03B7,\n 0x83C6: 0x03B8,\n 0x83C7: 0x03B9,\n 0x83C8: 0x03BA,\n 0x83C9: 0x03BB,\n 0x83CA: 0x03BC,\n 0x83CB: 0x03BD,\n 0x83CC: 0x03BE,\n 0x83CD: 0x03BF,\n 0x83CE: 0x03C0,\n 0x83CF: 0x03C1,\n 0x83D0: 0x03C3,\n 0x83D1: 0x03C4,\n 0x83D2: 0x03C5,\n 0x83D3: 0x03C6,\n 0x83D4: 0x03C7,\n 0x83D5: 0x03C8,\n 0x83D6: 0x03C9,\n 0x8440: 0x0410,\n 0x8441: 0x0411,\n 0x8442: 0x0412,\n 0x8443: 0x0413,\n 0x8444: 0x0414,\n 0x8445: 0x0415,\n 0x8446: 0x0401,\n 0x8447: 0x0416,\n 0x8448: 0x0417,\n 0x8449: 0x0418,\n 0x844A: 0x0419,\n 0x844B: 0x041A,\n 0x844C: 0x041B,\n 0x844D: 0x041C,\n 0x844E: 0x041D,\n 0x844F: 0x041E,\n 0x8450: 0x041F,\n 0x8451: 0x0420,\n 0x8452: 0x0421,\n 0x8453: 0x0422,\n 0x8454: 0x0423,\n 0x8455: 0x0424,\n 0x8456: 0x0425,\n 0x8457: 0x0426,\n 0x8458: 0x0427,\n 0x8459: 0x0428,\n 0x845A: 0x0429,\n 0x845B: 0x042A,\n 0x845C: 0x042B,\n 0x845D: 0x042C,\n 0x845E: 0x042D,\n 0x845F: 0x042E,\n 0x8460: 0x042F,\n 0x8470: 0x0430,\n 0x8471: 0x0431,\n 0x8472: 0x0432,\n 0x8473: 0x0433,\n 0x8474: 0x0434,\n 0x8475: 0x0435,\n 0x8476: 0x0451,\n 0x8477: 0x0436,\n 0x8478: 0x0437,\n 0x8479: 0x0438,\n 0x847A: 0x0439,\n 0x847B: 0x043A,\n 0x847C: 0x043B,\n 0x847D: 0x043C,\n 0x847E: 0x043D,\n 0x8480: 0x043E,\n 0x8481: 0x043F,\n 0x8482: 0x0440,\n 0x8483: 0x0441,\n 0x8484: 0x0442,\n 0x8485: 0x0443,\n 0x8486: 0x0444,\n 0x8487: 0x0445,\n 0x8488: 0x0446,\n 0x8489: 0x0447,\n 0x848A: 0x0448,\n 0x848B: 0x0449,\n 0x848C: 0x044A,\n 0x848D: 0x044B,\n 0x848E: 0x044C,\n 0x848F: 0x044D,\n 0x8490: 0x044E,\n 0x8491: 0x044F,\n 0x849F: 0x2500,\n 0x84A0: 0x2502,\n 0x84A1: 0x250C,\n 0x84A2: 0x2510,\n 0x84A3: 0x2518,\n 0x84A4: 0x2514,\n 0x84A5: 0x251C,\n 0x84A6: 0x252C,\n 0x84A7: 0x2524,\n 0x84A8: 0x2534,\n 0x84A9: 0x253C,\n 0x84AA: 0x2501,\n 0x84AB: 0x2503,\n 0x84AC: 0x250F,\n 0x84AD: 0x2513,\n 0x84AE: 0x251B,\n 0x84AF: 0x2517,\n 0x84B0: 0x2523,\n 0x84B1: 0x2533,\n 0x84B2: 0x252B,\n 0x84B3: 0x253B,\n 0x84B4: 0x254B,\n 0x84B5: 0x2520,\n 0x84B6: 0x252F,\n 0x84B7: 0x2528,\n 0x84B8: 0x2537,\n 0x84B9: 0x253F,\n 0x84BA: 0x251D,\n 0x84BB: 0x2530,\n 0x84BC: 0x2525,\n 0x84BD: 0x2538,\n 0x84BE: 0x2542,\n 0x889F: 0x4E9C,\n 0x88A0: 0x5516,\n 0x88A1: 0x5A03,\n 0x88A2: 0x963F,\n 0x88A3: 0x54C0,\n 0x88A4: 0x611B,\n 0x88A5: 0x6328,\n 0x88A6: 0x59F6,\n 0x88A7: 0x9022,\n 0x88A8: 0x8475,\n 0x88A9: 0x831C,\n 0x88AA: 0x7A50,\n 0x88AB: 0x60AA,\n 0x88AC: 0x63E1,\n 0x88AD: 0x6E25,\n 0x88AE: 0x65ED,\n 0x88AF: 0x8466,\n 0x88B0: 0x82A6,\n 0x88B1: 0x9BF5,\n 0x88B2: 0x6893,\n 0x88B3: 0x5727,\n 0x88B4: 0x65A1,\n 0x88B5: 0x6271,\n 0x88B6: 0x5B9B,\n 0x88B7: 0x59D0,\n 0x88B8: 0x867B,\n 0x88B9: 0x98F4,\n 0x88BA: 0x7D62,\n 0x88BB: 0x7DBE,\n 0x88BC: 0x9B8E,\n 0x88BD: 0x6216,\n 0x88BE: 0x7C9F,\n 0x88BF: 0x88B7,\n 0x88C0: 0x5B89,\n 0x88C1: 0x5EB5,\n 0x88C2: 0x6309,\n 0x88C3: 0x6697,\n 0x88C4: 0x6848,\n 0x88C5: 0x95C7,\n 0x88C6: 0x978D,\n 0x88C7: 0x674F,\n 0x88C8: 0x4EE5,\n 0x88C9: 0x4F0A,\n 0x88CA: 0x4F4D,\n 0x88CB: 0x4F9D,\n 0x88CC: 0x5049,\n 0x88CD: 0x56F2,\n 0x88CE: 0x5937,\n 0x88CF: 0x59D4,\n 0x88D0: 0x5A01,\n 0x88D1: 0x5C09,\n 0x88D2: 0x60DF,\n 0x88D3: 0x610F,\n 0x88D4: 0x6170,\n 0x88D5: 0x6613,\n 0x88D6: 0x6905,\n 0x88D7: 0x70BA,\n 0x88D8: 0x754F,\n 0x88D9: 0x7570,\n 0x88DA: 0x79FB,\n 0x88DB: 0x7DAD,\n 0x88DC: 0x7DEF,\n 0x88DD: 0x80C3,\n 0x88DE: 0x840E,\n 0x88DF: 0x8863,\n 0x88E0: 0x8B02,\n 0x88E1: 0x9055,\n 0x88E2: 0x907A,\n 0x88E3: 0x533B,\n 0x88E4: 0x4E95,\n 0x88E5: 0x4EA5,\n 0x88E6: 0x57DF,\n 0x88E7: 0x80B2,\n 0x88E8: 0x90C1,\n 0x88E9: 0x78EF,\n 0x88EA: 0x4E00,\n 0x88EB: 0x58F1,\n 0x88EC: 0x6EA2,\n 0x88ED: 0x9038,\n 0x88EE: 0x7A32,\n 0x88EF: 0x8328,\n 0x88F0: 0x828B,\n 0x88F1: 0x9C2F,\n 0x88F2: 0x5141,\n 0x88F3: 0x5370,\n 0x88F4: 0x54BD,\n 0x88F5: 0x54E1,\n 0x88F6: 0x56E0,\n 0x88F7: 0x59FB,\n 0x88F8: 0x5F15,\n 0x88F9: 0x98F2,\n 0x88FA: 0x6DEB,\n 0x88FB: 0x80E4,\n 0x88FC: 0x852D,\n 0x8940: 0x9662,\n 0x8941: 0x9670,\n 0x8942: 0x96A0,\n 0x8943: 0x97FB,\n 0x8944: 0x540B,\n 0x8945: 0x53F3,\n 0x8946: 0x5B87,\n 0x8947: 0x70CF,\n 0x8948: 0x7FBD,\n 0x8949: 0x8FC2,\n 0x894A: 0x96E8,\n 0x894B: 0x536F,\n 0x894C: 0x9D5C,\n 0x894D: 0x7ABA,\n 0x894E: 0x4E11,\n 0x894F: 0x7893,\n 0x8950: 0x81FC,\n 0x8951: 0x6E26,\n 0x8952: 0x5618,\n 0x8953: 0x5504,\n 0x8954: 0x6B1D,\n 0x8955: 0x851A,\n 0x8956: 0x9C3B,\n 0x8957: 0x59E5,\n 0x8958: 0x53A9,\n 0x8959: 0x6D66,\n 0x895A: 0x74DC,\n 0x895B: 0x958F,\n 0x895C: 0x5642,\n 0x895D: 0x4E91,\n 0x895E: 0x904B,\n 0x895F: 0x96F2,\n 0x8960: 0x834F,\n 0x8961: 0x990C,\n 0x8962: 0x53E1,\n 0x8963: 0x55B6,\n 0x8964: 0x5B30,\n 0x8965: 0x5F71,\n 0x8966: 0x6620,\n 0x8967: 0x66F3,\n 0x8968: 0x6804,\n 0x8969: 0x6C38,\n 0x896A: 0x6CF3,\n 0x896B: 0x6D29,\n 0x896C: 0x745B,\n 0x896D: 0x76C8,\n 0x896E: 0x7A4E,\n 0x896F: 0x9834,\n 0x8970: 0x82F1,\n 0x8971: 0x885B,\n 0x8972: 0x8A60,\n 0x8973: 0x92ED,\n 0x8974: 0x6DB2,\n 0x8975: 0x75AB,\n 0x8976: 0x76CA,\n 0x8977: 0x99C5,\n 0x8978: 0x60A6,\n 0x8979: 0x8B01,\n 0x897A: 0x8D8A,\n 0x897B: 0x95B2,\n 0x897C: 0x698E,\n 0x897D: 0x53AD,\n 0x897E: 0x5186,\n 0x8980: 0x5712,\n 0x8981: 0x5830,\n 0x8982: 0x5944,\n 0x8983: 0x5BB4,\n 0x8984: 0x5EF6,\n 0x8985: 0x6028,\n 0x8986: 0x63A9,\n 0x8987: 0x63F4,\n 0x8988: 0x6CBF,\n 0x8989: 0x6F14,\n 0x898A: 0x708E,\n 0x898B: 0x7114,\n 0x898C: 0x7159,\n 0x898D: 0x71D5,\n 0x898E: 0x733F,\n 0x898F: 0x7E01,\n 0x8990: 0x8276,\n 0x8991: 0x82D1,\n 0x8992: 0x8597,\n 0x8993: 0x9060,\n 0x8994: 0x925B,\n 0x8995: 0x9D1B,\n 0x8996: 0x5869,\n 0x8997: 0x65BC,\n 0x8998: 0x6C5A,\n 0x8999: 0x7525,\n 0x899A: 0x51F9,\n 0x899B: 0x592E,\n 0x899C: 0x5965,\n 0x899D: 0x5F80,\n 0x899E: 0x5FDC,\n 0x899F: 0x62BC,\n 0x89A0: 0x65FA,\n 0x89A1: 0x6A2A,\n 0x89A2: 0x6B27,\n 0x89A3: 0x6BB4,\n 0x89A4: 0x738B,\n 0x89A5: 0x7FC1,\n 0x89A6: 0x8956,\n 0x89A7: 0x9D2C,\n 0x89A8: 0x9D0E,\n 0x89A9: 0x9EC4,\n 0x89AA: 0x5CA1,\n 0x89AB: 0x6C96,\n 0x89AC: 0x837B,\n 0x89AD: 0x5104,\n 0x89AE: 0x5C4B,\n 0x89AF: 0x61B6,\n 0x89B0: 0x81C6,\n 0x89B1: 0x6876,\n 0x89B2: 0x7261,\n 0x89B3: 0x4E59,\n 0x89B4: 0x4FFA,\n 0x89B5: 0x5378,\n 0x89B6: 0x6069,\n 0x89B7: 0x6E29,\n 0x89B8: 0x7A4F,\n 0x89B9: 0x97F3,\n 0x89BA: 0x4E0B,\n 0x89BB: 0x5316,\n 0x89BC: 0x4EEE,\n 0x89BD: 0x4F55,\n 0x89BE: 0x4F3D,\n 0x89BF: 0x4FA1,\n 0x89C0: 0x4F73,\n 0x89C1: 0x52A0,\n 0x89C2: 0x53EF,\n 0x89C3: 0x5609,\n 0x89C4: 0x590F,\n 0x89C5: 0x5AC1,\n 0x89C6: 0x5BB6,\n 0x89C7: 0x5BE1,\n 0x89C8: 0x79D1,\n 0x89C9: 0x6687,\n 0x89CA: 0x679C,\n 0x89CB: 0x67B6,\n 0x89CC: 0x6B4C,\n 0x89CD: 0x6CB3,\n 0x89CE: 0x706B,\n 0x89CF: 0x73C2,\n 0x89D0: 0x798D,\n 0x89D1: 0x79BE,\n 0x89D2: 0x7A3C,\n 0x89D3: 0x7B87,\n 0x89D4: 0x82B1,\n 0x89D5: 0x82DB,\n 0x89D6: 0x8304,\n 0x89D7: 0x8377,\n 0x89D8: 0x83EF,\n 0x89D9: 0x83D3,\n 0x89DA: 0x8766,\n 0x89DB: 0x8AB2,\n 0x89DC: 0x5629,\n 0x89DD: 0x8CA8,\n 0x89DE: 0x8FE6,\n 0x89DF: 0x904E,\n 0x89E0: 0x971E,\n 0x89E1: 0x868A,\n 0x89E2: 0x4FC4,\n 0x89E3: 0x5CE8,\n 0x89E4: 0x6211,\n 0x89E5: 0x7259,\n 0x89E6: 0x753B,\n 0x89E7: 0x81E5,\n 0x89E8: 0x82BD,\n 0x89E9: 0x86FE,\n 0x89EA: 0x8CC0,\n 0x89EB: 0x96C5,\n 0x89EC: 0x9913,\n 0x89ED: 0x99D5,\n 0x89EE: 0x4ECB,\n 0x89EF: 0x4F1A,\n 0x89F0: 0x89E3,\n 0x89F1: 0x56DE,\n 0x89F2: 0x584A,\n 0x89F3: 0x58CA,\n 0x89F4: 0x5EFB,\n 0x89F5: 0x5FEB,\n 0x89F6: 0x602A,\n 0x89F7: 0x6094,\n 0x89F8: 0x6062,\n 0x89F9: 0x61D0,\n 0x89FA: 0x6212,\n 0x89FB: 0x62D0,\n 0x89FC: 0x6539,\n 0x8A40: 0x9B41,\n 0x8A41: 0x6666,\n 0x8A42: 0x68B0,\n 0x8A43: 0x6D77,\n 0x8A44: 0x7070,\n 0x8A45: 0x754C,\n 0x8A46: 0x7686,\n 0x8A47: 0x7D75,\n 0x8A48: 0x82A5,\n 0x8A49: 0x87F9,\n 0x8A4A: 0x958B,\n 0x8A4B: 0x968E,\n 0x8A4C: 0x8C9D,\n 0x8A4D: 0x51F1,\n 0x8A4E: 0x52BE,\n 0x8A4F: 0x5916,\n 0x8A50: 0x54B3,\n 0x8A51: 0x5BB3,\n 0x8A52: 0x5D16,\n 0x8A53: 0x6168,\n 0x8A54: 0x6982,\n 0x8A55: 0x6DAF,\n 0x8A56: 0x788D,\n 0x8A57: 0x84CB,\n 0x8A58: 0x8857,\n 0x8A59: 0x8A72,\n 0x8A5A: 0x93A7,\n 0x8A5B: 0x9AB8,\n 0x8A5C: 0x6D6C,\n 0x8A5D: 0x99A8,\n 0x8A5E: 0x86D9,\n 0x8A5F: 0x57A3,\n 0x8A60: 0x67FF,\n 0x8A61: 0x86CE,\n 0x8A62: 0x920E,\n 0x8A63: 0x5283,\n 0x8A64: 0x5687,\n 0x8A65: 0x5404,\n 0x8A66: 0x5ED3,\n 0x8A67: 0x62E1,\n 0x8A68: 0x64B9,\n 0x8A69: 0x683C,\n 0x8A6A: 0x6838,\n 0x8A6B: 0x6BBB,\n 0x8A6C: 0x7372,\n 0x8A6D: 0x78BA,\n 0x8A6E: 0x7A6B,\n 0x8A6F: 0x899A,\n 0x8A70: 0x89D2,\n 0x8A71: 0x8D6B,\n 0x8A72: 0x8F03,\n 0x8A73: 0x90ED,\n 0x8A74: 0x95A3,\n 0x8A75: 0x9694,\n 0x8A76: 0x9769,\n 0x8A77: 0x5B66,\n 0x8A78: 0x5CB3,\n 0x8A79: 0x697D,\n 0x8A7A: 0x984D,\n 0x8A7B: 0x984E,\n 0x8A7C: 0x639B,\n 0x8A7D: 0x7B20,\n 0x8A7E: 0x6A2B,\n 0x8A80: 0x6A7F,\n 0x8A81: 0x68B6,\n 0x8A82: 0x9C0D,\n 0x8A83: 0x6F5F,\n 0x8A84: 0x5272,\n 0x8A85: 0x559D,\n 0x8A86: 0x6070,\n 0x8A87: 0x62EC,\n 0x8A88: 0x6D3B,\n 0x8A89: 0x6E07,\n 0x8A8A: 0x6ED1,\n 0x8A8B: 0x845B,\n 0x8A8C: 0x8910,\n 0x8A8D: 0x8F44,\n 0x8A8E: 0x4E14,\n 0x8A8F: 0x9C39,\n 0x8A90: 0x53F6,\n 0x8A91: 0x691B,\n 0x8A92: 0x6A3A,\n 0x8A93: 0x9784,\n 0x8A94: 0x682A,\n 0x8A95: 0x515C,\n 0x8A96: 0x7AC3,\n 0x8A97: 0x84B2,\n 0x8A98: 0x91DC,\n 0x8A99: 0x938C,\n 0x8A9A: 0x565B,\n 0x8A9B: 0x9D28,\n 0x8A9C: 0x6822,\n 0x8A9D: 0x8305,\n 0x8A9E: 0x8431,\n 0x8A9F: 0x7CA5,\n 0x8AA0: 0x5208,\n 0x8AA1: 0x82C5,\n 0x8AA2: 0x74E6,\n 0x8AA3: 0x4E7E,\n 0x8AA4: 0x4F83,\n 0x8AA5: 0x51A0,\n 0x8AA6: 0x5BD2,\n 0x8AA7: 0x520A,\n 0x8AA8: 0x52D8,\n 0x8AA9: 0x52E7,\n 0x8AAA: 0x5DFB,\n 0x8AAB: 0x559A,\n 0x8AAC: 0x582A,\n 0x8AAD: 0x59E6,\n 0x8AAE: 0x5B8C,\n 0x8AAF: 0x5B98,\n 0x8AB0: 0x5BDB,\n 0x8AB1: 0x5E72,\n 0x8AB2: 0x5E79,\n 0x8AB3: 0x60A3,\n 0x8AB4: 0x611F,\n 0x8AB5: 0x6163,\n 0x8AB6: 0x61BE,\n 0x8AB7: 0x63DB,\n 0x8AB8: 0x6562,\n 0x8AB9: 0x67D1,\n 0x8ABA: 0x6853,\n 0x8ABB: 0x68FA,\n 0x8ABC: 0x6B3E,\n 0x8ABD: 0x6B53,\n 0x8ABE: 0x6C57,\n 0x8ABF: 0x6F22,\n 0x8AC0: 0x6F97,\n 0x8AC1: 0x6F45,\n 0x8AC2: 0x74B0,\n 0x8AC3: 0x7518,\n 0x8AC4: 0x76E3,\n 0x8AC5: 0x770B,\n 0x8AC6: 0x7AFF,\n 0x8AC7: 0x7BA1,\n 0x8AC8: 0x7C21,\n 0x8AC9: 0x7DE9,\n 0x8ACA: 0x7F36,\n 0x8ACB: 0x7FF0,\n 0x8ACC: 0x809D,\n 0x8ACD: 0x8266,\n 0x8ACE: 0x839E,\n 0x8ACF: 0x89B3,\n 0x8AD0: 0x8ACC,\n 0x8AD1: 0x8CAB,\n 0x8AD2: 0x9084,\n 0x8AD3: 0x9451,\n 0x8AD4: 0x9593,\n 0x8AD5: 0x9591,\n 0x8AD6: 0x95A2,\n 0x8AD7: 0x9665,\n 0x8AD8: 0x97D3,\n 0x8AD9: 0x9928,\n 0x8ADA: 0x8218,\n 0x8ADB: 0x4E38,\n 0x8ADC: 0x542B,\n 0x8ADD: 0x5CB8,\n 0x8ADE: 0x5DCC,\n 0x8ADF: 0x73A9,\n 0x8AE0: 0x764C,\n 0x8AE1: 0x773C,\n 0x8AE2: 0x5CA9,\n 0x8AE3: 0x7FEB,\n 0x8AE4: 0x8D0B,\n 0x8AE5: 0x96C1,\n 0x8AE6: 0x9811,\n 0x8AE7: 0x9854,\n 0x8AE8: 0x9858,\n 0x8AE9: 0x4F01,\n 0x8AEA: 0x4F0E,\n 0x8AEB: 0x5371,\n 0x8AEC: 0x559C,\n 0x8AED: 0x5668,\n 0x8AEE: 0x57FA,\n 0x8AEF: 0x5947,\n 0x8AF0: 0x5B09,\n 0x8AF1: 0x5BC4,\n 0x8AF2: 0x5C90,\n 0x8AF3: 0x5E0C,\n 0x8AF4: 0x5E7E,\n 0x8AF5: 0x5FCC,\n 0x8AF6: 0x63EE,\n 0x8AF7: 0x673A,\n 0x8AF8: 0x65D7,\n 0x8AF9: 0x65E2,\n 0x8AFA: 0x671F,\n 0x8AFB: 0x68CB,\n 0x8AFC: 0x68C4,\n 0x8B40: 0x6A5F,\n 0x8B41: 0x5E30,\n 0x8B42: 0x6BC5,\n 0x8B43: 0x6C17,\n 0x8B44: 0x6C7D,\n 0x8B45: 0x757F,\n 0x8B46: 0x7948,\n 0x8B47: 0x5B63,\n 0x8B48: 0x7A00,\n 0x8B49: 0x7D00,\n 0x8B4A: 0x5FBD,\n 0x8B4B: 0x898F,\n 0x8B4C: 0x8A18,\n 0x8B4D: 0x8CB4,\n 0x8B4E: 0x8D77,\n 0x8B4F: 0x8ECC,\n 0x8B50: 0x8F1D,\n 0x8B51: 0x98E2,\n 0x8B52: 0x9A0E,\n 0x8B53: 0x9B3C,\n 0x8B54: 0x4E80,\n 0x8B55: 0x507D,\n 0x8B56: 0x5100,\n 0x8B57: 0x5993,\n 0x8B58: 0x5B9C,\n 0x8B59: 0x622F,\n 0x8B5A: 0x6280,\n 0x8B5B: 0x64EC,\n 0x8B5C: 0x6B3A,\n 0x8B5D: 0x72A0,\n 0x8B5E: 0x7591,\n 0x8B5F: 0x7947,\n 0x8B60: 0x7FA9,\n 0x8B61: 0x87FB,\n 0x8B62: 0x8ABC,\n 0x8B63: 0x8B70,\n 0x8B64: 0x63AC,\n 0x8B65: 0x83CA,\n 0x8B66: 0x97A0,\n 0x8B67: 0x5409,\n 0x8B68: 0x5403,\n 0x8B69: 0x55AB,\n 0x8B6A: 0x6854,\n 0x8B6B: 0x6A58,\n 0x8B6C: 0x8A70,\n 0x8B6D: 0x7827,\n 0x8B6E: 0x6775,\n 0x8B6F: 0x9ECD,\n 0x8B70: 0x5374,\n 0x8B71: 0x5BA2,\n 0x8B72: 0x811A,\n 0x8B73: 0x8650,\n 0x8B74: 0x9006,\n 0x8B75: 0x4E18,\n 0x8B76: 0x4E45,\n 0x8B77: 0x4EC7,\n 0x8B78: 0x4F11,\n 0x8B79: 0x53CA,\n 0x8B7A: 0x5438,\n 0x8B7B: 0x5BAE,\n 0x8B7C: 0x5F13,\n 0x8B7D: 0x6025,\n 0x8B7E: 0x6551,\n 0x8B80: 0x673D,\n 0x8B81: 0x6C42,\n 0x8B82: 0x6C72,\n 0x8B83: 0x6CE3,\n 0x8B84: 0x7078,\n 0x8B85: 0x7403,\n 0x8B86: 0x7A76,\n 0x8B87: 0x7AAE,\n 0x8B88: 0x7B08,\n 0x8B89: 0x7D1A,\n 0x8B8A: 0x7CFE,\n 0x8B8B: 0x7D66,\n 0x8B8C: 0x65E7,\n 0x8B8D: 0x725B,\n 0x8B8E: 0x53BB,\n 0x8B8F: 0x5C45,\n 0x8B90: 0x5DE8,\n 0x8B91: 0x62D2,\n 0x8B92: 0x62E0,\n 0x8B93: 0x6319,\n 0x8B94: 0x6E20,\n 0x8B95: 0x865A,\n 0x8B96: 0x8A31,\n 0x8B97: 0x8DDD,\n 0x8B98: 0x92F8,\n 0x8B99: 0x6F01,\n 0x8B9A: 0x79A6,\n 0x8B9B: 0x9B5A,\n 0x8B9C: 0x4EA8,\n 0x8B9D: 0x4EAB,\n 0x8B9E: 0x4EAC,\n 0x8B9F: 0x4F9B,\n 0x8BA0: 0x4FA0,\n 0x8BA1: 0x50D1,\n 0x8BA2: 0x5147,\n 0x8BA3: 0x7AF6,\n 0x8BA4: 0x5171,\n 0x8BA5: 0x51F6,\n 0x8BA6: 0x5354,\n 0x8BA7: 0x5321,\n 0x8BA8: 0x537F,\n 0x8BA9: 0x53EB,\n 0x8BAA: 0x55AC,\n 0x8BAB: 0x5883,\n 0x8BAC: 0x5CE1,\n 0x8BAD: 0x5F37,\n 0x8BAE: 0x5F4A,\n 0x8BAF: 0x602F,\n 0x8BB0: 0x6050,\n 0x8BB1: 0x606D,\n 0x8BB2: 0x631F,\n 0x8BB3: 0x6559,\n 0x8BB4: 0x6A4B,\n 0x8BB5: 0x6CC1,\n 0x8BB6: 0x72C2,\n 0x8BB7: 0x72ED,\n 0x8BB8: 0x77EF,\n 0x8BB9: 0x80F8,\n 0x8BBA: 0x8105,\n 0x8BBB: 0x8208,\n 0x8BBC: 0x854E,\n 0x8BBD: 0x90F7,\n 0x8BBE: 0x93E1,\n 0x8BBF: 0x97FF,\n 0x8BC0: 0x9957,\n 0x8BC1: 0x9A5A,\n 0x8BC2: 0x4EF0,\n 0x8BC3: 0x51DD,\n 0x8BC4: 0x5C2D,\n 0x8BC5: 0x6681,\n 0x8BC6: 0x696D,\n 0x8BC7: 0x5C40,\n 0x8BC8: 0x66F2,\n 0x8BC9: 0x6975,\n 0x8BCA: 0x7389,\n 0x8BCB: 0x6850,\n 0x8BCC: 0x7C81,\n 0x8BCD: 0x50C5,\n 0x8BCE: 0x52E4,\n 0x8BCF: 0x5747,\n 0x8BD0: 0x5DFE,\n 0x8BD1: 0x9326,\n 0x8BD2: 0x65A4,\n 0x8BD3: 0x6B23,\n 0x8BD4: 0x6B3D,\n 0x8BD5: 0x7434,\n 0x8BD6: 0x7981,\n 0x8BD7: 0x79BD,\n 0x8BD8: 0x7B4B,\n 0x8BD9: 0x7DCA,\n 0x8BDA: 0x82B9,\n 0x8BDB: 0x83CC,\n 0x8BDC: 0x887F,\n 0x8BDD: 0x895F,\n 0x8BDE: 0x8B39,\n 0x8BDF: 0x8FD1,\n 0x8BE0: 0x91D1,\n 0x8BE1: 0x541F,\n 0x8BE2: 0x9280,\n 0x8BE3: 0x4E5D,\n 0x8BE4: 0x5036,\n 0x8BE5: 0x53E5,\n 0x8BE6: 0x533A,\n 0x8BE7: 0x72D7,\n 0x8BE8: 0x7396,\n 0x8BE9: 0x77E9,\n 0x8BEA: 0x82E6,\n 0x8BEB: 0x8EAF,\n 0x8BEC: 0x99C6,\n 0x8BED: 0x99C8,\n 0x8BEE: 0x99D2,\n 0x8BEF: 0x5177,\n 0x8BF0: 0x611A,\n 0x8BF1: 0x865E,\n 0x8BF2: 0x55B0,\n 0x8BF3: 0x7A7A,\n 0x8BF4: 0x5076,\n 0x8BF5: 0x5BD3,\n 0x8BF6: 0x9047,\n 0x8BF7: 0x9685,\n 0x8BF8: 0x4E32,\n 0x8BF9: 0x6ADB,\n 0x8BFA: 0x91E7,\n 0x8BFB: 0x5C51,\n 0x8BFC: 0x5C48,\n 0x8C40: 0x6398,\n 0x8C41: 0x7A9F,\n 0x8C42: 0x6C93,\n 0x8C43: 0x9774,\n 0x8C44: 0x8F61,\n 0x8C45: 0x7AAA,\n 0x8C46: 0x718A,\n 0x8C47: 0x9688,\n 0x8C48: 0x7C82,\n 0x8C49: 0x6817,\n 0x8C4A: 0x7E70,\n 0x8C4B: 0x6851,\n 0x8C4C: 0x936C,\n 0x8C4D: 0x52F2,\n 0x8C4E: 0x541B,\n 0x8C4F: 0x85AB,\n 0x8C50: 0x8A13,\n 0x8C51: 0x7FA4,\n 0x8C52: 0x8ECD,\n 0x8C53: 0x90E1,\n 0x8C54: 0x5366,\n 0x8C55: 0x8888,\n 0x8C56: 0x7941,\n 0x8C57: 0x4FC2,\n 0x8C58: 0x50BE,\n 0x8C59: 0x5211,\n 0x8C5A: 0x5144,\n 0x8C5B: 0x5553,\n 0x8C5C: 0x572D,\n 0x8C5D: 0x73EA,\n 0x8C5E: 0x578B,\n 0x8C5F: 0x5951,\n 0x8C60: 0x5F62,\n 0x8C61: 0x5F84,\n 0x8C62: 0x6075,\n 0x8C63: 0x6176,\n 0x8C64: 0x6167,\n 0x8C65: 0x61A9,\n 0x8C66: 0x63B2,\n 0x8C67: 0x643A,\n 0x8C68: 0x656C,\n 0x8C69: 0x666F,\n 0x8C6A: 0x6842,\n 0x8C6B: 0x6E13,\n 0x8C6C: 0x7566,\n 0x8C6D: 0x7A3D,\n 0x8C6E: 0x7CFB,\n 0x8C6F: 0x7D4C,\n 0x8C70: 0x7D99,\n 0x8C71: 0x7E4B,\n 0x8C72: 0x7F6B,\n 0x8C73: 0x830E,\n 0x8C74: 0x834A,\n 0x8C75: 0x86CD,\n 0x8C76: 0x8A08,\n 0x8C77: 0x8A63,\n 0x8C78: 0x8B66,\n 0x8C79: 0x8EFD,\n 0x8C7A: 0x981A,\n 0x8C7B: 0x9D8F,\n 0x8C7C: 0x82B8,\n 0x8C7D: 0x8FCE,\n 0x8C7E: 0x9BE8,\n 0x8C80: 0x5287,\n 0x8C81: 0x621F,\n 0x8C82: 0x6483,\n 0x8C83: 0x6FC0,\n 0x8C84: 0x9699,\n 0x8C85: 0x6841,\n 0x8C86: 0x5091,\n 0x8C87: 0x6B20,\n 0x8C88: 0x6C7A,\n 0x8C89: 0x6F54,\n 0x8C8A: 0x7A74,\n 0x8C8B: 0x7D50,\n 0x8C8C: 0x8840,\n 0x8C8D: 0x8A23,\n 0x8C8E: 0x6708,\n 0x8C8F: 0x4EF6,\n 0x8C90: 0x5039,\n 0x8C91: 0x5026,\n 0x8C92: 0x5065,\n 0x8C93: 0x517C,\n 0x8C94: 0x5238,\n 0x8C95: 0x5263,\n 0x8C96: 0x55A7,\n 0x8C97: 0x570F,\n 0x8C98: 0x5805,\n 0x8C99: 0x5ACC,\n 0x8C9A: 0x5EFA,\n 0x8C9B: 0x61B2,\n 0x8C9C: 0x61F8,\n 0x8C9D: 0x62F3,\n 0x8C9E: 0x6372,\n 0x8C9F: 0x691C,\n 0x8CA0: 0x6A29,\n 0x8CA1: 0x727D,\n 0x8CA2: 0x72AC,\n 0x8CA3: 0x732E,\n 0x8CA4: 0x7814,\n 0x8CA5: 0x786F,\n 0x8CA6: 0x7D79,\n 0x8CA7: 0x770C,\n 0x8CA8: 0x80A9,\n 0x8CA9: 0x898B,\n 0x8CAA: 0x8B19,\n 0x8CAB: 0x8CE2,\n 0x8CAC: 0x8ED2,\n 0x8CAD: 0x9063,\n 0x8CAE: 0x9375,\n 0x8CAF: 0x967A,\n 0x8CB0: 0x9855,\n 0x8CB1: 0x9A13,\n 0x8CB2: 0x9E78,\n 0x8CB3: 0x5143,\n 0x8CB4: 0x539F,\n 0x8CB5: 0x53B3,\n 0x8CB6: 0x5E7B,\n 0x8CB7: 0x5F26,\n 0x8CB8: 0x6E1B,\n 0x8CB9: 0x6E90,\n 0x8CBA: 0x7384,\n 0x8CBB: 0x73FE,\n 0x8CBC: 0x7D43,\n 0x8CBD: 0x8237,\n 0x8CBE: 0x8A00,\n 0x8CBF: 0x8AFA,\n 0x8CC0: 0x9650,\n 0x8CC1: 0x4E4E,\n 0x8CC2: 0x500B,\n 0x8CC3: 0x53E4,\n 0x8CC4: 0x547C,\n 0x8CC5: 0x56FA,\n 0x8CC6: 0x59D1,\n 0x8CC7: 0x5B64,\n 0x8CC8: 0x5DF1,\n 0x8CC9: 0x5EAB,\n 0x8CCA: 0x5F27,\n 0x8CCB: 0x6238,\n 0x8CCC: 0x6545,\n 0x8CCD: 0x67AF,\n 0x8CCE: 0x6E56,\n 0x8CCF: 0x72D0,\n 0x8CD0: 0x7CCA,\n 0x8CD1: 0x88B4,\n 0x8CD2: 0x80A1,\n 0x8CD3: 0x80E1,\n 0x8CD4: 0x83F0,\n 0x8CD5: 0x864E,\n 0x8CD6: 0x8A87,\n 0x8CD7: 0x8DE8,\n 0x8CD8: 0x9237,\n 0x8CD9: 0x96C7,\n 0x8CDA: 0x9867,\n 0x8CDB: 0x9F13,\n 0x8CDC: 0x4E94,\n 0x8CDD: 0x4E92,\n 0x8CDE: 0x4F0D,\n 0x8CDF: 0x5348,\n 0x8CE0: 0x5449,\n 0x8CE1: 0x543E,\n 0x8CE2: 0x5A2F,\n 0x8CE3: 0x5F8C,\n 0x8CE4: 0x5FA1,\n 0x8CE5: 0x609F,\n 0x8CE6: 0x68A7,\n 0x8CE7: 0x6A8E,\n 0x8CE8: 0x745A,\n 0x8CE9: 0x7881,\n 0x8CEA: 0x8A9E,\n 0x8CEB: 0x8AA4,\n 0x8CEC: 0x8B77,\n 0x8CED: 0x9190,\n 0x8CEE: 0x4E5E,\n 0x8CEF: 0x9BC9,\n 0x8CF0: 0x4EA4,\n 0x8CF1: 0x4F7C,\n 0x8CF2: 0x4FAF,\n 0x8CF3: 0x5019,\n 0x8CF4: 0x5016,\n 0x8CF5: 0x5149,\n 0x8CF6: 0x516C,\n 0x8CF7: 0x529F,\n 0x8CF8: 0x52B9,\n 0x8CF9: 0x52FE,\n 0x8CFA: 0x539A,\n 0x8CFB: 0x53E3,\n 0x8CFC: 0x5411,\n 0x8D40: 0x540E,\n 0x8D41: 0x5589,\n 0x8D42: 0x5751,\n 0x8D43: 0x57A2,\n 0x8D44: 0x597D,\n 0x8D45: 0x5B54,\n 0x8D46: 0x5B5D,\n 0x8D47: 0x5B8F,\n 0x8D48: 0x5DE5,\n 0x8D49: 0x5DE7,\n 0x8D4A: 0x5DF7,\n 0x8D4B: 0x5E78,\n 0x8D4C: 0x5E83,\n 0x8D4D: 0x5E9A,\n 0x8D4E: 0x5EB7,\n 0x8D4F: 0x5F18,\n 0x8D50: 0x6052,\n 0x8D51: 0x614C,\n 0x8D52: 0x6297,\n 0x8D53: 0x62D8,\n 0x8D54: 0x63A7,\n 0x8D55: 0x653B,\n 0x8D56: 0x6602,\n 0x8D57: 0x6643,\n 0x8D58: 0x66F4,\n 0x8D59: 0x676D,\n 0x8D5A: 0x6821,\n 0x8D5B: 0x6897,\n 0x8D5C: 0x69CB,\n 0x8D5D: 0x6C5F,\n 0x8D5E: 0x6D2A,\n 0x8D5F: 0x6D69,\n 0x8D60: 0x6E2F,\n 0x8D61: 0x6E9D,\n 0x8D62: 0x7532,\n 0x8D63: 0x7687,\n 0x8D64: 0x786C,\n 0x8D65: 0x7A3F,\n 0x8D66: 0x7CE0,\n 0x8D67: 0x7D05,\n 0x8D68: 0x7D18,\n 0x8D69: 0x7D5E,\n 0x8D6A: 0x7DB1,\n 0x8D6B: 0x8015,\n 0x8D6C: 0x8003,\n 0x8D6D: 0x80AF,\n 0x8D6E: 0x80B1,\n 0x8D6F: 0x8154,\n 0x8D70: 0x818F,\n 0x8D71: 0x822A,\n 0x8D72: 0x8352,\n 0x8D73: 0x884C,\n 0x8D74: 0x8861,\n 0x8D75: 0x8B1B,\n 0x8D76: 0x8CA2,\n 0x8D77: 0x8CFC,\n 0x8D78: 0x90CA,\n 0x8D79: 0x9175,\n 0x8D7A: 0x9271,\n 0x8D7B: 0x783F,\n 0x8D7C: 0x92FC,\n 0x8D7D: 0x95A4,\n 0x8D7E: 0x964D,\n 0x8D80: 0x9805,\n 0x8D81: 0x9999,\n 0x8D82: 0x9AD8,\n 0x8D83: 0x9D3B,\n 0x8D84: 0x525B,\n 0x8D85: 0x52AB,\n 0x8D86: 0x53F7,\n 0x8D87: 0x5408,\n 0x8D88: 0x58D5,\n 0x8D89: 0x62F7,\n 0x8D8A: 0x6FE0,\n 0x8D8B: 0x8C6A,\n 0x8D8C: 0x8F5F,\n 0x8D8D: 0x9EB9,\n 0x8D8E: 0x514B,\n 0x8D8F: 0x523B,\n 0x8D90: 0x544A,\n 0x8D91: 0x56FD,\n 0x8D92: 0x7A40,\n 0x8D93: 0x9177,\n 0x8D94: 0x9D60,\n 0x8D95: 0x9ED2,\n 0x8D96: 0x7344,\n 0x8D97: 0x6F09,\n 0x8D98: 0x8170,\n 0x8D99: 0x7511,\n 0x8D9A: 0x5FFD,\n 0x8D9B: 0x60DA,\n 0x8D9C: 0x9AA8,\n 0x8D9D: 0x72DB,\n 0x8D9E: 0x8FBC,\n 0x8D9F: 0x6B64,\n 0x8DA0: 0x9803,\n 0x8DA1: 0x4ECA,\n 0x8DA2: 0x56F0,\n 0x8DA3: 0x5764,\n 0x8DA4: 0x58BE,\n 0x8DA5: 0x5A5A,\n 0x8DA6: 0x6068,\n 0x8DA7: 0x61C7,\n 0x8DA8: 0x660F,\n 0x8DA9: 0x6606,\n 0x8DAA: 0x6839,\n 0x8DAB: 0x68B1,\n 0x8DAC: 0x6DF7,\n 0x8DAD: 0x75D5,\n 0x8DAE: 0x7D3A,\n 0x8DAF: 0x826E,\n 0x8DB0: 0x9B42,\n 0x8DB1: 0x4E9B,\n 0x8DB2: 0x4F50,\n 0x8DB3: 0x53C9,\n 0x8DB4: 0x5506,\n 0x8DB5: 0x5D6F,\n 0x8DB6: 0x5DE6,\n 0x8DB7: 0x5DEE,\n 0x8DB8: 0x67FB,\n 0x8DB9: 0x6C99,\n 0x8DBA: 0x7473,\n 0x8DBB: 0x7802,\n 0x8DBC: 0x8A50,\n 0x8DBD: 0x9396,\n 0x8DBE: 0x88DF,\n 0x8DBF: 0x5750,\n 0x8DC0: 0x5EA7,\n 0x8DC1: 0x632B,\n 0x8DC2: 0x50B5,\n 0x8DC3: 0x50AC,\n 0x8DC4: 0x518D,\n 0x8DC5: 0x6700,\n 0x8DC6: 0x54C9,\n 0x8DC7: 0x585E,\n 0x8DC8: 0x59BB,\n 0x8DC9: 0x5BB0,\n 0x8DCA: 0x5F69,\n 0x8DCB: 0x624D,\n 0x8DCC: 0x63A1,\n 0x8DCD: 0x683D,\n 0x8DCE: 0x6B73,\n 0x8DCF: 0x6E08,\n 0x8DD0: 0x707D,\n 0x8DD1: 0x91C7,\n 0x8DD2: 0x7280,\n 0x8DD3: 0x7815,\n 0x8DD4: 0x7826,\n 0x8DD5: 0x796D,\n 0x8DD6: 0x658E,\n 0x8DD7: 0x7D30,\n 0x8DD8: 0x83DC,\n 0x8DD9: 0x88C1,\n 0x8DDA: 0x8F09,\n 0x8DDB: 0x969B,\n 0x8DDC: 0x5264,\n 0x8DDD: 0x5728,\n 0x8DDE: 0x6750,\n 0x8DDF: 0x7F6A,\n 0x8DE0: 0x8CA1,\n 0x8DE1: 0x51B4,\n 0x8DE2: 0x5742,\n 0x8DE3: 0x962A,\n 0x8DE4: 0x583A,\n 0x8DE5: 0x698A,\n 0x8DE6: 0x80B4,\n 0x8DE7: 0x54B2,\n 0x8DE8: 0x5D0E,\n 0x8DE9: 0x57FC,\n 0x8DEA: 0x7895,\n 0x8DEB: 0x9DFA,\n 0x8DEC: 0x4F5C,\n 0x8DED: 0x524A,\n 0x8DEE: 0x548B,\n 0x8DEF: 0x643E,\n 0x8DF0: 0x6628,\n 0x8DF1: 0x6714,\n 0x8DF2: 0x67F5,\n 0x8DF3: 0x7A84,\n 0x8DF4: 0x7B56,\n 0x8DF5: 0x7D22,\n 0x8DF6: 0x932F,\n 0x8DF7: 0x685C,\n 0x8DF8: 0x9BAD,\n 0x8DF9: 0x7B39,\n 0x8DFA: 0x5319,\n 0x8DFB: 0x518A,\n 0x8DFC: 0x5237,\n 0x8E40: 0x5BDF,\n 0x8E41: 0x62F6,\n 0x8E42: 0x64AE,\n 0x8E43: 0x64E6,\n 0x8E44: 0x672D,\n 0x8E45: 0x6BBA,\n 0x8E46: 0x85A9,\n 0x8E47: 0x96D1,\n 0x8E48: 0x7690,\n 0x8E49: 0x9BD6,\n 0x8E4A: 0x634C,\n 0x8E4B: 0x9306,\n 0x8E4C: 0x9BAB,\n 0x8E4D: 0x76BF,\n 0x8E4E: 0x6652,\n 0x8E4F: 0x4E09,\n 0x8E50: 0x5098,\n 0x8E51: 0x53C2,\n 0x8E52: 0x5C71,\n 0x8E53: 0x60E8,\n 0x8E54: 0x6492,\n 0x8E55: 0x6563,\n 0x8E56: 0x685F,\n 0x8E57: 0x71E6,\n 0x8E58: 0x73CA,\n 0x8E59: 0x7523,\n 0x8E5A: 0x7B97,\n 0x8E5B: 0x7E82,\n 0x8E5C: 0x8695,\n 0x8E5D: 0x8B83,\n 0x8E5E: 0x8CDB,\n 0x8E5F: 0x9178,\n 0x8E60: 0x9910,\n 0x8E61: 0x65AC,\n 0x8E62: 0x66AB,\n 0x8E63: 0x6B8B,\n 0x8E64: 0x4ED5,\n 0x8E65: 0x4ED4,\n 0x8E66: 0x4F3A,\n 0x8E67: 0x4F7F,\n 0x8E68: 0x523A,\n 0x8E69: 0x53F8,\n 0x8E6A: 0x53F2,\n 0x8E6B: 0x55E3,\n 0x8E6C: 0x56DB,\n 0x8E6D: 0x58EB,\n 0x8E6E: 0x59CB,\n 0x8E6F: 0x59C9,\n 0x8E70: 0x59FF,\n 0x8E71: 0x5B50,\n 0x8E72: 0x5C4D,\n 0x8E73: 0x5E02,\n 0x8E74: 0x5E2B,\n 0x8E75: 0x5FD7,\n 0x8E76: 0x601D,\n 0x8E77: 0x6307,\n 0x8E78: 0x652F,\n 0x8E79: 0x5B5C,\n 0x8E7A: 0x65AF,\n 0x8E7B: 0x65BD,\n 0x8E7C: 0x65E8,\n 0x8E7D: 0x679D,\n 0x8E7E: 0x6B62,\n 0x8E80: 0x6B7B,\n 0x8E81: 0x6C0F,\n 0x8E82: 0x7345,\n 0x8E83: 0x7949,\n 0x8E84: 0x79C1,\n 0x8E85: 0x7CF8,\n 0x8E86: 0x7D19,\n 0x8E87: 0x7D2B,\n 0x8E88: 0x80A2,\n 0x8E89: 0x8102,\n 0x8E8A: 0x81F3,\n 0x8E8B: 0x8996,\n 0x8E8C: 0x8A5E,\n 0x8E8D: 0x8A69,\n 0x8E8E: 0x8A66,\n 0x8E8F: 0x8A8C,\n 0x8E90: 0x8AEE,\n 0x8E91: 0x8CC7,\n 0x8E92: 0x8CDC,\n 0x8E93: 0x96CC,\n 0x8E94: 0x98FC,\n 0x8E95: 0x6B6F,\n 0x8E96: 0x4E8B,\n 0x8E97: 0x4F3C,\n 0x8E98: 0x4F8D,\n 0x8E99: 0x5150,\n 0x8E9A: 0x5B57,\n 0x8E9B: 0x5BFA,\n 0x8E9C: 0x6148,\n 0x8E9D: 0x6301,\n 0x8E9E: 0x6642,\n 0x8E9F: 0x6B21,\n 0x8EA0: 0x6ECB,\n 0x8EA1: 0x6CBB,\n 0x8EA2: 0x723E,\n 0x8EA3: 0x74BD,\n 0x8EA4: 0x75D4,\n 0x8EA5: 0x78C1,\n 0x8EA6: 0x793A,\n 0x8EA7: 0x800C,\n 0x8EA8: 0x8033,\n 0x8EA9: 0x81EA,\n 0x8EAA: 0x8494,\n 0x8EAB: 0x8F9E,\n 0x8EAC: 0x6C50,\n 0x8EAD: 0x9E7F,\n 0x8EAE: 0x5F0F,\n 0x8EAF: 0x8B58,\n 0x8EB0: 0x9D2B,\n 0x8EB1: 0x7AFA,\n 0x8EB2: 0x8EF8,\n 0x8EB3: 0x5B8D,\n 0x8EB4: 0x96EB,\n 0x8EB5: 0x4E03,\n 0x8EB6: 0x53F1,\n 0x8EB7: 0x57F7,\n 0x8EB8: 0x5931,\n 0x8EB9: 0x5AC9,\n 0x8EBA: 0x5BA4,\n 0x8EBB: 0x6089,\n 0x8EBC: 0x6E7F,\n 0x8EBD: 0x6F06,\n 0x8EBE: 0x75BE,\n 0x8EBF: 0x8CEA,\n 0x8EC0: 0x5B9F,\n 0x8EC1: 0x8500,\n 0x8EC2: 0x7BE0,\n 0x8EC3: 0x5072,\n 0x8EC4: 0x67F4,\n 0x8EC5: 0x829D,\n 0x8EC6: 0x5C61,\n 0x8EC7: 0x854A,\n 0x8EC8: 0x7E1E,\n 0x8EC9: 0x820E,\n 0x8ECA: 0x5199,\n 0x8ECB: 0x5C04,\n 0x8ECC: 0x6368,\n 0x8ECD: 0x8D66,\n 0x8ECE: 0x659C,\n 0x8ECF: 0x716E,\n 0x8ED0: 0x793E,\n 0x8ED1: 0x7D17,\n 0x8ED2: 0x8005,\n 0x8ED3: 0x8B1D,\n 0x8ED4: 0x8ECA,\n 0x8ED5: 0x906E,\n 0x8ED6: 0x86C7,\n 0x8ED7: 0x90AA,\n 0x8ED8: 0x501F,\n 0x8ED9: 0x52FA,\n 0x8EDA: 0x5C3A,\n 0x8EDB: 0x6753,\n 0x8EDC: 0x707C,\n 0x8EDD: 0x7235,\n 0x8EDE: 0x914C,\n 0x8EDF: 0x91C8,\n 0x8EE0: 0x932B,\n 0x8EE1: 0x82E5,\n 0x8EE2: 0x5BC2,\n 0x8EE3: 0x5F31,\n 0x8EE4: 0x60F9,\n 0x8EE5: 0x4E3B,\n 0x8EE6: 0x53D6,\n 0x8EE7: 0x5B88,\n 0x8EE8: 0x624B,\n 0x8EE9: 0x6731,\n 0x8EEA: 0x6B8A,\n 0x8EEB: 0x72E9,\n 0x8EEC: 0x73E0,\n 0x8EED: 0x7A2E,\n 0x8EEE: 0x816B,\n 0x8EEF: 0x8DA3,\n 0x8EF0: 0x9152,\n 0x8EF1: 0x9996,\n 0x8EF2: 0x5112,\n 0x8EF3: 0x53D7,\n 0x8EF4: 0x546A,\n 0x8EF5: 0x5BFF,\n 0x8EF6: 0x6388,\n 0x8EF7: 0x6A39,\n 0x8EF8: 0x7DAC,\n 0x8EF9: 0x9700,\n 0x8EFA: 0x56DA,\n 0x8EFB: 0x53CE,\n 0x8EFC: 0x5468,\n 0x8F40: 0x5B97,\n 0x8F41: 0x5C31,\n 0x8F42: 0x5DDE,\n 0x8F43: 0x4FEE,\n 0x8F44: 0x6101,\n 0x8F45: 0x62FE,\n 0x8F46: 0x6D32,\n 0x8F47: 0x79C0,\n 0x8F48: 0x79CB,\n 0x8F49: 0x7D42,\n 0x8F4A: 0x7E4D,\n 0x8F4B: 0x7FD2,\n 0x8F4C: 0x81ED,\n 0x8F4D: 0x821F,\n 0x8F4E: 0x8490,\n 0x8F4F: 0x8846,\n 0x8F50: 0x8972,\n 0x8F51: 0x8B90,\n 0x8F52: 0x8E74,\n 0x8F53: 0x8F2F,\n 0x8F54: 0x9031,\n 0x8F55: 0x914B,\n 0x8F56: 0x916C,\n 0x8F57: 0x96C6,\n 0x8F58: 0x919C,\n 0x8F59: 0x4EC0,\n 0x8F5A: 0x4F4F,\n 0x8F5B: 0x5145,\n 0x8F5C: 0x5341,\n 0x8F5D: 0x5F93,\n 0x8F5E: 0x620E,\n 0x8F5F: 0x67D4,\n 0x8F60: 0x6C41,\n 0x8F61: 0x6E0B,\n 0x8F62: 0x7363,\n 0x8F63: 0x7E26,\n 0x8F64: 0x91CD,\n 0x8F65: 0x9283,\n 0x8F66: 0x53D4,\n 0x8F67: 0x5919,\n 0x8F68: 0x5BBF,\n 0x8F69: 0x6DD1,\n 0x8F6A: 0x795D,\n 0x8F6B: 0x7E2E,\n 0x8F6C: 0x7C9B,\n 0x8F6D: 0x587E,\n 0x8F6E: 0x719F,\n 0x8F6F: 0x51FA,\n 0x8F70: 0x8853,\n 0x8F71: 0x8FF0,\n 0x8F72: 0x4FCA,\n 0x8F73: 0x5CFB,\n 0x8F74: 0x6625,\n 0x8F75: 0x77AC,\n 0x8F76: 0x7AE3,\n 0x8F77: 0x821C,\n 0x8F78: 0x99FF,\n 0x8F79: 0x51C6,\n 0x8F7A: 0x5FAA,\n 0x8F7B: 0x65EC,\n 0x8F7C: 0x696F,\n 0x8F7D: 0x6B89,\n 0x8F7E: 0x6DF3,\n 0x8F80: 0x6E96,\n 0x8F81: 0x6F64,\n 0x8F82: 0x76FE,\n 0x8F83: 0x7D14,\n 0x8F84: 0x5DE1,\n 0x8F85: 0x9075,\n 0x8F86: 0x9187,\n 0x8F87: 0x9806,\n 0x8F88: 0x51E6,\n 0x8F89: 0x521D,\n 0x8F8A: 0x6240,\n 0x8F8B: 0x6691,\n 0x8F8C: 0x66D9,\n 0x8F8D: 0x6E1A,\n 0x8F8E: 0x5EB6,\n 0x8F8F: 0x7DD2,\n 0x8F90: 0x7F72,\n 0x8F91: 0x66F8,\n 0x8F92: 0x85AF,\n 0x8F93: 0x85F7,\n 0x8F94: 0x8AF8,\n 0x8F95: 0x52A9,\n 0x8F96: 0x53D9,\n 0x8F97: 0x5973,\n 0x8F98: 0x5E8F,\n 0x8F99: 0x5F90,\n 0x8F9A: 0x6055,\n 0x8F9B: 0x92E4,\n 0x8F9C: 0x9664,\n 0x8F9D: 0x50B7,\n 0x8F9E: 0x511F,\n 0x8F9F: 0x52DD,\n 0x8FA0: 0x5320,\n 0x8FA1: 0x5347,\n 0x8FA2: 0x53EC,\n 0x8FA3: 0x54E8,\n 0x8FA4: 0x5546,\n 0x8FA5: 0x5531,\n 0x8FA6: 0x5617,\n 0x8FA7: 0x5968,\n 0x8FA8: 0x59BE,\n 0x8FA9: 0x5A3C,\n 0x8FAA: 0x5BB5,\n 0x8FAB: 0x5C06,\n 0x8FAC: 0x5C0F,\n 0x8FAD: 0x5C11,\n 0x8FAE: 0x5C1A,\n 0x8FAF: 0x5E84,\n 0x8FB0: 0x5E8A,\n 0x8FB1: 0x5EE0,\n 0x8FB2: 0x5F70,\n 0x8FB3: 0x627F,\n 0x8FB4: 0x6284,\n 0x8FB5: 0x62DB,\n 0x8FB6: 0x638C,\n 0x8FB7: 0x6377,\n 0x8FB8: 0x6607,\n 0x8FB9: 0x660C,\n 0x8FBA: 0x662D,\n 0x8FBB: 0x6676,\n 0x8FBC: 0x677E,\n 0x8FBD: 0x68A2,\n 0x8FBE: 0x6A1F,\n 0x8FBF: 0x6A35,\n 0x8FC0: 0x6CBC,\n 0x8FC1: 0x6D88,\n 0x8FC2: 0x6E09,\n 0x8FC3: 0x6E58,\n 0x8FC4: 0x713C,\n 0x8FC5: 0x7126,\n 0x8FC6: 0x7167,\n 0x8FC7: 0x75C7,\n 0x8FC8: 0x7701,\n 0x8FC9: 0x785D,\n 0x8FCA: 0x7901,\n 0x8FCB: 0x7965,\n 0x8FCC: 0x79F0,\n 0x8FCD: 0x7AE0,\n 0x8FCE: 0x7B11,\n 0x8FCF: 0x7CA7,\n 0x8FD0: 0x7D39,\n 0x8FD1: 0x8096,\n 0x8FD2: 0x83D6,\n 0x8FD3: 0x848B,\n 0x8FD4: 0x8549,\n 0x8FD5: 0x885D,\n 0x8FD6: 0x88F3,\n 0x8FD7: 0x8A1F,\n 0x8FD8: 0x8A3C,\n 0x8FD9: 0x8A54,\n 0x8FDA: 0x8A73,\n 0x8FDB: 0x8C61,\n 0x8FDC: 0x8CDE,\n 0x8FDD: 0x91A4,\n 0x8FDE: 0x9266,\n 0x8FDF: 0x937E,\n 0x8FE0: 0x9418,\n 0x8FE1: 0x969C,\n 0x8FE2: 0x9798,\n 0x8FE3: 0x4E0A,\n 0x8FE4: 0x4E08,\n 0x8FE5: 0x4E1E,\n 0x8FE6: 0x4E57,\n 0x8FE7: 0x5197,\n 0x8FE8: 0x5270,\n 0x8FE9: 0x57CE,\n 0x8FEA: 0x5834,\n 0x8FEB: 0x58CC,\n 0x8FEC: 0x5B22,\n 0x8FED: 0x5E38,\n 0x8FEE: 0x60C5,\n 0x8FEF: 0x64FE,\n 0x8FF0: 0x6761,\n 0x8FF1: 0x6756,\n 0x8FF2: 0x6D44,\n 0x8FF3: 0x72B6,\n 0x8FF4: 0x7573,\n 0x8FF5: 0x7A63,\n 0x8FF6: 0x84B8,\n 0x8FF7: 0x8B72,\n 0x8FF8: 0x91B8,\n 0x8FF9: 0x9320,\n 0x8FFA: 0x5631,\n 0x8FFB: 0x57F4,\n 0x8FFC: 0x98FE,\n 0x9040: 0x62ED,\n 0x9041: 0x690D,\n 0x9042: 0x6B96,\n 0x9043: 0x71ED,\n 0x9044: 0x7E54,\n 0x9045: 0x8077,\n 0x9046: 0x8272,\n 0x9047: 0x89E6,\n 0x9048: 0x98DF,\n 0x9049: 0x8755,\n 0x904A: 0x8FB1,\n 0x904B: 0x5C3B,\n 0x904C: 0x4F38,\n 0x904D: 0x4FE1,\n 0x904E: 0x4FB5,\n 0x904F: 0x5507,\n 0x9050: 0x5A20,\n 0x9051: 0x5BDD,\n 0x9052: 0x5BE9,\n 0x9053: 0x5FC3,\n 0x9054: 0x614E,\n 0x9055: 0x632F,\n 0x9056: 0x65B0,\n 0x9057: 0x664B,\n 0x9058: 0x68EE,\n 0x9059: 0x699B,\n 0x905A: 0x6D78,\n 0x905B: 0x6DF1,\n 0x905C: 0x7533,\n 0x905D: 0x75B9,\n 0x905E: 0x771F,\n 0x905F: 0x795E,\n 0x9060: 0x79E6,\n 0x9061: 0x7D33,\n 0x9062: 0x81E3,\n 0x9063: 0x82AF,\n 0x9064: 0x85AA,\n 0x9065: 0x89AA,\n 0x9066: 0x8A3A,\n 0x9067: 0x8EAB,\n 0x9068: 0x8F9B,\n 0x9069: 0x9032,\n 0x906A: 0x91DD,\n 0x906B: 0x9707,\n 0x906C: 0x4EBA,\n 0x906D: 0x4EC1,\n 0x906E: 0x5203,\n 0x906F: 0x5875,\n 0x9070: 0x58EC,\n 0x9071: 0x5C0B,\n 0x9072: 0x751A,\n 0x9073: 0x5C3D,\n 0x9074: 0x814E,\n 0x9075: 0x8A0A,\n 0x9076: 0x8FC5,\n 0x9077: 0x9663,\n 0x9078: 0x976D,\n 0x9079: 0x7B25,\n 0x907A: 0x8ACF,\n 0x907B: 0x9808,\n 0x907C: 0x9162,\n 0x907D: 0x56F3,\n 0x907E: 0x53A8,\n 0x9080: 0x9017,\n 0x9081: 0x5439,\n 0x9082: 0x5782,\n 0x9083: 0x5E25,\n 0x9084: 0x63A8,\n 0x9085: 0x6C34,\n 0x9086: 0x708A,\n 0x9087: 0x7761,\n 0x9088: 0x7C8B,\n 0x9089: 0x7FE0,\n 0x908A: 0x8870,\n 0x908B: 0x9042,\n 0x908C: 0x9154,\n 0x908D: 0x9310,\n 0x908E: 0x9318,\n 0x908F: 0x968F,\n 0x9090: 0x745E,\n 0x9091: 0x9AC4,\n 0x9092: 0x5D07,\n 0x9093: 0x5D69,\n 0x9094: 0x6570,\n 0x9095: 0x67A2,\n 0x9096: 0x8DA8,\n 0x9097: 0x96DB,\n 0x9098: 0x636E,\n 0x9099: 0x6749,\n 0x909A: 0x6919,\n 0x909B: 0x83C5,\n 0x909C: 0x9817,\n 0x909D: 0x96C0,\n 0x909E: 0x88FE,\n 0x909F: 0x6F84,\n 0x90A0: 0x647A,\n 0x90A1: 0x5BF8,\n 0x90A2: 0x4E16,\n 0x90A3: 0x702C,\n 0x90A4: 0x755D,\n 0x90A5: 0x662F,\n 0x90A6: 0x51C4,\n 0x90A7: 0x5236,\n 0x90A8: 0x52E2,\n 0x90A9: 0x59D3,\n 0x90AA: 0x5F81,\n 0x90AB: 0x6027,\n 0x90AC: 0x6210,\n 0x90AD: 0x653F,\n 0x90AE: 0x6574,\n 0x90AF: 0x661F,\n 0x90B0: 0x6674,\n 0x90B1: 0x68F2,\n 0x90B2: 0x6816,\n 0x90B3: 0x6B63,\n 0x90B4: 0x6E05,\n 0x90B5: 0x7272,\n 0x90B6: 0x751F,\n 0x90B7: 0x76DB,\n 0x90B8: 0x7CBE,\n 0x90B9: 0x8056,\n 0x90BA: 0x58F0,\n 0x90BB: 0x88FD,\n 0x90BC: 0x897F,\n 0x90BD: 0x8AA0,\n 0x90BE: 0x8A93,\n 0x90BF: 0x8ACB,\n 0x90C0: 0x901D,\n 0x90C1: 0x9192,\n 0x90C2: 0x9752,\n 0x90C3: 0x9759,\n 0x90C4: 0x6589,\n 0x90C5: 0x7A0E,\n 0x90C6: 0x8106,\n 0x90C7: 0x96BB,\n 0x90C8: 0x5E2D,\n 0x90C9: 0x60DC,\n 0x90CA: 0x621A,\n 0x90CB: 0x65A5,\n 0x90CC: 0x6614,\n 0x90CD: 0x6790,\n 0x90CE: 0x77F3,\n 0x90CF: 0x7A4D,\n 0x90D0: 0x7C4D,\n 0x90D1: 0x7E3E,\n 0x90D2: 0x810A,\n 0x90D3: 0x8CAC,\n 0x90D4: 0x8D64,\n 0x90D5: 0x8DE1,\n 0x90D6: 0x8E5F,\n 0x90D7: 0x78A9,\n 0x90D8: 0x5207,\n 0x90D9: 0x62D9,\n 0x90DA: 0x63A5,\n 0x90DB: 0x6442,\n 0x90DC: 0x6298,\n 0x90DD: 0x8A2D,\n 0x90DE: 0x7A83,\n 0x90DF: 0x7BC0,\n 0x90E0: 0x8AAC,\n 0x90E1: 0x96EA,\n 0x90E2: 0x7D76,\n 0x90E3: 0x820C,\n 0x90E4: 0x8749,\n 0x90E5: 0x4ED9,\n 0x90E6: 0x5148,\n 0x90E7: 0x5343,\n 0x90E8: 0x5360,\n 0x90E9: 0x5BA3,\n 0x90EA: 0x5C02,\n 0x90EB: 0x5C16,\n 0x90EC: 0x5DDD,\n 0x90ED: 0x6226,\n 0x90EE: 0x6247,\n 0x90EF: 0x64B0,\n 0x90F0: 0x6813,\n 0x90F1: 0x6834,\n 0x90F2: 0x6CC9,\n 0x90F3: 0x6D45,\n 0x90F4: 0x6D17,\n 0x90F5: 0x67D3,\n 0x90F6: 0x6F5C,\n 0x90F7: 0x714E,\n 0x90F8: 0x717D,\n 0x90F9: 0x65CB,\n 0x90FA: 0x7A7F,\n 0x90FB: 0x7BAD,\n 0x90FC: 0x7DDA,\n 0x9140: 0x7E4A,\n 0x9141: 0x7FA8,\n 0x9142: 0x817A,\n 0x9143: 0x821B,\n 0x9144: 0x8239,\n 0x9145: 0x85A6,\n 0x9146: 0x8A6E,\n 0x9147: 0x8CCE,\n 0x9148: 0x8DF5,\n 0x9149: 0x9078,\n 0x914A: 0x9077,\n 0x914B: 0x92AD,\n 0x914C: 0x9291,\n 0x914D: 0x9583,\n 0x914E: 0x9BAE,\n 0x914F: 0x524D,\n 0x9150: 0x5584,\n 0x9151: 0x6F38,\n 0x9152: 0x7136,\n 0x9153: 0x5168,\n 0x9154: 0x7985,\n 0x9155: 0x7E55,\n 0x9156: 0x81B3,\n 0x9157: 0x7CCE,\n 0x9158: 0x564C,\n 0x9159: 0x5851,\n 0x915A: 0x5CA8,\n 0x915B: 0x63AA,\n 0x915C: 0x66FE,\n 0x915D: 0x66FD,\n 0x915E: 0x695A,\n 0x915F: 0x72D9,\n 0x9160: 0x758F,\n 0x9161: 0x758E,\n 0x9162: 0x790E,\n 0x9163: 0x7956,\n 0x9164: 0x79DF,\n 0x9165: 0x7C97,\n 0x9166: 0x7D20,\n 0x9167: 0x7D44,\n 0x9168: 0x8607,\n 0x9169: 0x8A34,\n 0x916A: 0x963B,\n 0x916B: 0x9061,\n 0x916C: 0x9F20,\n 0x916D: 0x50E7,\n 0x916E: 0x5275,\n 0x916F: 0x53CC,\n 0x9170: 0x53E2,\n 0x9171: 0x5009,\n 0x9172: 0x55AA,\n 0x9173: 0x58EE,\n 0x9174: 0x594F,\n 0x9175: 0x723D,\n 0x9176: 0x5B8B,\n 0x9177: 0x5C64,\n 0x9178: 0x531D,\n 0x9179: 0x60E3,\n 0x917A: 0x60F3,\n 0x917B: 0x635C,\n 0x917C: 0x6383,\n 0x917D: 0x633F,\n 0x917E: 0x63BB,\n 0x9180: 0x64CD,\n 0x9181: 0x65E9,\n 0x9182: 0x66F9,\n 0x9183: 0x5DE3,\n 0x9184: 0x69CD,\n 0x9185: 0x69FD,\n 0x9186: 0x6F15,\n 0x9187: 0x71E5,\n 0x9188: 0x4E89,\n 0x9189: 0x75E9,\n 0x918A: 0x76F8,\n 0x918B: 0x7A93,\n 0x918C: 0x7CDF,\n 0x918D: 0x7DCF,\n 0x918E: 0x7D9C,\n 0x918F: 0x8061,\n 0x9190: 0x8349,\n 0x9191: 0x8358,\n 0x9192: 0x846C,\n 0x9193: 0x84BC,\n 0x9194: 0x85FB,\n 0x9195: 0x88C5,\n 0x9196: 0x8D70,\n 0x9197: 0x9001,\n 0x9198: 0x906D,\n 0x9199: 0x9397,\n 0x919A: 0x971C,\n 0x919B: 0x9A12,\n 0x919C: 0x50CF,\n 0x919D: 0x5897,\n 0x919E: 0x618E,\n 0x919F: 0x81D3,\n 0x91A0: 0x8535,\n 0x91A1: 0x8D08,\n 0x91A2: 0x9020,\n 0x91A3: 0x4FC3,\n 0x91A4: 0x5074,\n 0x91A5: 0x5247,\n 0x91A6: 0x5373,\n 0x91A7: 0x606F,\n 0x91A8: 0x6349,\n 0x91A9: 0x675F,\n 0x91AA: 0x6E2C,\n 0x91AB: 0x8DB3,\n 0x91AC: 0x901F,\n 0x91AD: 0x4FD7,\n 0x91AE: 0x5C5E,\n 0x91AF: 0x8CCA,\n 0x91B0: 0x65CF,\n 0x91B1: 0x7D9A,\n 0x91B2: 0x5352,\n 0x91B3: 0x8896,\n 0x91B4: 0x5176,\n 0x91B5: 0x63C3,\n 0x91B6: 0x5B58,\n 0x91B7: 0x5B6B,\n 0x91B8: 0x5C0A,\n 0x91B9: 0x640D,\n 0x91BA: 0x6751,\n 0x91BB: 0x905C,\n 0x91BC: 0x4ED6,\n 0x91BD: 0x591A,\n 0x91BE: 0x592A,\n 0x91BF: 0x6C70,\n 0x91C0: 0x8A51,\n 0x91C1: 0x553E,\n 0x91C2: 0x5815,\n 0x91C3: 0x59A5,\n 0x91C4: 0x60F0,\n 0x91C5: 0x6253,\n 0x91C6: 0x67C1,\n 0x91C7: 0x8235,\n 0x91C8: 0x6955,\n 0x91C9: 0x9640,\n 0x91CA: 0x99C4,\n 0x91CB: 0x9A28,\n 0x91CC: 0x4F53,\n 0x91CD: 0x5806,\n 0x91CE: 0x5BFE,\n 0x91CF: 0x8010,\n 0x91D0: 0x5CB1,\n 0x91D1: 0x5E2F,\n 0x91D2: 0x5F85,\n 0x91D3: 0x6020,\n 0x91D4: 0x614B,\n 0x91D5: 0x6234,\n 0x91D6: 0x66FF,\n 0x91D7: 0x6CF0,\n 0x91D8: 0x6EDE,\n 0x91D9: 0x80CE,\n 0x91DA: 0x817F,\n 0x91DB: 0x82D4,\n 0x91DC: 0x888B,\n 0x91DD: 0x8CB8,\n 0x91DE: 0x9000,\n 0x91DF: 0x902E,\n 0x91E0: 0x968A,\n 0x91E1: 0x9EDB,\n 0x91E2: 0x9BDB,\n 0x91E3: 0x4EE3,\n 0x91E4: 0x53F0,\n 0x91E5: 0x5927,\n 0x91E6: 0x7B2C,\n 0x91E7: 0x918D,\n 0x91E8: 0x984C,\n 0x91E9: 0x9DF9,\n 0x91EA: 0x6EDD,\n 0x91EB: 0x7027,\n 0x91EC: 0x5353,\n 0x91ED: 0x5544,\n 0x91EE: 0x5B85,\n 0x91EF: 0x6258,\n 0x91F0: 0x629E,\n 0x91F1: 0x62D3,\n 0x91F2: 0x6CA2,\n 0x91F3: 0x6FEF,\n 0x91F4: 0x7422,\n 0x91F5: 0x8A17,\n 0x91F6: 0x9438,\n 0x91F7: 0x6FC1,\n 0x91F8: 0x8AFE,\n 0x91F9: 0x8338,\n 0x91FA: 0x51E7,\n 0x91FB: 0x86F8,\n 0x91FC: 0x53EA,\n 0x9240: 0x53E9,\n 0x9241: 0x4F46,\n 0x9242: 0x9054,\n 0x9243: 0x8FB0,\n 0x9244: 0x596A,\n 0x9245: 0x8131,\n 0x9246: 0x5DFD,\n 0x9247: 0x7AEA,\n 0x9248: 0x8FBF,\n 0x9249: 0x68DA,\n 0x924A: 0x8C37,\n 0x924B: 0x72F8,\n 0x924C: 0x9C48,\n 0x924D: 0x6A3D,\n 0x924E: 0x8AB0,\n 0x924F: 0x4E39,\n 0x9250: 0x5358,\n 0x9251: 0x5606,\n 0x9252: 0x5766,\n 0x9253: 0x62C5,\n 0x9254: 0x63A2,\n 0x9255: 0x65E6,\n 0x9256: 0x6B4E,\n 0x9257: 0x6DE1,\n 0x9258: 0x6E5B,\n 0x9259: 0x70AD,\n 0x925A: 0x77ED,\n 0x925B: 0x7AEF,\n 0x925C: 0x7BAA,\n 0x925D: 0x7DBB,\n 0x925E: 0x803D,\n 0x925F: 0x80C6,\n 0x9260: 0x86CB,\n 0x9261: 0x8A95,\n 0x9262: 0x935B,\n 0x9263: 0x56E3,\n 0x9264: 0x58C7,\n 0x9265: 0x5F3E,\n 0x9266: 0x65AD,\n 0x9267: 0x6696,\n 0x9268: 0x6A80,\n 0x9269: 0x6BB5,\n 0x926A: 0x7537,\n 0x926B: 0x8AC7,\n 0x926C: 0x5024,\n 0x926D: 0x77E5,\n 0x926E: 0x5730,\n 0x926F: 0x5F1B,\n 0x9270: 0x6065,\n 0x9271: 0x667A,\n 0x9272: 0x6C60,\n 0x9273: 0x75F4,\n 0x9274: 0x7A1A,\n 0x9275: 0x7F6E,\n 0x9276: 0x81F4,\n 0x9277: 0x8718,\n 0x9278: 0x9045,\n 0x9279: 0x99B3,\n 0x927A: 0x7BC9,\n 0x927B: 0x755C,\n 0x927C: 0x7AF9,\n 0x927D: 0x7B51,\n 0x927E: 0x84C4,\n 0x9280: 0x9010,\n 0x9281: 0x79E9,\n 0x9282: 0x7A92,\n 0x9283: 0x8336,\n 0x9284: 0x5AE1,\n 0x9285: 0x7740,\n 0x9286: 0x4E2D,\n 0x9287: 0x4EF2,\n 0x9288: 0x5B99,\n 0x9289: 0x5FE0,\n 0x928A: 0x62BD,\n 0x928B: 0x663C,\n 0x928C: 0x67F1,\n 0x928D: 0x6CE8,\n 0x928E: 0x866B,\n 0x928F: 0x8877,\n 0x9290: 0x8A3B,\n 0x9291: 0x914E,\n 0x9292: 0x92F3,\n 0x9293: 0x99D0,\n 0x9294: 0x6A17,\n 0x9295: 0x7026,\n 0x9296: 0x732A,\n 0x9297: 0x82E7,\n 0x9298: 0x8457,\n 0x9299: 0x8CAF,\n 0x929A: 0x4E01,\n 0x929B: 0x5146,\n 0x929C: 0x51CB,\n 0x929D: 0x558B,\n 0x929E: 0x5BF5,\n 0x929F: 0x5E16,\n 0x92A0: 0x5E33,\n 0x92A1: 0x5E81,\n 0x92A2: 0x5F14,\n 0x92A3: 0x5F35,\n 0x92A4: 0x5F6B,\n 0x92A5: 0x5FB4,\n 0x92A6: 0x61F2,\n 0x92A7: 0x6311,\n 0x92A8: 0x66A2,\n 0x92A9: 0x671D,\n 0x92AA: 0x6F6E,\n 0x92AB: 0x7252,\n 0x92AC: 0x753A,\n 0x92AD: 0x773A,\n 0x92AE: 0x8074,\n 0x92AF: 0x8139,\n 0x92B0: 0x8178,\n 0x92B1: 0x8776,\n 0x92B2: 0x8ABF,\n 0x92B3: 0x8ADC,\n 0x92B4: 0x8D85,\n 0x92B5: 0x8DF3,\n 0x92B6: 0x929A,\n 0x92B7: 0x9577,\n 0x92B8: 0x9802,\n 0x92B9: 0x9CE5,\n 0x92BA: 0x52C5,\n 0x92BB: 0x6357,\n 0x92BC: 0x76F4,\n 0x92BD: 0x6715,\n 0x92BE: 0x6C88,\n 0x92BF: 0x73CD,\n 0x92C0: 0x8CC3,\n 0x92C1: 0x93AE,\n 0x92C2: 0x9673,\n 0x92C3: 0x6D25,\n 0x92C4: 0x589C,\n 0x92C5: 0x690E,\n 0x92C6: 0x69CC,\n 0x92C7: 0x8FFD,\n 0x92C8: 0x939A,\n 0x92C9: 0x75DB,\n 0x92CA: 0x901A,\n 0x92CB: 0x585A,\n 0x92CC: 0x6802,\n 0x92CD: 0x63B4,\n 0x92CE: 0x69FB,\n 0x92CF: 0x4F43,\n 0x92D0: 0x6F2C,\n 0x92D1: 0x67D8,\n 0x92D2: 0x8FBB,\n 0x92D3: 0x8526,\n 0x92D4: 0x7DB4,\n 0x92D5: 0x9354,\n 0x92D6: 0x693F,\n 0x92D7: 0x6F70,\n 0x92D8: 0x576A,\n 0x92D9: 0x58F7,\n 0x92DA: 0x5B2C,\n 0x92DB: 0x7D2C,\n 0x92DC: 0x722A,\n 0x92DD: 0x540A,\n 0x92DE: 0x91E3,\n 0x92DF: 0x9DB4,\n 0x92E0: 0x4EAD,\n 0x92E1: 0x4F4E,\n 0x92E2: 0x505C,\n 0x92E3: 0x5075,\n 0x92E4: 0x5243,\n 0x92E5: 0x8C9E,\n 0x92E6: 0x5448,\n 0x92E7: 0x5824,\n 0x92E8: 0x5B9A,\n 0x92E9: 0x5E1D,\n 0x92EA: 0x5E95,\n 0x92EB: 0x5EAD,\n 0x92EC: 0x5EF7,\n 0x92ED: 0x5F1F,\n 0x92EE: 0x608C,\n 0x92EF: 0x62B5,\n 0x92F0: 0x633A,\n 0x92F1: 0x63D0,\n 0x92F2: 0x68AF,\n 0x92F3: 0x6C40,\n 0x92F4: 0x7887,\n 0x92F5: 0x798E,\n 0x92F6: 0x7A0B,\n 0x92F7: 0x7DE0,\n 0x92F8: 0x8247,\n 0x92F9: 0x8A02,\n 0x92FA: 0x8AE6,\n 0x92FB: 0x8E44,\n 0x92FC: 0x9013,\n 0x9340: 0x90B8,\n 0x9341: 0x912D,\n 0x9342: 0x91D8,\n 0x9343: 0x9F0E,\n 0x9344: 0x6CE5,\n 0x9345: 0x6458,\n 0x9346: 0x64E2,\n 0x9347: 0x6575,\n 0x9348: 0x6EF4,\n 0x9349: 0x7684,\n 0x934A: 0x7B1B,\n 0x934B: 0x9069,\n 0x934C: 0x93D1,\n 0x934D: 0x6EBA,\n 0x934E: 0x54F2,\n 0x934F: 0x5FB9,\n 0x9350: 0x64A4,\n 0x9351: 0x8F4D,\n 0x9352: 0x8FED,\n 0x9353: 0x9244,\n 0x9354: 0x5178,\n 0x9355: 0x586B,\n 0x9356: 0x5929,\n 0x9357: 0x5C55,\n 0x9358: 0x5E97,\n 0x9359: 0x6DFB,\n 0x935A: 0x7E8F,\n 0x935B: 0x751C,\n 0x935C: 0x8CBC,\n 0x935D: 0x8EE2,\n 0x935E: 0x985B,\n 0x935F: 0x70B9,\n 0x9360: 0x4F1D,\n 0x9361: 0x6BBF,\n 0x9362: 0x6FB1,\n 0x9363: 0x7530,\n 0x9364: 0x96FB,\n 0x9365: 0x514E,\n 0x9366: 0x5410,\n 0x9367: 0x5835,\n 0x9368: 0x5857,\n 0x9369: 0x59AC,\n 0x936A: 0x5C60,\n 0x936B: 0x5F92,\n 0x936C: 0x6597,\n 0x936D: 0x675C,\n 0x936E: 0x6E21,\n 0x936F: 0x767B,\n 0x9370: 0x83DF,\n 0x9371: 0x8CED,\n 0x9372: 0x9014,\n 0x9373: 0x90FD,\n 0x9374: 0x934D,\n 0x9375: 0x7825,\n 0x9376: 0x783A,\n 0x9377: 0x52AA,\n 0x9378: 0x5EA6,\n 0x9379: 0x571F,\n 0x937A: 0x5974,\n 0x937B: 0x6012,\n 0x937C: 0x5012,\n 0x937D: 0x515A,\n 0x937E: 0x51AC,\n 0x9380: 0x51CD,\n 0x9381: 0x5200,\n 0x9382: 0x5510,\n 0x9383: 0x5854,\n 0x9384: 0x5858,\n 0x9385: 0x5957,\n 0x9386: 0x5B95,\n 0x9387: 0x5CF6,\n 0x9388: 0x5D8B,\n 0x9389: 0x60BC,\n 0x938A: 0x6295,\n 0x938B: 0x642D,\n 0x938C: 0x6771,\n 0x938D: 0x6843,\n 0x938E: 0x68BC,\n 0x938F: 0x68DF,\n 0x9390: 0x76D7,\n 0x9391: 0x6DD8,\n 0x9392: 0x6E6F,\n 0x9393: 0x6D9B,\n 0x9394: 0x706F,\n 0x9395: 0x71C8,\n 0x9396: 0x5F53,\n 0x9397: 0x75D8,\n 0x9398: 0x7977,\n 0x9399: 0x7B49,\n 0x939A: 0x7B54,\n 0x939B: 0x7B52,\n 0x939C: 0x7CD6,\n 0x939D: 0x7D71,\n 0x939E: 0x5230,\n 0x939F: 0x8463,\n 0x93A0: 0x8569,\n 0x93A1: 0x85E4,\n 0x93A2: 0x8A0E,\n 0x93A3: 0x8B04,\n 0x93A4: 0x8C46,\n 0x93A5: 0x8E0F,\n 0x93A6: 0x9003,\n 0x93A7: 0x900F,\n 0x93A8: 0x9419,\n 0x93A9: 0x9676,\n 0x93AA: 0x982D,\n 0x93AB: 0x9A30,\n 0x93AC: 0x95D8,\n 0x93AD: 0x50CD,\n 0x93AE: 0x52D5,\n 0x93AF: 0x540C,\n 0x93B0: 0x5802,\n 0x93B1: 0x5C0E,\n 0x93B2: 0x61A7,\n 0x93B3: 0x649E,\n 0x93B4: 0x6D1E,\n 0x93B5: 0x77B3,\n 0x93B6: 0x7AE5,\n 0x93B7: 0x80F4,\n 0x93B8: 0x8404,\n 0x93B9: 0x9053,\n 0x93BA: 0x9285,\n 0x93BB: 0x5CE0,\n 0x93BC: 0x9D07,\n 0x93BD: 0x533F,\n 0x93BE: 0x5F97,\n 0x93BF: 0x5FB3,\n 0x93C0: 0x6D9C,\n 0x93C1: 0x7279,\n 0x93C2: 0x7763,\n 0x93C3: 0x79BF,\n 0x93C4: 0x7BE4,\n 0x93C5: 0x6BD2,\n 0x93C6: 0x72EC,\n 0x93C7: 0x8AAD,\n 0x93C8: 0x6803,\n 0x93C9: 0x6A61,\n 0x93CA: 0x51F8,\n 0x93CB: 0x7A81,\n 0x93CC: 0x6934,\n 0x93CD: 0x5C4A,\n 0x93CE: 0x9CF6,\n 0x93CF: 0x82EB,\n 0x93D0: 0x5BC5,\n 0x93D1: 0x9149,\n 0x93D2: 0x701E,\n 0x93D3: 0x5678,\n 0x93D4: 0x5C6F,\n 0x93D5: 0x60C7,\n 0x93D6: 0x6566,\n 0x93D7: 0x6C8C,\n 0x93D8: 0x8C5A,\n 0x93D9: 0x9041,\n 0x93DA: 0x9813,\n 0x93DB: 0x5451,\n 0x93DC: 0x66C7,\n 0x93DD: 0x920D,\n 0x93DE: 0x5948,\n 0x93DF: 0x90A3,\n 0x93E0: 0x5185,\n 0x93E1: 0x4E4D,\n 0x93E2: 0x51EA,\n 0x93E3: 0x8599,\n 0x93E4: 0x8B0E,\n 0x93E5: 0x7058,\n 0x93E6: 0x637A,\n 0x93E7: 0x934B,\n 0x93E8: 0x6962,\n 0x93E9: 0x99B4,\n 0x93EA: 0x7E04,\n 0x93EB: 0x7577,\n 0x93EC: 0x5357,\n 0x93ED: 0x6960,\n 0x93EE: 0x8EDF,\n 0x93EF: 0x96E3,\n 0x93F0: 0x6C5D,\n 0x93F1: 0x4E8C,\n 0x93F2: 0x5C3C,\n 0x93F3: 0x5F10,\n 0x93F4: 0x8FE9,\n 0x93F5: 0x5302,\n 0x93F6: 0x8CD1,\n 0x93F7: 0x8089,\n 0x93F8: 0x8679,\n 0x93F9: 0x5EFF,\n 0x93FA: 0x65E5,\n 0x93FB: 0x4E73,\n 0x93FC: 0x5165,\n 0x9440: 0x5982,\n 0x9441: 0x5C3F,\n 0x9442: 0x97EE,\n 0x9443: 0x4EFB,\n 0x9444: 0x598A,\n 0x9445: 0x5FCD,\n 0x9446: 0x8A8D,\n 0x9447: 0x6FE1,\n 0x9448: 0x79B0,\n 0x9449: 0x7962,\n 0x944A: 0x5BE7,\n 0x944B: 0x8471,\n 0x944C: 0x732B,\n 0x944D: 0x71B1,\n 0x944E: 0x5E74,\n 0x944F: 0x5FF5,\n 0x9450: 0x637B,\n 0x9451: 0x649A,\n 0x9452: 0x71C3,\n 0x9453: 0x7C98,\n 0x9454: 0x4E43,\n 0x9455: 0x5EFC,\n 0x9456: 0x4E4B,\n 0x9457: 0x57DC,\n 0x9458: 0x56A2,\n 0x9459: 0x60A9,\n 0x945A: 0x6FC3,\n 0x945B: 0x7D0D,\n 0x945C: 0x80FD,\n 0x945D: 0x8133,\n 0x945E: 0x81BF,\n 0x945F: 0x8FB2,\n 0x9460: 0x8997,\n 0x9461: 0x86A4,\n 0x9462: 0x5DF4,\n 0x9463: 0x628A,\n 0x9464: 0x64AD,\n 0x9465: 0x8987,\n 0x9466: 0x6777,\n 0x9467: 0x6CE2,\n 0x9468: 0x6D3E,\n 0x9469: 0x7436,\n 0x946A: 0x7834,\n 0x946B: 0x5A46,\n 0x946C: 0x7F75,\n 0x946D: 0x82AD,\n 0x946E: 0x99AC,\n 0x946F: 0x4FF3,\n 0x9470: 0x5EC3,\n 0x9471: 0x62DD,\n 0x9472: 0x6392,\n 0x9473: 0x6557,\n 0x9474: 0x676F,\n 0x9475: 0x76C3,\n 0x9476: 0x724C,\n 0x9477: 0x80CC,\n 0x9478: 0x80BA,\n 0x9479: 0x8F29,\n 0x947A: 0x914D,\n 0x947B: 0x500D,\n 0x947C: 0x57F9,\n 0x947D: 0x5A92,\n 0x947E: 0x6885,\n 0x9480: 0x6973,\n 0x9481: 0x7164,\n 0x9482: 0x72FD,\n 0x9483: 0x8CB7,\n 0x9484: 0x58F2,\n 0x9485: 0x8CE0,\n 0x9486: 0x966A,\n 0x9487: 0x9019,\n 0x9488: 0x877F,\n 0x9489: 0x79E4,\n 0x948A: 0x77E7,\n 0x948B: 0x8429,\n 0x948C: 0x4F2F,\n 0x948D: 0x5265,\n 0x948E: 0x535A,\n 0x948F: 0x62CD,\n 0x9490: 0x67CF,\n 0x9491: 0x6CCA,\n 0x9492: 0x767D,\n 0x9493: 0x7B94,\n 0x9494: 0x7C95,\n 0x9495: 0x8236,\n 0x9496: 0x8584,\n 0x9497: 0x8FEB,\n 0x9498: 0x66DD,\n 0x9499: 0x6F20,\n 0x949A: 0x7206,\n 0x949B: 0x7E1B,\n 0x949C: 0x83AB,\n 0x949D: 0x99C1,\n 0x949E: 0x9EA6,\n 0x949F: 0x51FD,\n 0x94A0: 0x7BB1,\n 0x94A1: 0x7872,\n 0x94A2: 0x7BB8,\n 0x94A3: 0x8087,\n 0x94A4: 0x7B48,\n 0x94A5: 0x6AE8,\n 0x94A6: 0x5E61,\n 0x94A7: 0x808C,\n 0x94A8: 0x7551,\n 0x94A9: 0x7560,\n 0x94AA: 0x516B,\n 0x94AB: 0x9262,\n 0x94AC: 0x6E8C,\n 0x94AD: 0x767A,\n 0x94AE: 0x9197,\n 0x94AF: 0x9AEA,\n 0x94B0: 0x4F10,\n 0x94B1: 0x7F70,\n 0x94B2: 0x629C,\n 0x94B3: 0x7B4F,\n 0x94B4: 0x95A5,\n 0x94B5: 0x9CE9,\n 0x94B6: 0x567A,\n 0x94B7: 0x5859,\n 0x94B8: 0x86E4,\n 0x94B9: 0x96BC,\n 0x94BA: 0x4F34,\n 0x94BB: 0x5224,\n 0x94BC: 0x534A,\n 0x94BD: 0x53CD,\n 0x94BE: 0x53DB,\n 0x94BF: 0x5E06,\n 0x94C0: 0x642C,\n 0x94C1: 0x6591,\n 0x94C2: 0x677F,\n 0x94C3: 0x6C3E,\n 0x94C4: 0x6C4E,\n 0x94C5: 0x7248,\n 0x94C6: 0x72AF,\n 0x94C7: 0x73ED,\n 0x94C8: 0x7554,\n 0x94C9: 0x7E41,\n 0x94CA: 0x822C,\n 0x94CB: 0x85E9,\n 0x94CC: 0x8CA9,\n 0x94CD: 0x7BC4,\n 0x94CE: 0x91C6,\n 0x94CF: 0x7169,\n 0x94D0: 0x9812,\n 0x94D1: 0x98EF,\n 0x94D2: 0x633D,\n 0x94D3: 0x6669,\n 0x94D4: 0x756A,\n 0x94D5: 0x76E4,\n 0x94D6: 0x78D0,\n 0x94D7: 0x8543,\n 0x94D8: 0x86EE,\n 0x94D9: 0x532A,\n 0x94DA: 0x5351,\n 0x94DB: 0x5426,\n 0x94DC: 0x5983,\n 0x94DD: 0x5E87,\n 0x94DE: 0x5F7C,\n 0x94DF: 0x60B2,\n 0x94E0: 0x6249,\n 0x94E1: 0x6279,\n 0x94E2: 0x62AB,\n 0x94E3: 0x6590,\n 0x94E4: 0x6BD4,\n 0x94E5: 0x6CCC,\n 0x94E6: 0x75B2,\n 0x94E7: 0x76AE,\n 0x94E8: 0x7891,\n 0x94E9: 0x79D8,\n 0x94EA: 0x7DCB,\n 0x94EB: 0x7F77,\n 0x94EC: 0x80A5,\n 0x94ED: 0x88AB,\n 0x94EE: 0x8AB9,\n 0x94EF: 0x8CBB,\n 0x94F0: 0x907F,\n 0x94F1: 0x975E,\n 0x94F2: 0x98DB,\n 0x94F3: 0x6A0B,\n 0x94F4: 0x7C38,\n 0x94F5: 0x5099,\n 0x94F6: 0x5C3E,\n 0x94F7: 0x5FAE,\n 0x94F8: 0x6787,\n 0x94F9: 0x6BD8,\n 0x94FA: 0x7435,\n 0x94FB: 0x7709,\n 0x94FC: 0x7F8E,\n 0x9540: 0x9F3B,\n 0x9541: 0x67CA,\n 0x9542: 0x7A17,\n 0x9543: 0x5339,\n 0x9544: 0x758B,\n 0x9545: 0x9AED,\n 0x9546: 0x5F66,\n 0x9547: 0x819D,\n 0x9548: 0x83F1,\n 0x9549: 0x8098,\n 0x954A: 0x5F3C,\n 0x954B: 0x5FC5,\n 0x954C: 0x7562,\n 0x954D: 0x7B46,\n 0x954E: 0x903C,\n 0x954F: 0x6867,\n 0x9550: 0x59EB,\n 0x9551: 0x5A9B,\n 0x9552: 0x7D10,\n 0x9553: 0x767E,\n 0x9554: 0x8B2C,\n 0x9555: 0x4FF5,\n 0x9556: 0x5F6A,\n 0x9557: 0x6A19,\n 0x9558: 0x6C37,\n 0x9559: 0x6F02,\n 0x955A: 0x74E2,\n 0x955B: 0x7968,\n 0x955C: 0x8868,\n 0x955D: 0x8A55,\n 0x955E: 0x8C79,\n 0x955F: 0x5EDF,\n 0x9560: 0x63CF,\n 0x9561: 0x75C5,\n 0x9562: 0x79D2,\n 0x9563: 0x82D7,\n 0x9564: 0x9328,\n 0x9565: 0x92F2,\n 0x9566: 0x849C,\n 0x9567: 0x86ED,\n 0x9568: 0x9C2D,\n 0x9569: 0x54C1,\n 0x956A: 0x5F6C,\n 0x956B: 0x658C,\n 0x956C: 0x6D5C,\n 0x956D: 0x7015,\n 0x956E: 0x8CA7,\n 0x956F: 0x8CD3,\n 0x9570: 0x983B,\n 0x9571: 0x654F,\n 0x9572: 0x74F6,\n 0x9573: 0x4E0D,\n 0x9574: 0x4ED8,\n 0x9575: 0x57E0,\n 0x9576: 0x592B,\n 0x9577: 0x5A66,\n 0x9578: 0x5BCC,\n 0x9579: 0x51A8,\n 0x957A: 0x5E03,\n 0x957B: 0x5E9C,\n 0x957C: 0x6016,\n 0x957D: 0x6276,\n 0x957E: 0x6577,\n 0x9580: 0x65A7,\n 0x9581: 0x666E,\n 0x9582: 0x6D6E,\n 0x9583: 0x7236,\n 0x9584: 0x7B26,\n 0x9585: 0x8150,\n 0x9586: 0x819A,\n 0x9587: 0x8299,\n 0x9588: 0x8B5C,\n 0x9589: 0x8CA0,\n 0x958A: 0x8CE6,\n 0x958B: 0x8D74,\n 0x958C: 0x961C,\n 0x958D: 0x9644,\n 0x958E: 0x4FAE,\n 0x958F: 0x64AB,\n 0x9590: 0x6B66,\n 0x9591: 0x821E,\n 0x9592: 0x8461,\n 0x9593: 0x856A,\n 0x9594: 0x90E8,\n 0x9595: 0x5C01,\n 0x9596: 0x6953,\n 0x9597: 0x98A8,\n 0x9598: 0x847A,\n 0x9599: 0x8557,\n 0x959A: 0x4F0F,\n 0x959B: 0x526F,\n 0x959C: 0x5FA9,\n 0x959D: 0x5E45,\n 0x959E: 0x670D,\n 0x959F: 0x798F,\n 0x95A0: 0x8179,\n 0x95A1: 0x8907,\n 0x95A2: 0x8986,\n 0x95A3: 0x6DF5,\n 0x95A4: 0x5F17,\n 0x95A5: 0x6255,\n 0x95A6: 0x6CB8,\n 0x95A7: 0x4ECF,\n 0x95A8: 0x7269,\n 0x95A9: 0x9B92,\n 0x95AA: 0x5206,\n 0x95AB: 0x543B,\n 0x95AC: 0x5674,\n 0x95AD: 0x58B3,\n 0x95AE: 0x61A4,\n 0x95AF: 0x626E,\n 0x95B0: 0x711A,\n 0x95B1: 0x596E,\n 0x95B2: 0x7C89,\n 0x95B3: 0x7CDE,\n 0x95B4: 0x7D1B,\n 0x95B5: 0x96F0,\n 0x95B6: 0x6587,\n 0x95B7: 0x805E,\n 0x95B8: 0x4E19,\n 0x95B9: 0x4F75,\n 0x95BA: 0x5175,\n 0x95BB: 0x5840,\n 0x95BC: 0x5E63,\n 0x95BD: 0x5E73,\n 0x95BE: 0x5F0A,\n 0x95BF: 0x67C4,\n 0x95C0: 0x4E26,\n 0x95C1: 0x853D,\n 0x95C2: 0x9589,\n 0x95C3: 0x965B,\n 0x95C4: 0x7C73,\n 0x95C5: 0x9801,\n 0x95C6: 0x50FB,\n 0x95C7: 0x58C1,\n 0x95C8: 0x7656,\n 0x95C9: 0x78A7,\n 0x95CA: 0x5225,\n 0x95CB: 0x77A5,\n 0x95CC: 0x8511,\n 0x95CD: 0x7B86,\n 0x95CE: 0x504F,\n 0x95CF: 0x5909,\n 0x95D0: 0x7247,\n 0x95D1: 0x7BC7,\n 0x95D2: 0x7DE8,\n 0x95D3: 0x8FBA,\n 0x95D4: 0x8FD4,\n 0x95D5: 0x904D,\n 0x95D6: 0x4FBF,\n 0x95D7: 0x52C9,\n 0x95D8: 0x5A29,\n 0x95D9: 0x5F01,\n 0x95DA: 0x97AD,\n 0x95DB: 0x4FDD,\n 0x95DC: 0x8217,\n 0x95DD: 0x92EA,\n 0x95DE: 0x5703,\n 0x95DF: 0x6355,\n 0x95E0: 0x6B69,\n 0x95E1: 0x752B,\n 0x95E2: 0x88DC,\n 0x95E3: 0x8F14,\n 0x95E4: 0x7A42,\n 0x95E5: 0x52DF,\n 0x95E6: 0x5893,\n 0x95E7: 0x6155,\n 0x95E8: 0x620A,\n 0x95E9: 0x66AE,\n 0x95EA: 0x6BCD,\n 0x95EB: 0x7C3F,\n 0x95EC: 0x83E9,\n 0x95ED: 0x5023,\n 0x95EE: 0x4FF8,\n 0x95EF: 0x5305,\n 0x95F0: 0x5446,\n 0x95F1: 0x5831,\n 0x95F2: 0x5949,\n 0x95F3: 0x5B9D,\n 0x95F4: 0x5CF0,\n 0x95F5: 0x5CEF,\n 0x95F6: 0x5D29,\n 0x95F7: 0x5E96,\n 0x95F8: 0x62B1,\n 0x95F9: 0x6367,\n 0x95FA: 0x653E,\n 0x95FB: 0x65B9,\n 0x95FC: 0x670B,\n 0x9640: 0x6CD5,\n 0x9641: 0x6CE1,\n 0x9642: 0x70F9,\n 0x9643: 0x7832,\n 0x9644: 0x7E2B,\n 0x9645: 0x80DE,\n 0x9646: 0x82B3,\n 0x9647: 0x840C,\n 0x9648: 0x84EC,\n 0x9649: 0x8702,\n 0x964A: 0x8912,\n 0x964B: 0x8A2A,\n 0x964C: 0x8C4A,\n 0x964D: 0x90A6,\n 0x964E: 0x92D2,\n 0x964F: 0x98FD,\n 0x9650: 0x9CF3,\n 0x9651: 0x9D6C,\n 0x9652: 0x4E4F,\n 0x9653: 0x4EA1,\n 0x9654: 0x508D,\n 0x9655: 0x5256,\n 0x9656: 0x574A,\n 0x9657: 0x59A8,\n 0x9658: 0x5E3D,\n 0x9659: 0x5FD8,\n 0x965A: 0x5FD9,\n 0x965B: 0x623F,\n 0x965C: 0x66B4,\n 0x965D: 0x671B,\n 0x965E: 0x67D0,\n 0x965F: 0x68D2,\n 0x9660: 0x5192,\n 0x9661: 0x7D21,\n 0x9662: 0x80AA,\n 0x9663: 0x81A8,\n 0x9664: 0x8B00,\n 0x9665: 0x8C8C,\n 0x9666: 0x8CBF,\n 0x9667: 0x927E,\n 0x9668: 0x9632,\n 0x9669: 0x5420,\n 0x966A: 0x982C,\n 0x966B: 0x5317,\n 0x966C: 0x50D5,\n 0x966D: 0x535C,\n 0x966E: 0x58A8,\n 0x966F: 0x64B2,\n 0x9670: 0x6734,\n 0x9671: 0x7267,\n 0x9672: 0x7766,\n 0x9673: 0x7A46,\n 0x9674: 0x91E6,\n 0x9675: 0x52C3,\n 0x9676: 0x6CA1,\n 0x9677: 0x6B86,\n 0x9678: 0x5800,\n 0x9679: 0x5E4C,\n 0x967A: 0x5954,\n 0x967B: 0x672C,\n 0x967C: 0x7FFB,\n 0x967D: 0x51E1,\n 0x967E: 0x76C6,\n 0x9680: 0x6469,\n 0x9681: 0x78E8,\n 0x9682: 0x9B54,\n 0x9683: 0x9EBB,\n 0x9684: 0x57CB,\n 0x9685: 0x59B9,\n 0x9686: 0x6627,\n 0x9687: 0x679A,\n 0x9688: 0x6BCE,\n 0x9689: 0x54E9,\n 0x968A: 0x69D9,\n 0x968B: 0x5E55,\n 0x968C: 0x819C,\n 0x968D: 0x6795,\n 0x968E: 0x9BAA,\n 0x968F: 0x67FE,\n 0x9690: 0x9C52,\n 0x9691: 0x685D,\n 0x9692: 0x4EA6,\n 0x9693: 0x4FE3,\n 0x9694: 0x53C8,\n 0x9695: 0x62B9,\n 0x9696: 0x672B,\n 0x9697: 0x6CAB,\n 0x9698: 0x8FC4,\n 0x9699: 0x4FAD,\n 0x969A: 0x7E6D,\n 0x969B: 0x9EBF,\n 0x969C: 0x4E07,\n 0x969D: 0x6162,\n 0x969E: 0x6E80,\n 0x969F: 0x6F2B,\n 0x96A0: 0x8513,\n 0x96A1: 0x5473,\n 0x96A2: 0x672A,\n 0x96A3: 0x9B45,\n 0x96A4: 0x5DF3,\n 0x96A5: 0x7B95,\n 0x96A6: 0x5CAC,\n 0x96A7: 0x5BC6,\n 0x96A8: 0x871C,\n 0x96A9: 0x6E4A,\n 0x96AA: 0x84D1,\n 0x96AB: 0x7A14,\n 0x96AC: 0x8108,\n 0x96AD: 0x5999,\n 0x96AE: 0x7C8D,\n 0x96AF: 0x6C11,\n 0x96B0: 0x7720,\n 0x96B1: 0x52D9,\n 0x96B2: 0x5922,\n 0x96B3: 0x7121,\n 0x96B4: 0x725F,\n 0x96B5: 0x77DB,\n 0x96B6: 0x9727,\n 0x96B7: 0x9D61,\n 0x96B8: 0x690B,\n 0x96B9: 0x5A7F,\n 0x96BA: 0x5A18,\n 0x96BB: 0x51A5,\n 0x96BC: 0x540D,\n 0x96BD: 0x547D,\n 0x96BE: 0x660E,\n 0x96BF: 0x76DF,\n 0x96C0: 0x8FF7,\n 0x96C1: 0x9298,\n 0x96C2: 0x9CF4,\n 0x96C3: 0x59EA,\n 0x96C4: 0x725D,\n 0x96C5: 0x6EC5,\n 0x96C6: 0x514D,\n 0x96C7: 0x68C9,\n 0x96C8: 0x7DBF,\n 0x96C9: 0x7DEC,\n 0x96CA: 0x9762,\n 0x96CB: 0x9EBA,\n 0x96CC: 0x6478,\n 0x96CD: 0x6A21,\n 0x96CE: 0x8302,\n 0x96CF: 0x5984,\n 0x96D0: 0x5B5F,\n 0x96D1: 0x6BDB,\n 0x96D2: 0x731B,\n 0x96D3: 0x76F2,\n 0x96D4: 0x7DB2,\n 0x96D5: 0x8017,\n 0x96D6: 0x8499,\n 0x96D7: 0x5132,\n 0x96D8: 0x6728,\n 0x96D9: 0x9ED9,\n 0x96DA: 0x76EE,\n 0x96DB: 0x6762,\n 0x96DC: 0x52FF,\n 0x96DD: 0x9905,\n 0x96DE: 0x5C24,\n 0x96DF: 0x623B,\n 0x96E0: 0x7C7E,\n 0x96E1: 0x8CB0,\n 0x96E2: 0x554F,\n 0x96E3: 0x60B6,\n 0x96E4: 0x7D0B,\n 0x96E5: 0x9580,\n 0x96E6: 0x5301,\n 0x96E7: 0x4E5F,\n 0x96E8: 0x51B6,\n 0x96E9: 0x591C,\n 0x96EA: 0x723A,\n 0x96EB: 0x8036,\n 0x96EC: 0x91CE,\n 0x96ED: 0x5F25,\n 0x96EE: 0x77E2,\n 0x96EF: 0x5384,\n 0x96F0: 0x5F79,\n 0x96F1: 0x7D04,\n 0x96F2: 0x85AC,\n 0x96F3: 0x8A33,\n 0x96F4: 0x8E8D,\n 0x96F5: 0x9756,\n 0x96F6: 0x67F3,\n 0x96F7: 0x85AE,\n 0x96F8: 0x9453,\n 0x96F9: 0x6109,\n 0x96FA: 0x6108,\n 0x96FB: 0x6CB9,\n 0x96FC: 0x7652,\n 0x9740: 0x8AED,\n 0x9741: 0x8F38,\n 0x9742: 0x552F,\n 0x9743: 0x4F51,\n 0x9744: 0x512A,\n 0x9745: 0x52C7,\n 0x9746: 0x53CB,\n 0x9747: 0x5BA5,\n 0x9748: 0x5E7D,\n 0x9749: 0x60A0,\n 0x974A: 0x6182,\n 0x974B: 0x63D6,\n 0x974C: 0x6709,\n 0x974D: 0x67DA,\n 0x974E: 0x6E67,\n 0x974F: 0x6D8C,\n 0x9750: 0x7336,\n 0x9751: 0x7337,\n 0x9752: 0x7531,\n 0x9753: 0x7950,\n 0x9754: 0x88D5,\n 0x9755: 0x8A98,\n 0x9756: 0x904A,\n 0x9757: 0x9091,\n 0x9758: 0x90F5,\n 0x9759: 0x96C4,\n 0x975A: 0x878D,\n 0x975B: 0x5915,\n 0x975C: 0x4E88,\n 0x975D: 0x4F59,\n 0x975E: 0x4E0E,\n 0x975F: 0x8A89,\n 0x9760: 0x8F3F,\n 0x9761: 0x9810,\n 0x9762: 0x50AD,\n 0x9763: 0x5E7C,\n 0x9764: 0x5996,\n 0x9765: 0x5BB9,\n 0x9766: 0x5EB8,\n 0x9767: 0x63DA,\n 0x9768: 0x63FA,\n 0x9769: 0x64C1,\n 0x976A: 0x66DC,\n 0x976B: 0x694A,\n 0x976C: 0x69D8,\n 0x976D: 0x6D0B,\n 0x976E: 0x6EB6,\n 0x976F: 0x7194,\n 0x9770: 0x7528,\n 0x9771: 0x7AAF,\n 0x9772: 0x7F8A,\n 0x9773: 0x8000,\n 0x9774: 0x8449,\n 0x9775: 0x84C9,\n 0x9776: 0x8981,\n 0x9777: 0x8B21,\n 0x9778: 0x8E0A,\n 0x9779: 0x9065,\n 0x977A: 0x967D,\n 0x977B: 0x990A,\n 0x977C: 0x617E,\n 0x977D: 0x6291,\n 0x977E: 0x6B32,\n 0x9780: 0x6C83,\n 0x9781: 0x6D74,\n 0x9782: 0x7FCC,\n 0x9783: 0x7FFC,\n 0x9784: 0x6DC0,\n 0x9785: 0x7F85,\n 0x9786: 0x87BA,\n 0x9787: 0x88F8,\n 0x9788: 0x6765,\n 0x9789: 0x83B1,\n 0x978A: 0x983C,\n 0x978B: 0x96F7,\n 0x978C: 0x6D1B,\n 0x978D: 0x7D61,\n 0x978E: 0x843D,\n 0x978F: 0x916A,\n 0x9790: 0x4E71,\n 0x9791: 0x5375,\n 0x9792: 0x5D50,\n 0x9793: 0x6B04,\n 0x9794: 0x6FEB,\n 0x9795: 0x85CD,\n 0x9796: 0x862D,\n 0x9797: 0x89A7,\n 0x9798: 0x5229,\n 0x9799: 0x540F,\n 0x979A: 0x5C65,\n 0x979B: 0x674E,\n 0x979C: 0x68A8,\n 0x979D: 0x7406,\n 0x979E: 0x7483,\n 0x979F: 0x75E2,\n 0x97A0: 0x88CF,\n 0x97A1: 0x88E1,\n 0x97A2: 0x91CC,\n 0x97A3: 0x96E2,\n 0x97A4: 0x9678,\n 0x97A5: 0x5F8B,\n 0x97A6: 0x7387,\n 0x97A7: 0x7ACB,\n 0x97A8: 0x844E,\n 0x97A9: 0x63A0,\n 0x97AA: 0x7565,\n 0x97AB: 0x5289,\n 0x97AC: 0x6D41,\n 0x97AD: 0x6E9C,\n 0x97AE: 0x7409,\n 0x97AF: 0x7559,\n 0x97B0: 0x786B,\n 0x97B1: 0x7C92,\n 0x97B2: 0x9686,\n 0x97B3: 0x7ADC,\n 0x97B4: 0x9F8D,\n 0x97B5: 0x4FB6,\n 0x97B6: 0x616E,\n 0x97B7: 0x65C5,\n 0x97B8: 0x865C,\n 0x97B9: 0x4E86,\n 0x97BA: 0x4EAE,\n 0x97BB: 0x50DA,\n 0x97BC: 0x4E21,\n 0x97BD: 0x51CC,\n 0x97BE: 0x5BEE,\n 0x97BF: 0x6599,\n 0x97C0: 0x6881,\n 0x97C1: 0x6DBC,\n 0x97C2: 0x731F,\n 0x97C3: 0x7642,\n 0x97C4: 0x77AD,\n 0x97C5: 0x7A1C,\n 0x97C6: 0x7CE7,\n 0x97C7: 0x826F,\n 0x97C8: 0x8AD2,\n 0x97C9: 0x907C,\n 0x97CA: 0x91CF,\n 0x97CB: 0x9675,\n 0x97CC: 0x9818,\n 0x97CD: 0x529B,\n 0x97CE: 0x7DD1,\n 0x97CF: 0x502B,\n 0x97D0: 0x5398,\n 0x97D1: 0x6797,\n 0x97D2: 0x6DCB,\n 0x97D3: 0x71D0,\n 0x97D4: 0x7433,\n 0x97D5: 0x81E8,\n 0x97D6: 0x8F2A,\n 0x97D7: 0x96A3,\n 0x97D8: 0x9C57,\n 0x97D9: 0x9E9F,\n 0x97DA: 0x7460,\n 0x97DB: 0x5841,\n 0x97DC: 0x6D99,\n 0x97DD: 0x7D2F,\n 0x97DE: 0x985E,\n 0x97DF: 0x4EE4,\n 0x97E0: 0x4F36,\n 0x97E1: 0x4F8B,\n 0x97E2: 0x51B7,\n 0x97E3: 0x52B1,\n 0x97E4: 0x5DBA,\n 0x97E5: 0x601C,\n 0x97E6: 0x73B2,\n 0x97E7: 0x793C,\n 0x97E8: 0x82D3,\n 0x97E9: 0x9234,\n 0x97EA: 0x96B7,\n 0x97EB: 0x96F6,\n 0x97EC: 0x970A,\n 0x97ED: 0x9E97,\n 0x97EE: 0x9F62,\n 0x97EF: 0x66A6,\n 0x97F0: 0x6B74,\n 0x97F1: 0x5217,\n 0x97F2: 0x52A3,\n 0x97F3: 0x70C8,\n 0x97F4: 0x88C2,\n 0x97F5: 0x5EC9,\n 0x97F6: 0x604B,\n 0x97F7: 0x6190,\n 0x97F8: 0x6F23,\n 0x97F9: 0x7149,\n 0x97FA: 0x7C3E,\n 0x97FB: 0x7DF4,\n 0x97FC: 0x806F,\n 0x9840: 0x84EE,\n 0x9841: 0x9023,\n 0x9842: 0x932C,\n 0x9843: 0x5442,\n 0x9844: 0x9B6F,\n 0x9845: 0x6AD3,\n 0x9846: 0x7089,\n 0x9847: 0x8CC2,\n 0x9848: 0x8DEF,\n 0x9849: 0x9732,\n 0x984A: 0x52B4,\n 0x984B: 0x5A41,\n 0x984C: 0x5ECA,\n 0x984D: 0x5F04,\n 0x984E: 0x6717,\n 0x984F: 0x697C,\n 0x9850: 0x6994,\n 0x9851: 0x6D6A,\n 0x9852: 0x6F0F,\n 0x9853: 0x7262,\n 0x9854: 0x72FC,\n 0x9855: 0x7BED,\n 0x9856: 0x8001,\n 0x9857: 0x807E,\n 0x9858: 0x874B,\n 0x9859: 0x90CE,\n 0x985A: 0x516D,\n 0x985B: 0x9E93,\n 0x985C: 0x7984,\n 0x985D: 0x808B,\n 0x985E: 0x9332,\n 0x985F: 0x8AD6,\n 0x9860: 0x502D,\n 0x9861: 0x548C,\n 0x9862: 0x8A71,\n 0x9863: 0x6B6A,\n 0x9864: 0x8CC4,\n 0x9865: 0x8107,\n 0x9866: 0x60D1,\n 0x9867: 0x67A0,\n 0x9868: 0x9DF2,\n 0x9869: 0x4E99,\n 0x986A: 0x4E98,\n 0x986B: 0x9C10,\n 0x986C: 0x8A6B,\n 0x986D: 0x85C1,\n 0x986E: 0x8568,\n 0x986F: 0x6900,\n 0x9870: 0x6E7E,\n 0x9871: 0x7897,\n 0x9872: 0x8155,\n 0x989F: 0x5F0C,\n 0x98A0: 0x4E10,\n 0x98A1: 0x4E15,\n 0x98A2: 0x4E2A,\n 0x98A3: 0x4E31,\n 0x98A4: 0x4E36,\n 0x98A5: 0x4E3C,\n 0x98A6: 0x4E3F,\n 0x98A7: 0x4E42,\n 0x98A8: 0x4E56,\n 0x98A9: 0x4E58,\n 0x98AA: 0x4E82,\n 0x98AB: 0x4E85,\n 0x98AC: 0x8C6B,\n 0x98AD: 0x4E8A,\n 0x98AE: 0x8212,\n 0x98AF: 0x5F0D,\n 0x98B0: 0x4E8E,\n 0x98B1: 0x4E9E,\n 0x98B2: 0x4E9F,\n 0x98B3: 0x4EA0,\n 0x98B4: 0x4EA2,\n 0x98B5: 0x4EB0,\n 0x98B6: 0x4EB3,\n 0x98B7: 0x4EB6,\n 0x98B8: 0x4ECE,\n 0x98B9: 0x4ECD,\n 0x98BA: 0x4EC4,\n 0x98BB: 0x4EC6,\n 0x98BC: 0x4EC2,\n 0x98BD: 0x4ED7,\n 0x98BE: 0x4EDE,\n 0x98BF: 0x4EED,\n 0x98C0: 0x4EDF,\n 0x98C1: 0x4EF7,\n 0x98C2: 0x4F09,\n 0x98C3: 0x4F5A,\n 0x98C4: 0x4F30,\n 0x98C5: 0x4F5B,\n 0x98C6: 0x4F5D,\n 0x98C7: 0x4F57,\n 0x98C8: 0x4F47,\n 0x98C9: 0x4F76,\n 0x98CA: 0x4F88,\n 0x98CB: 0x4F8F,\n 0x98CC: 0x4F98,\n 0x98CD: 0x4F7B,\n 0x98CE: 0x4F69,\n 0x98CF: 0x4F70,\n 0x98D0: 0x4F91,\n 0x98D1: 0x4F6F,\n 0x98D2: 0x4F86,\n 0x98D3: 0x4F96,\n 0x98D4: 0x5118,\n 0x98D5: 0x4FD4,\n 0x98D6: 0x4FDF,\n 0x98D7: 0x4FCE,\n 0x98D8: 0x4FD8,\n 0x98D9: 0x4FDB,\n 0x98DA: 0x4FD1,\n 0x98DB: 0x4FDA,\n 0x98DC: 0x4FD0,\n 0x98DD: 0x4FE4,\n 0x98DE: 0x4FE5,\n 0x98DF: 0x501A,\n 0x98E0: 0x5028,\n 0x98E1: 0x5014,\n 0x98E2: 0x502A,\n 0x98E3: 0x5025,\n 0x98E4: 0x5005,\n 0x98E5: 0x4F1C,\n 0x98E6: 0x4FF6,\n 0x98E7: 0x5021,\n 0x98E8: 0x5029,\n 0x98E9: 0x502C,\n 0x98EA: 0x4FFE,\n 0x98EB: 0x4FEF,\n 0x98EC: 0x5011,\n 0x98ED: 0x5006,\n 0x98EE: 0x5043,\n 0x98EF: 0x5047,\n 0x98F0: 0x6703,\n 0x98F1: 0x5055,\n 0x98F2: 0x5050,\n 0x98F3: 0x5048,\n 0x98F4: 0x505A,\n 0x98F5: 0x5056,\n 0x98F6: 0x506C,\n 0x98F7: 0x5078,\n 0x98F8: 0x5080,\n 0x98F9: 0x509A,\n 0x98FA: 0x5085,\n 0x98FB: 0x50B4,\n 0x98FC: 0x50B2,\n 0x9940: 0x50C9,\n 0x9941: 0x50CA,\n 0x9942: 0x50B3,\n 0x9943: 0x50C2,\n 0x9944: 0x50D6,\n 0x9945: 0x50DE,\n 0x9946: 0x50E5,\n 0x9947: 0x50ED,\n 0x9948: 0x50E3,\n 0x9949: 0x50EE,\n 0x994A: 0x50F9,\n 0x994B: 0x50F5,\n 0x994C: 0x5109,\n 0x994D: 0x5101,\n 0x994E: 0x5102,\n 0x994F: 0x5116,\n 0x9950: 0x5115,\n 0x9951: 0x5114,\n 0x9952: 0x511A,\n 0x9953: 0x5121,\n 0x9954: 0x513A,\n 0x9955: 0x5137,\n 0x9956: 0x513C,\n 0x9957: 0x513B,\n 0x9958: 0x513F,\n 0x9959: 0x5140,\n 0x995A: 0x5152,\n 0x995B: 0x514C,\n 0x995C: 0x5154,\n 0x995D: 0x5162,\n 0x995E: 0x7AF8,\n 0x995F: 0x5169,\n 0x9960: 0x516A,\n 0x9961: 0x516E,\n 0x9962: 0x5180,\n 0x9963: 0x5182,\n 0x9964: 0x56D8,\n 0x9965: 0x518C,\n 0x9966: 0x5189,\n 0x9967: 0x518F,\n 0x9968: 0x5191,\n 0x9969: 0x5193,\n 0x996A: 0x5195,\n 0x996B: 0x5196,\n 0x996C: 0x51A4,\n 0x996D: 0x51A6,\n 0x996E: 0x51A2,\n 0x996F: 0x51A9,\n 0x9970: 0x51AA,\n 0x9971: 0x51AB,\n 0x9972: 0x51B3,\n 0x9973: 0x51B1,\n 0x9974: 0x51B2,\n 0x9975: 0x51B0,\n 0x9976: 0x51B5,\n 0x9977: 0x51BD,\n 0x9978: 0x51C5,\n 0x9979: 0x51C9,\n 0x997A: 0x51DB,\n 0x997B: 0x51E0,\n 0x997C: 0x8655,\n 0x997D: 0x51E9,\n 0x997E: 0x51ED,\n 0x9980: 0x51F0,\n 0x9981: 0x51F5,\n 0x9982: 0x51FE,\n 0x9983: 0x5204,\n 0x9984: 0x520B,\n 0x9985: 0x5214,\n 0x9986: 0x520E,\n 0x9987: 0x5227,\n 0x9988: 0x522A,\n 0x9989: 0x522E,\n 0x998A: 0x5233,\n 0x998B: 0x5239,\n 0x998C: 0x524F,\n 0x998D: 0x5244,\n 0x998E: 0x524B,\n 0x998F: 0x524C,\n 0x9990: 0x525E,\n 0x9991: 0x5254,\n 0x9992: 0x526A,\n 0x9993: 0x5274,\n 0x9994: 0x5269,\n 0x9995: 0x5273,\n 0x9996: 0x527F,\n 0x9997: 0x527D,\n 0x9998: 0x528D,\n 0x9999: 0x5294,\n 0x999A: 0x5292,\n 0x999B: 0x5271,\n 0x999C: 0x5288,\n 0x999D: 0x5291,\n 0x999E: 0x8FA8,\n 0x999F: 0x8FA7,\n 0x99A0: 0x52AC,\n 0x99A1: 0x52AD,\n 0x99A2: 0x52BC,\n 0x99A3: 0x52B5,\n 0x99A4: 0x52C1,\n 0x99A5: 0x52CD,\n 0x99A6: 0x52D7,\n 0x99A7: 0x52DE,\n 0x99A8: 0x52E3,\n 0x99A9: 0x52E6,\n 0x99AA: 0x98ED,\n 0x99AB: 0x52E0,\n 0x99AC: 0x52F3,\n 0x99AD: 0x52F5,\n 0x99AE: 0x52F8,\n 0x99AF: 0x52F9,\n 0x99B0: 0x5306,\n 0x99B1: 0x5308,\n 0x99B2: 0x7538,\n 0x99B3: 0x530D,\n 0x99B4: 0x5310,\n 0x99B5: 0x530F,\n 0x99B6: 0x5315,\n 0x99B7: 0x531A,\n 0x99B8: 0x5323,\n 0x99B9: 0x532F,\n 0x99BA: 0x5331,\n 0x99BB: 0x5333,\n 0x99BC: 0x5338,\n 0x99BD: 0x5340,\n 0x99BE: 0x5346,\n 0x99BF: 0x5345,\n 0x99C0: 0x4E17,\n 0x99C1: 0x5349,\n 0x99C2: 0x534D,\n 0x99C3: 0x51D6,\n 0x99C4: 0x535E,\n 0x99C5: 0x5369,\n 0x99C6: 0x536E,\n 0x99C7: 0x5918,\n 0x99C8: 0x537B,\n 0x99C9: 0x5377,\n 0x99CA: 0x5382,\n 0x99CB: 0x5396,\n 0x99CC: 0x53A0,\n 0x99CD: 0x53A6,\n 0x99CE: 0x53A5,\n 0x99CF: 0x53AE,\n 0x99D0: 0x53B0,\n 0x99D1: 0x53B6,\n 0x99D2: 0x53C3,\n 0x99D3: 0x7C12,\n 0x99D4: 0x96D9,\n 0x99D5: 0x53DF,\n 0x99D6: 0x66FC,\n 0x99D7: 0x71EE,\n 0x99D8: 0x53EE,\n 0x99D9: 0x53E8,\n 0x99DA: 0x53ED,\n 0x99DB: 0x53FA,\n 0x99DC: 0x5401,\n 0x99DD: 0x543D,\n 0x99DE: 0x5440,\n 0x99DF: 0x542C,\n 0x99E0: 0x542D,\n 0x99E1: 0x543C,\n 0x99E2: 0x542E,\n 0x99E3: 0x5436,\n 0x99E4: 0x5429,\n 0x99E5: 0x541D,\n 0x99E6: 0x544E,\n 0x99E7: 0x548F,\n 0x99E8: 0x5475,\n 0x99E9: 0x548E,\n 0x99EA: 0x545F,\n 0x99EB: 0x5471,\n 0x99EC: 0x5477,\n 0x99ED: 0x5470,\n 0x99EE: 0x5492,\n 0x99EF: 0x547B,\n 0x99F0: 0x5480,\n 0x99F1: 0x5476,\n 0x99F2: 0x5484,\n 0x99F3: 0x5490,\n 0x99F4: 0x5486,\n 0x99F5: 0x54C7,\n 0x99F6: 0x54A2,\n 0x99F7: 0x54B8,\n 0x99F8: 0x54A5,\n 0x99F9: 0x54AC,\n 0x99FA: 0x54C4,\n 0x99FB: 0x54C8,\n 0x99FC: 0x54A8,\n 0x9A40: 0x54AB,\n 0x9A41: 0x54C2,\n 0x9A42: 0x54A4,\n 0x9A43: 0x54BE,\n 0x9A44: 0x54BC,\n 0x9A45: 0x54D8,\n 0x9A46: 0x54E5,\n 0x9A47: 0x54E6,\n 0x9A48: 0x550F,\n 0x9A49: 0x5514,\n 0x9A4A: 0x54FD,\n 0x9A4B: 0x54EE,\n 0x9A4C: 0x54ED,\n 0x9A4D: 0x54FA,\n 0x9A4E: 0x54E2,\n 0x9A4F: 0x5539,\n 0x9A50: 0x5540,\n 0x9A51: 0x5563,\n 0x9A52: 0x554C,\n 0x9A53: 0x552E,\n 0x9A54: 0x555C,\n 0x9A55: 0x5545,\n 0x9A56: 0x5556,\n 0x9A57: 0x5557,\n 0x9A58: 0x5538,\n 0x9A59: 0x5533,\n 0x9A5A: 0x555D,\n 0x9A5B: 0x5599,\n 0x9A5C: 0x5580,\n 0x9A5D: 0x54AF,\n 0x9A5E: 0x558A,\n 0x9A5F: 0x559F,\n 0x9A60: 0x557B,\n 0x9A61: 0x557E,\n 0x9A62: 0x5598,\n 0x9A63: 0x559E,\n 0x9A64: 0x55AE,\n 0x9A65: 0x557C,\n 0x9A66: 0x5583,\n 0x9A67: 0x55A9,\n 0x9A68: 0x5587,\n 0x9A69: 0x55A8,\n 0x9A6A: 0x55DA,\n 0x9A6B: 0x55C5,\n 0x9A6C: 0x55DF,\n 0x9A6D: 0x55C4,\n 0x9A6E: 0x55DC,\n 0x9A6F: 0x55E4,\n 0x9A70: 0x55D4,\n 0x9A71: 0x5614,\n 0x9A72: 0x55F7,\n 0x9A73: 0x5616,\n 0x9A74: 0x55FE,\n 0x9A75: 0x55FD,\n 0x9A76: 0x561B,\n 0x9A77: 0x55F9,\n 0x9A78: 0x564E,\n 0x9A79: 0x5650,\n 0x9A7A: 0x71DF,\n 0x9A7B: 0x5634,\n 0x9A7C: 0x5636,\n 0x9A7D: 0x5632,\n 0x9A7E: 0x5638,\n 0x9A80: 0x566B,\n 0x9A81: 0x5664,\n 0x9A82: 0x562F,\n 0x9A83: 0x566C,\n 0x9A84: 0x566A,\n 0x9A85: 0x5686,\n 0x9A86: 0x5680,\n 0x9A87: 0x568A,\n 0x9A88: 0x56A0,\n 0x9A89: 0x5694,\n 0x9A8A: 0x568F,\n 0x9A8B: 0x56A5,\n 0x9A8C: 0x56AE,\n 0x9A8D: 0x56B6,\n 0x9A8E: 0x56B4,\n 0x9A8F: 0x56C2,\n 0x9A90: 0x56BC,\n 0x9A91: 0x56C1,\n 0x9A92: 0x56C3,\n 0x9A93: 0x56C0,\n 0x9A94: 0x56C8,\n 0x9A95: 0x56CE,\n 0x9A96: 0x56D1,\n 0x9A97: 0x56D3,\n 0x9A98: 0x56D7,\n 0x9A99: 0x56EE,\n 0x9A9A: 0x56F9,\n 0x9A9B: 0x5700,\n 0x9A9C: 0x56FF,\n 0x9A9D: 0x5704,\n 0x9A9E: 0x5709,\n 0x9A9F: 0x5708,\n 0x9AA0: 0x570B,\n 0x9AA1: 0x570D,\n 0x9AA2: 0x5713,\n 0x9AA3: 0x5718,\n 0x9AA4: 0x5716,\n 0x9AA5: 0x55C7,\n 0x9AA6: 0x571C,\n 0x9AA7: 0x5726,\n 0x9AA8: 0x5737,\n 0x9AA9: 0x5738,\n 0x9AAA: 0x574E,\n 0x9AAB: 0x573B,\n 0x9AAC: 0x5740,\n 0x9AAD: 0x574F,\n 0x9AAE: 0x5769,\n 0x9AAF: 0x57C0,\n 0x9AB0: 0x5788,\n 0x9AB1: 0x5761,\n 0x9AB2: 0x577F,\n 0x9AB3: 0x5789,\n 0x9AB4: 0x5793,\n 0x9AB5: 0x57A0,\n 0x9AB6: 0x57B3,\n 0x9AB7: 0x57A4,\n 0x9AB8: 0x57AA,\n 0x9AB9: 0x57B0,\n 0x9ABA: 0x57C3,\n 0x9ABB: 0x57C6,\n 0x9ABC: 0x57D4,\n 0x9ABD: 0x57D2,\n 0x9ABE: 0x57D3,\n 0x9ABF: 0x580A,\n 0x9AC0: 0x57D6,\n 0x9AC1: 0x57E3,\n 0x9AC2: 0x580B,\n 0x9AC3: 0x5819,\n 0x9AC4: 0x581D,\n 0x9AC5: 0x5872,\n 0x9AC6: 0x5821,\n 0x9AC7: 0x5862,\n 0x9AC8: 0x584B,\n 0x9AC9: 0x5870,\n 0x9ACA: 0x6BC0,\n 0x9ACB: 0x5852,\n 0x9ACC: 0x583D,\n 0x9ACD: 0x5879,\n 0x9ACE: 0x5885,\n 0x9ACF: 0x58B9,\n 0x9AD0: 0x589F,\n 0x9AD1: 0x58AB,\n 0x9AD2: 0x58BA,\n 0x9AD3: 0x58DE,\n 0x9AD4: 0x58BB,\n 0x9AD5: 0x58B8,\n 0x9AD6: 0x58AE,\n 0x9AD7: 0x58C5,\n 0x9AD8: 0x58D3,\n 0x9AD9: 0x58D1,\n 0x9ADA: 0x58D7,\n 0x9ADB: 0x58D9,\n 0x9ADC: 0x58D8,\n 0x9ADD: 0x58E5,\n 0x9ADE: 0x58DC,\n 0x9ADF: 0x58E4,\n 0x9AE0: 0x58DF,\n 0x9AE1: 0x58EF,\n 0x9AE2: 0x58FA,\n 0x9AE3: 0x58F9,\n 0x9AE4: 0x58FB,\n 0x9AE5: 0x58FC,\n 0x9AE6: 0x58FD,\n 0x9AE7: 0x5902,\n 0x9AE8: 0x590A,\n 0x9AE9: 0x5910,\n 0x9AEA: 0x591B,\n 0x9AEB: 0x68A6,\n 0x9AEC: 0x5925,\n 0x9AED: 0x592C,\n 0x9AEE: 0x592D,\n 0x9AEF: 0x5932,\n 0x9AF0: 0x5938,\n 0x9AF1: 0x593E,\n 0x9AF2: 0x7AD2,\n 0x9AF3: 0x5955,\n 0x9AF4: 0x5950,\n 0x9AF5: 0x594E,\n 0x9AF6: 0x595A,\n 0x9AF7: 0x5958,\n 0x9AF8: 0x5962,\n 0x9AF9: 0x5960,\n 0x9AFA: 0x5967,\n 0x9AFB: 0x596C,\n 0x9AFC: 0x5969,\n 0x9B40: 0x5978,\n 0x9B41: 0x5981,\n 0x9B42: 0x599D,\n 0x9B43: 0x4F5E,\n 0x9B44: 0x4FAB,\n 0x9B45: 0x59A3,\n 0x9B46: 0x59B2,\n 0x9B47: 0x59C6,\n 0x9B48: 0x59E8,\n 0x9B49: 0x59DC,\n 0x9B4A: 0x598D,\n 0x9B4B: 0x59D9,\n 0x9B4C: 0x59DA,\n 0x9B4D: 0x5A25,\n 0x9B4E: 0x5A1F,\n 0x9B4F: 0x5A11,\n 0x9B50: 0x5A1C,\n 0x9B51: 0x5A09,\n 0x9B52: 0x5A1A,\n 0x9B53: 0x5A40,\n 0x9B54: 0x5A6C,\n 0x9B55: 0x5A49,\n 0x9B56: 0x5A35,\n 0x9B57: 0x5A36,\n 0x9B58: 0x5A62,\n 0x9B59: 0x5A6A,\n 0x9B5A: 0x5A9A,\n 0x9B5B: 0x5ABC,\n 0x9B5C: 0x5ABE,\n 0x9B5D: 0x5ACB,\n 0x9B5E: 0x5AC2,\n 0x9B5F: 0x5ABD,\n 0x9B60: 0x5AE3,\n 0x9B61: 0x5AD7,\n 0x9B62: 0x5AE6,\n 0x9B63: 0x5AE9,\n 0x9B64: 0x5AD6,\n 0x9B65: 0x5AFA,\n 0x9B66: 0x5AFB,\n 0x9B67: 0x5B0C,\n 0x9B68: 0x5B0B,\n 0x9B69: 0x5B16,\n 0x9B6A: 0x5B32,\n 0x9B6B: 0x5AD0,\n 0x9B6C: 0x5B2A,\n 0x9B6D: 0x5B36,\n 0x9B6E: 0x5B3E,\n 0x9B6F: 0x5B43,\n 0x9B70: 0x5B45,\n 0x9B71: 0x5B40,\n 0x9B72: 0x5B51,\n 0x9B73: 0x5B55,\n 0x9B74: 0x5B5A,\n 0x9B75: 0x5B5B,\n 0x9B76: 0x5B65,\n 0x9B77: 0x5B69,\n 0x9B78: 0x5B70,\n 0x9B79: 0x5B73,\n 0x9B7A: 0x5B75,\n 0x9B7B: 0x5B78,\n 0x9B7C: 0x6588,\n 0x9B7D: 0x5B7A,\n 0x9B7E: 0x5B80,\n 0x9B80: 0x5B83,\n 0x9B81: 0x5BA6,\n 0x9B82: 0x5BB8,\n 0x9B83: 0x5BC3,\n 0x9B84: 0x5BC7,\n 0x9B85: 0x5BC9,\n 0x9B86: 0x5BD4,\n 0x9B87: 0x5BD0,\n 0x9B88: 0x5BE4,\n 0x9B89: 0x5BE6,\n 0x9B8A: 0x5BE2,\n 0x9B8B: 0x5BDE,\n 0x9B8C: 0x5BE5,\n 0x9B8D: 0x5BEB,\n 0x9B8E: 0x5BF0,\n 0x9B8F: 0x5BF6,\n 0x9B90: 0x5BF3,\n 0x9B91: 0x5C05,\n 0x9B92: 0x5C07,\n 0x9B93: 0x5C08,\n 0x9B94: 0x5C0D,\n 0x9B95: 0x5C13,\n 0x9B96: 0x5C20,\n 0x9B97: 0x5C22,\n 0x9B98: 0x5C28,\n 0x9B99: 0x5C38,\n 0x9B9A: 0x5C39,\n 0x9B9B: 0x5C41,\n 0x9B9C: 0x5C46,\n 0x9B9D: 0x5C4E,\n 0x9B9E: 0x5C53,\n 0x9B9F: 0x5C50,\n 0x9BA0: 0x5C4F,\n 0x9BA1: 0x5B71,\n 0x9BA2: 0x5C6C,\n 0x9BA3: 0x5C6E,\n 0x9BA4: 0x4E62,\n 0x9BA5: 0x5C76,\n 0x9BA6: 0x5C79,\n 0x9BA7: 0x5C8C,\n 0x9BA8: 0x5C91,\n 0x9BA9: 0x5C94,\n 0x9BAA: 0x599B,\n 0x9BAB: 0x5CAB,\n 0x9BAC: 0x5CBB,\n 0x9BAD: 0x5CB6,\n 0x9BAE: 0x5CBC,\n 0x9BAF: 0x5CB7,\n 0x9BB0: 0x5CC5,\n 0x9BB1: 0x5CBE,\n 0x9BB2: 0x5CC7,\n 0x9BB3: 0x5CD9,\n 0x9BB4: 0x5CE9,\n 0x9BB5: 0x5CFD,\n 0x9BB6: 0x5CFA,\n 0x9BB7: 0x5CED,\n 0x9BB8: 0x5D8C,\n 0x9BB9: 0x5CEA,\n 0x9BBA: 0x5D0B,\n 0x9BBB: 0x5D15,\n 0x9BBC: 0x5D17,\n 0x9BBD: 0x5D5C,\n 0x9BBE: 0x5D1F,\n 0x9BBF: 0x5D1B,\n 0x9BC0: 0x5D11,\n 0x9BC1: 0x5D14,\n 0x9BC2: 0x5D22,\n 0x9BC3: 0x5D1A,\n 0x9BC4: 0x5D19,\n 0x9BC5: 0x5D18,\n 0x9BC6: 0x5D4C,\n 0x9BC7: 0x5D52,\n 0x9BC8: 0x5D4E,\n 0x9BC9: 0x5D4B,\n 0x9BCA: 0x5D6C,\n 0x9BCB: 0x5D73,\n 0x9BCC: 0x5D76,\n 0x9BCD: 0x5D87,\n 0x9BCE: 0x5D84,\n 0x9BCF: 0x5D82,\n 0x9BD0: 0x5DA2,\n 0x9BD1: 0x5D9D,\n 0x9BD2: 0x5DAC,\n 0x9BD3: 0x5DAE,\n 0x9BD4: 0x5DBD,\n 0x9BD5: 0x5D90,\n 0x9BD6: 0x5DB7,\n 0x9BD7: 0x5DBC,\n 0x9BD8: 0x5DC9,\n 0x9BD9: 0x5DCD,\n 0x9BDA: 0x5DD3,\n 0x9BDB: 0x5DD2,\n 0x9BDC: 0x5DD6,\n 0x9BDD: 0x5DDB,\n 0x9BDE: 0x5DEB,\n 0x9BDF: 0x5DF2,\n 0x9BE0: 0x5DF5,\n 0x9BE1: 0x5E0B,\n 0x9BE2: 0x5E1A,\n 0x9BE3: 0x5E19,\n 0x9BE4: 0x5E11,\n 0x9BE5: 0x5E1B,\n 0x9BE6: 0x5E36,\n 0x9BE7: 0x5E37,\n 0x9BE8: 0x5E44,\n 0x9BE9: 0x5E43,\n 0x9BEA: 0x5E40,\n 0x9BEB: 0x5E4E,\n 0x9BEC: 0x5E57,\n 0x9BED: 0x5E54,\n 0x9BEE: 0x5E5F,\n 0x9BEF: 0x5E62,\n 0x9BF0: 0x5E64,\n 0x9BF1: 0x5E47,\n 0x9BF2: 0x5E75,\n 0x9BF3: 0x5E76,\n 0x9BF4: 0x5E7A,\n 0x9BF5: 0x9EBC,\n 0x9BF6: 0x5E7F,\n 0x9BF7: 0x5EA0,\n 0x9BF8: 0x5EC1,\n 0x9BF9: 0x5EC2,\n 0x9BFA: 0x5EC8,\n 0x9BFB: 0x5ED0,\n 0x9BFC: 0x5ECF,\n 0x9C40: 0x5ED6,\n 0x9C41: 0x5EE3,\n 0x9C42: 0x5EDD,\n 0x9C43: 0x5EDA,\n 0x9C44: 0x5EDB,\n 0x9C45: 0x5EE2,\n 0x9C46: 0x5EE1,\n 0x9C47: 0x5EE8,\n 0x9C48: 0x5EE9,\n 0x9C49: 0x5EEC,\n 0x9C4A: 0x5EF1,\n 0x9C4B: 0x5EF3,\n 0x9C4C: 0x5EF0,\n 0x9C4D: 0x5EF4,\n 0x9C4E: 0x5EF8,\n 0x9C4F: 0x5EFE,\n 0x9C50: 0x5F03,\n 0x9C51: 0x5F09,\n 0x9C52: 0x5F5D,\n 0x9C53: 0x5F5C,\n 0x9C54: 0x5F0B,\n 0x9C55: 0x5F11,\n 0x9C56: 0x5F16,\n 0x9C57: 0x5F29,\n 0x9C58: 0x5F2D,\n 0x9C59: 0x5F38,\n 0x9C5A: 0x5F41,\n 0x9C5B: 0x5F48,\n 0x9C5C: 0x5F4C,\n 0x9C5D: 0x5F4E,\n 0x9C5E: 0x5F2F,\n 0x9C5F: 0x5F51,\n 0x9C60: 0x5F56,\n 0x9C61: 0x5F57,\n 0x9C62: 0x5F59,\n 0x9C63: 0x5F61,\n 0x9C64: 0x5F6D,\n 0x9C65: 0x5F73,\n 0x9C66: 0x5F77,\n 0x9C67: 0x5F83,\n 0x9C68: 0x5F82,\n 0x9C69: 0x5F7F,\n 0x9C6A: 0x5F8A,\n 0x9C6B: 0x5F88,\n 0x9C6C: 0x5F91,\n 0x9C6D: 0x5F87,\n 0x9C6E: 0x5F9E,\n 0x9C6F: 0x5F99,\n 0x9C70: 0x5F98,\n 0x9C71: 0x5FA0,\n 0x9C72: 0x5FA8,\n 0x9C73: 0x5FAD,\n 0x9C74: 0x5FBC,\n 0x9C75: 0x5FD6,\n 0x9C76: 0x5FFB,\n 0x9C77: 0x5FE4,\n 0x9C78: 0x5FF8,\n 0x9C79: 0x5FF1,\n 0x9C7A: 0x5FDD,\n 0x9C7B: 0x60B3,\n 0x9C7C: 0x5FFF,\n 0x9C7D: 0x6021,\n 0x9C7E: 0x6060,\n 0x9C80: 0x6019,\n 0x9C81: 0x6010,\n 0x9C82: 0x6029,\n 0x9C83: 0x600E,\n 0x9C84: 0x6031,\n 0x9C85: 0x601B,\n 0x9C86: 0x6015,\n 0x9C87: 0x602B,\n 0x9C88: 0x6026,\n 0x9C89: 0x600F,\n 0x9C8A: 0x603A,\n 0x9C8B: 0x605A,\n 0x9C8C: 0x6041,\n 0x9C8D: 0x606A,\n 0x9C8E: 0x6077,\n 0x9C8F: 0x605F,\n 0x9C90: 0x604A,\n 0x9C91: 0x6046,\n 0x9C92: 0x604D,\n 0x9C93: 0x6063,\n 0x9C94: 0x6043,\n 0x9C95: 0x6064,\n 0x9C96: 0x6042,\n 0x9C97: 0x606C,\n 0x9C98: 0x606B,\n 0x9C99: 0x6059,\n 0x9C9A: 0x6081,\n 0x9C9B: 0x608D,\n 0x9C9C: 0x60E7,\n 0x9C9D: 0x6083,\n 0x9C9E: 0x609A,\n 0x9C9F: 0x6084,\n 0x9CA0: 0x609B,\n 0x9CA1: 0x6096,\n 0x9CA2: 0x6097,\n 0x9CA3: 0x6092,\n 0x9CA4: 0x60A7,\n 0x9CA5: 0x608B,\n 0x9CA6: 0x60E1,\n 0x9CA7: 0x60B8,\n 0x9CA8: 0x60E0,\n 0x9CA9: 0x60D3,\n 0x9CAA: 0x60B4,\n 0x9CAB: 0x5FF0,\n 0x9CAC: 0x60BD,\n 0x9CAD: 0x60C6,\n 0x9CAE: 0x60B5,\n 0x9CAF: 0x60D8,\n 0x9CB0: 0x614D,\n 0x9CB1: 0x6115,\n 0x9CB2: 0x6106,\n 0x9CB3: 0x60F6,\n 0x9CB4: 0x60F7,\n 0x9CB5: 0x6100,\n 0x9CB6: 0x60F4,\n 0x9CB7: 0x60FA,\n 0x9CB8: 0x6103,\n 0x9CB9: 0x6121,\n 0x9CBA: 0x60FB,\n 0x9CBB: 0x60F1,\n 0x9CBC: 0x610D,\n 0x9CBD: 0x610E,\n 0x9CBE: 0x6147,\n 0x9CBF: 0x613E,\n 0x9CC0: 0x6128,\n 0x9CC1: 0x6127,\n 0x9CC2: 0x614A,\n 0x9CC3: 0x613F,\n 0x9CC4: 0x613C,\n 0x9CC5: 0x612C,\n 0x9CC6: 0x6134,\n 0x9CC7: 0x613D,\n 0x9CC8: 0x6142,\n 0x9CC9: 0x6144,\n 0x9CCA: 0x6173,\n 0x9CCB: 0x6177,\n 0x9CCC: 0x6158,\n 0x9CCD: 0x6159,\n 0x9CCE: 0x615A,\n 0x9CCF: 0x616B,\n 0x9CD0: 0x6174,\n 0x9CD1: 0x616F,\n 0x9CD2: 0x6165,\n 0x9CD3: 0x6171,\n 0x9CD4: 0x615F,\n 0x9CD5: 0x615D,\n 0x9CD6: 0x6153,\n 0x9CD7: 0x6175,\n 0x9CD8: 0x6199,\n 0x9CD9: 0x6196,\n 0x9CDA: 0x6187,\n 0x9CDB: 0x61AC,\n 0x9CDC: 0x6194,\n 0x9CDD: 0x619A,\n 0x9CDE: 0x618A,\n 0x9CDF: 0x6191,\n 0x9CE0: 0x61AB,\n 0x9CE1: 0x61AE,\n 0x9CE2: 0x61CC,\n 0x9CE3: 0x61CA,\n 0x9CE4: 0x61C9,\n 0x9CE5: 0x61F7,\n 0x9CE6: 0x61C8,\n 0x9CE7: 0x61C3,\n 0x9CE8: 0x61C6,\n 0x9CE9: 0x61BA,\n 0x9CEA: 0x61CB,\n 0x9CEB: 0x7F79,\n 0x9CEC: 0x61CD,\n 0x9CED: 0x61E6,\n 0x9CEE: 0x61E3,\n 0x9CEF: 0x61F6,\n 0x9CF0: 0x61FA,\n 0x9CF1: 0x61F4,\n 0x9CF2: 0x61FF,\n 0x9CF3: 0x61FD,\n 0x9CF4: 0x61FC,\n 0x9CF5: 0x61FE,\n 0x9CF6: 0x6200,\n 0x9CF7: 0x6208,\n 0x9CF8: 0x6209,\n 0x9CF9: 0x620D,\n 0x9CFA: 0x620C,\n 0x9CFB: 0x6214,\n 0x9CFC: 0x621B,\n 0x9D40: 0x621E,\n 0x9D41: 0x6221,\n 0x9D42: 0x622A,\n 0x9D43: 0x622E,\n 0x9D44: 0x6230,\n 0x9D45: 0x6232,\n 0x9D46: 0x6233,\n 0x9D47: 0x6241,\n 0x9D48: 0x624E,\n 0x9D49: 0x625E,\n 0x9D4A: 0x6263,\n 0x9D4B: 0x625B,\n 0x9D4C: 0x6260,\n 0x9D4D: 0x6268,\n 0x9D4E: 0x627C,\n 0x9D4F: 0x6282,\n 0x9D50: 0x6289,\n 0x9D51: 0x627E,\n 0x9D52: 0x6292,\n 0x9D53: 0x6293,\n 0x9D54: 0x6296,\n 0x9D55: 0x62D4,\n 0x9D56: 0x6283,\n 0x9D57: 0x6294,\n 0x9D58: 0x62D7,\n 0x9D59: 0x62D1,\n 0x9D5A: 0x62BB,\n 0x9D5B: 0x62CF,\n 0x9D5C: 0x62FF,\n 0x9D5D: 0x62C6,\n 0x9D5E: 0x64D4,\n 0x9D5F: 0x62C8,\n 0x9D60: 0x62DC,\n 0x9D61: 0x62CC,\n 0x9D62: 0x62CA,\n 0x9D63: 0x62C2,\n 0x9D64: 0x62C7,\n 0x9D65: 0x629B,\n 0x9D66: 0x62C9,\n 0x9D67: 0x630C,\n 0x9D68: 0x62EE,\n 0x9D69: 0x62F1,\n 0x9D6A: 0x6327,\n 0x9D6B: 0x6302,\n 0x9D6C: 0x6308,\n 0x9D6D: 0x62EF,\n 0x9D6E: 0x62F5,\n 0x9D6F: 0x6350,\n 0x9D70: 0x633E,\n 0x9D71: 0x634D,\n 0x9D72: 0x641C,\n 0x9D73: 0x634F,\n 0x9D74: 0x6396,\n 0x9D75: 0x638E,\n 0x9D76: 0x6380,\n 0x9D77: 0x63AB,\n 0x9D78: 0x6376,\n 0x9D79: 0x63A3,\n 0x9D7A: 0x638F,\n 0x9D7B: 0x6389,\n 0x9D7C: 0x639F,\n 0x9D7D: 0x63B5,\n 0x9D7E: 0x636B,\n 0x9D80: 0x6369,\n 0x9D81: 0x63BE,\n 0x9D82: 0x63E9,\n 0x9D83: 0x63C0,\n 0x9D84: 0x63C6,\n 0x9D85: 0x63E3,\n 0x9D86: 0x63C9,\n 0x9D87: 0x63D2,\n 0x9D88: 0x63F6,\n 0x9D89: 0x63C4,\n 0x9D8A: 0x6416,\n 0x9D8B: 0x6434,\n 0x9D8C: 0x6406,\n 0x9D8D: 0x6413,\n 0x9D8E: 0x6426,\n 0x9D8F: 0x6436,\n 0x9D90: 0x651D,\n 0x9D91: 0x6417,\n 0x9D92: 0x6428,\n 0x9D93: 0x640F,\n 0x9D94: 0x6467,\n 0x9D95: 0x646F,\n 0x9D96: 0x6476,\n 0x9D97: 0x644E,\n 0x9D98: 0x652A,\n 0x9D99: 0x6495,\n 0x9D9A: 0x6493,\n 0x9D9B: 0x64A5,\n 0x9D9C: 0x64A9,\n 0x9D9D: 0x6488,\n 0x9D9E: 0x64BC,\n 0x9D9F: 0x64DA,\n 0x9DA0: 0x64D2,\n 0x9DA1: 0x64C5,\n 0x9DA2: 0x64C7,\n 0x9DA3: 0x64BB,\n 0x9DA4: 0x64D8,\n 0x9DA5: 0x64C2,\n 0x9DA6: 0x64F1,\n 0x9DA7: 0x64E7,\n 0x9DA8: 0x8209,\n 0x9DA9: 0x64E0,\n 0x9DAA: 0x64E1,\n 0x9DAB: 0x62AC,\n 0x9DAC: 0x64E3,\n 0x9DAD: 0x64EF,\n 0x9DAE: 0x652C,\n 0x9DAF: 0x64F6,\n 0x9DB0: 0x64F4,\n 0x9DB1: 0x64F2,\n 0x9DB2: 0x64FA,\n 0x9DB3: 0x6500,\n 0x9DB4: 0x64FD,\n 0x9DB5: 0x6518,\n 0x9DB6: 0x651C,\n 0x9DB7: 0x6505,\n 0x9DB8: 0x6524,\n 0x9DB9: 0x6523,\n 0x9DBA: 0x652B,\n 0x9DBB: 0x6534,\n 0x9DBC: 0x6535,\n 0x9DBD: 0x6537,\n 0x9DBE: 0x6536,\n 0x9DBF: 0x6538,\n 0x9DC0: 0x754B,\n 0x9DC1: 0x6548,\n 0x9DC2: 0x6556,\n 0x9DC3: 0x6555,\n 0x9DC4: 0x654D,\n 0x9DC5: 0x6558,\n 0x9DC6: 0x655E,\n 0x9DC7: 0x655D,\n 0x9DC8: 0x6572,\n 0x9DC9: 0x6578,\n 0x9DCA: 0x6582,\n 0x9DCB: 0x6583,\n 0x9DCC: 0x8B8A,\n 0x9DCD: 0x659B,\n 0x9DCE: 0x659F,\n 0x9DCF: 0x65AB,\n 0x9DD0: 0x65B7,\n 0x9DD1: 0x65C3,\n 0x9DD2: 0x65C6,\n 0x9DD3: 0x65C1,\n 0x9DD4: 0x65C4,\n 0x9DD5: 0x65CC,\n 0x9DD6: 0x65D2,\n 0x9DD7: 0x65DB,\n 0x9DD8: 0x65D9,\n 0x9DD9: 0x65E0,\n 0x9DDA: 0x65E1,\n 0x9DDB: 0x65F1,\n 0x9DDC: 0x6772,\n 0x9DDD: 0x660A,\n 0x9DDE: 0x6603,\n 0x9DDF: 0x65FB,\n 0x9DE0: 0x6773,\n 0x9DE1: 0x6635,\n 0x9DE2: 0x6636,\n 0x9DE3: 0x6634,\n 0x9DE4: 0x661C,\n 0x9DE5: 0x664F,\n 0x9DE6: 0x6644,\n 0x9DE7: 0x6649,\n 0x9DE8: 0x6641,\n 0x9DE9: 0x665E,\n 0x9DEA: 0x665D,\n 0x9DEB: 0x6664,\n 0x9DEC: 0x6667,\n 0x9DED: 0x6668,\n 0x9DEE: 0x665F,\n 0x9DEF: 0x6662,\n 0x9DF0: 0x6670,\n 0x9DF1: 0x6683,\n 0x9DF2: 0x6688,\n 0x9DF3: 0x668E,\n 0x9DF4: 0x6689,\n 0x9DF5: 0x6684,\n 0x9DF6: 0x6698,\n 0x9DF7: 0x669D,\n 0x9DF8: 0x66C1,\n 0x9DF9: 0x66B9,\n 0x9DFA: 0x66C9,\n 0x9DFB: 0x66BE,\n 0x9DFC: 0x66BC,\n 0x9E40: 0x66C4,\n 0x9E41: 0x66B8,\n 0x9E42: 0x66D6,\n 0x9E43: 0x66DA,\n 0x9E44: 0x66E0,\n 0x9E45: 0x663F,\n 0x9E46: 0x66E6,\n 0x9E47: 0x66E9,\n 0x9E48: 0x66F0,\n 0x9E49: 0x66F5,\n 0x9E4A: 0x66F7,\n 0x9E4B: 0x670F,\n 0x9E4C: 0x6716,\n 0x9E4D: 0x671E,\n 0x9E4E: 0x6726,\n 0x9E4F: 0x6727,\n 0x9E50: 0x9738,\n 0x9E51: 0x672E,\n 0x9E52: 0x673F,\n 0x9E53: 0x6736,\n 0x9E54: 0x6741,\n 0x9E55: 0x6738,\n 0x9E56: 0x6737,\n 0x9E57: 0x6746,\n 0x9E58: 0x675E,\n 0x9E59: 0x6760,\n 0x9E5A: 0x6759,\n 0x9E5B: 0x6763,\n 0x9E5C: 0x6764,\n 0x9E5D: 0x6789,\n 0x9E5E: 0x6770,\n 0x9E5F: 0x67A9,\n 0x9E60: 0x677C,\n 0x9E61: 0x676A,\n 0x9E62: 0x678C,\n 0x9E63: 0x678B,\n 0x9E64: 0x67A6,\n 0x9E65: 0x67A1,\n 0x9E66: 0x6785,\n 0x9E67: 0x67B7,\n 0x9E68: 0x67EF,\n 0x9E69: 0x67B4,\n 0x9E6A: 0x67EC,\n 0x9E6B: 0x67B3,\n 0x9E6C: 0x67E9,\n 0x9E6D: 0x67B8,\n 0x9E6E: 0x67E4,\n 0x9E6F: 0x67DE,\n 0x9E70: 0x67DD,\n 0x9E71: 0x67E2,\n 0x9E72: 0x67EE,\n 0x9E73: 0x67B9,\n 0x9E74: 0x67CE,\n 0x9E75: 0x67C6,\n 0x9E76: 0x67E7,\n 0x9E77: 0x6A9C,\n 0x9E78: 0x681E,\n 0x9E79: 0x6846,\n 0x9E7A: 0x6829,\n 0x9E7B: 0x6840,\n 0x9E7C: 0x684D,\n 0x9E7D: 0x6832,\n 0x9E7E: 0x684E,\n 0x9E80: 0x68B3,\n 0x9E81: 0x682B,\n 0x9E82: 0x6859,\n 0x9E83: 0x6863,\n 0x9E84: 0x6877,\n 0x9E85: 0x687F,\n 0x9E86: 0x689F,\n 0x9E87: 0x688F,\n 0x9E88: 0x68AD,\n 0x9E89: 0x6894,\n 0x9E8A: 0x689D,\n 0x9E8B: 0x689B,\n 0x9E8C: 0x6883,\n 0x9E8D: 0x6AAE,\n 0x9E8E: 0x68B9,\n 0x9E8F: 0x6874,\n 0x9E90: 0x68B5,\n 0x9E91: 0x68A0,\n 0x9E92: 0x68BA,\n 0x9E93: 0x690F,\n 0x9E94: 0x688D,\n 0x9E95: 0x687E,\n 0x9E96: 0x6901,\n 0x9E97: 0x68CA,\n 0x9E98: 0x6908,\n 0x9E99: 0x68D8,\n 0x9E9A: 0x6922,\n 0x9E9B: 0x6926,\n 0x9E9C: 0x68E1,\n 0x9E9D: 0x690C,\n 0x9E9E: 0x68CD,\n 0x9E9F: 0x68D4,\n 0x9EA0: 0x68E7,\n 0x9EA1: 0x68D5,\n 0x9EA2: 0x6936,\n 0x9EA3: 0x6912,\n 0x9EA4: 0x6904,\n 0x9EA5: 0x68D7,\n 0x9EA6: 0x68E3,\n 0x9EA7: 0x6925,\n 0x9EA8: 0x68F9,\n 0x9EA9: 0x68E0,\n 0x9EAA: 0x68EF,\n 0x9EAB: 0x6928,\n 0x9EAC: 0x692A,\n 0x9EAD: 0x691A,\n 0x9EAE: 0x6923,\n 0x9EAF: 0x6921,\n 0x9EB0: 0x68C6,\n 0x9EB1: 0x6979,\n 0x9EB2: 0x6977,\n 0x9EB3: 0x695C,\n 0x9EB4: 0x6978,\n 0x9EB5: 0x696B,\n 0x9EB6: 0x6954,\n 0x9EB7: 0x697E,\n 0x9EB8: 0x696E,\n 0x9EB9: 0x6939,\n 0x9EBA: 0x6974,\n 0x9EBB: 0x693D,\n 0x9EBC: 0x6959,\n 0x9EBD: 0x6930,\n 0x9EBE: 0x6961,\n 0x9EBF: 0x695E,\n 0x9EC0: 0x695D,\n 0x9EC1: 0x6981,\n 0x9EC2: 0x696A,\n 0x9EC3: 0x69B2,\n 0x9EC4: 0x69AE,\n 0x9EC5: 0x69D0,\n 0x9EC6: 0x69BF,\n 0x9EC7: 0x69C1,\n 0x9EC8: 0x69D3,\n 0x9EC9: 0x69BE,\n 0x9ECA: 0x69CE,\n 0x9ECB: 0x5BE8,\n 0x9ECC: 0x69CA,\n 0x9ECD: 0x69DD,\n 0x9ECE: 0x69BB,\n 0x9ECF: 0x69C3,\n 0x9ED0: 0x69A7,\n 0x9ED1: 0x6A2E,\n 0x9ED2: 0x6991,\n 0x9ED3: 0x69A0,\n 0x9ED4: 0x699C,\n 0x9ED5: 0x6995,\n 0x9ED6: 0x69B4,\n 0x9ED7: 0x69DE,\n 0x9ED8: 0x69E8,\n 0x9ED9: 0x6A02,\n 0x9EDA: 0x6A1B,\n 0x9EDB: 0x69FF,\n 0x9EDC: 0x6B0A,\n 0x9EDD: 0x69F9,\n 0x9EDE: 0x69F2,\n 0x9EDF: 0x69E7,\n 0x9EE0: 0x6A05,\n 0x9EE1: 0x69B1,\n 0x9EE2: 0x6A1E,\n 0x9EE3: 0x69ED,\n 0x9EE4: 0x6A14,\n 0x9EE5: 0x69EB,\n 0x9EE6: 0x6A0A,\n 0x9EE7: 0x6A12,\n 0x9EE8: 0x6AC1,\n 0x9EE9: 0x6A23,\n 0x9EEA: 0x6A13,\n 0x9EEB: 0x6A44,\n 0x9EEC: 0x6A0C,\n 0x9EED: 0x6A72,\n 0x9EEE: 0x6A36,\n 0x9EEF: 0x6A78,\n 0x9EF0: 0x6A47,\n 0x9EF1: 0x6A62,\n 0x9EF2: 0x6A59,\n 0x9EF3: 0x6A66,\n 0x9EF4: 0x6A48,\n 0x9EF5: 0x6A38,\n 0x9EF6: 0x6A22,\n 0x9EF7: 0x6A90,\n 0x9EF8: 0x6A8D,\n 0x9EF9: 0x6AA0,\n 0x9EFA: 0x6A84,\n 0x9EFB: 0x6AA2,\n 0x9EFC: 0x6AA3,\n 0x9F40: 0x6A97,\n 0x9F41: 0x8617,\n 0x9F42: 0x6ABB,\n 0x9F43: 0x6AC3,\n 0x9F44: 0x6AC2,\n 0x9F45: 0x6AB8,\n 0x9F46: 0x6AB3,\n 0x9F47: 0x6AAC,\n 0x9F48: 0x6ADE,\n 0x9F49: 0x6AD1,\n 0x9F4A: 0x6ADF,\n 0x9F4B: 0x6AAA,\n 0x9F4C: 0x6ADA,\n 0x9F4D: 0x6AEA,\n 0x9F4E: 0x6AFB,\n 0x9F4F: 0x6B05,\n 0x9F50: 0x8616,\n 0x9F51: 0x6AFA,\n 0x9F52: 0x6B12,\n 0x9F53: 0x6B16,\n 0x9F54: 0x9B31,\n 0x9F55: 0x6B1F,\n 0x9F56: 0x6B38,\n 0x9F57: 0x6B37,\n 0x9F58: 0x76DC,\n 0x9F59: 0x6B39,\n 0x9F5A: 0x98EE,\n 0x9F5B: 0x6B47,\n 0x9F5C: 0x6B43,\n 0x9F5D: 0x6B49,\n 0x9F5E: 0x6B50,\n 0x9F5F: 0x6B59,\n 0x9F60: 0x6B54,\n 0x9F61: 0x6B5B,\n 0x9F62: 0x6B5F,\n 0x9F63: 0x6B61,\n 0x9F64: 0x6B78,\n 0x9F65: 0x6B79,\n 0x9F66: 0x6B7F,\n 0x9F67: 0x6B80,\n 0x9F68: 0x6B84,\n 0x9F69: 0x6B83,\n 0x9F6A: 0x6B8D,\n 0x9F6B: 0x6B98,\n 0x9F6C: 0x6B95,\n 0x9F6D: 0x6B9E,\n 0x9F6E: 0x6BA4,\n 0x9F6F: 0x6BAA,\n 0x9F70: 0x6BAB,\n 0x9F71: 0x6BAF,\n 0x9F72: 0x6BB2,\n 0x9F73: 0x6BB1,\n 0x9F74: 0x6BB3,\n 0x9F75: 0x6BB7,\n 0x9F76: 0x6BBC,\n 0x9F77: 0x6BC6,\n 0x9F78: 0x6BCB,\n 0x9F79: 0x6BD3,\n 0x9F7A: 0x6BDF,\n 0x9F7B: 0x6BEC,\n 0x9F7C: 0x6BEB,\n 0x9F7D: 0x6BF3,\n 0x9F7E: 0x6BEF,\n 0x9F80: 0x9EBE,\n 0x9F81: 0x6C08,\n 0x9F82: 0x6C13,\n 0x9F83: 0x6C14,\n 0x9F84: 0x6C1B,\n 0x9F85: 0x6C24,\n 0x9F86: 0x6C23,\n 0x9F87: 0x6C5E,\n 0x9F88: 0x6C55,\n 0x9F89: 0x6C62,\n 0x9F8A: 0x6C6A,\n 0x9F8B: 0x6C82,\n 0x9F8C: 0x6C8D,\n 0x9F8D: 0x6C9A,\n 0x9F8E: 0x6C81,\n 0x9F8F: 0x6C9B,\n 0x9F90: 0x6C7E,\n 0x9F91: 0x6C68,\n 0x9F92: 0x6C73,\n 0x9F93: 0x6C92,\n 0x9F94: 0x6C90,\n 0x9F95: 0x6CC4,\n 0x9F96: 0x6CF1,\n 0x9F97: 0x6CD3,\n 0x9F98: 0x6CBD,\n 0x9F99: 0x6CD7,\n 0x9F9A: 0x6CC5,\n 0x9F9B: 0x6CDD,\n 0x9F9C: 0x6CAE,\n 0x9F9D: 0x6CB1,\n 0x9F9E: 0x6CBE,\n 0x9F9F: 0x6CBA,\n 0x9FA0: 0x6CDB,\n 0x9FA1: 0x6CEF,\n 0x9FA2: 0x6CD9,\n 0x9FA3: 0x6CEA,\n 0x9FA4: 0x6D1F,\n 0x9FA5: 0x884D,\n 0x9FA6: 0x6D36,\n 0x9FA7: 0x6D2B,\n 0x9FA8: 0x6D3D,\n 0x9FA9: 0x6D38,\n 0x9FAA: 0x6D19,\n 0x9FAB: 0x6D35,\n 0x9FAC: 0x6D33,\n 0x9FAD: 0x6D12,\n 0x9FAE: 0x6D0C,\n 0x9FAF: 0x6D63,\n 0x9FB0: 0x6D93,\n 0x9FB1: 0x6D64,\n 0x9FB2: 0x6D5A,\n 0x9FB3: 0x6D79,\n 0x9FB4: 0x6D59,\n 0x9FB5: 0x6D8E,\n 0x9FB6: 0x6D95,\n 0x9FB7: 0x6FE4,\n 0x9FB8: 0x6D85,\n 0x9FB9: 0x6DF9,\n 0x9FBA: 0x6E15,\n 0x9FBB: 0x6E0A,\n 0x9FBC: 0x6DB5,\n 0x9FBD: 0x6DC7,\n 0x9FBE: 0x6DE6,\n 0x9FBF: 0x6DB8,\n 0x9FC0: 0x6DC6,\n 0x9FC1: 0x6DEC,\n 0x9FC2: 0x6DDE,\n 0x9FC3: 0x6DCC,\n 0x9FC4: 0x6DE8,\n 0x9FC5: 0x6DD2,\n 0x9FC6: 0x6DC5,\n 0x9FC7: 0x6DFA,\n 0x9FC8: 0x6DD9,\n 0x9FC9: 0x6DE4,\n 0x9FCA: 0x6DD5,\n 0x9FCB: 0x6DEA,\n 0x9FCC: 0x6DEE,\n 0x9FCD: 0x6E2D,\n 0x9FCE: 0x6E6E,\n 0x9FCF: 0x6E2E,\n 0x9FD0: 0x6E19,\n 0x9FD1: 0x6E72,\n 0x9FD2: 0x6E5F,\n 0x9FD3: 0x6E3E,\n 0x9FD4: 0x6E23,\n 0x9FD5: 0x6E6B,\n 0x9FD6: 0x6E2B,\n 0x9FD7: 0x6E76,\n 0x9FD8: 0x6E4D,\n 0x9FD9: 0x6E1F,\n 0x9FDA: 0x6E43,\n 0x9FDB: 0x6E3A,\n 0x9FDC: 0x6E4E,\n 0x9FDD: 0x6E24,\n 0x9FDE: 0x6EFF,\n 0x9FDF: 0x6E1D,\n 0x9FE0: 0x6E38,\n 0x9FE1: 0x6E82,\n 0x9FE2: 0x6EAA,\n 0x9FE3: 0x6E98,\n 0x9FE4: 0x6EC9,\n 0x9FE5: 0x6EB7,\n 0x9FE6: 0x6ED3,\n 0x9FE7: 0x6EBD,\n 0x9FE8: 0x6EAF,\n 0x9FE9: 0x6EC4,\n 0x9FEA: 0x6EB2,\n 0x9FEB: 0x6ED4,\n 0x9FEC: 0x6ED5,\n 0x9FED: 0x6E8F,\n 0x9FEE: 0x6EA5,\n 0x9FEF: 0x6EC2,\n 0x9FF0: 0x6E9F,\n 0x9FF1: 0x6F41,\n 0x9FF2: 0x6F11,\n 0x9FF3: 0x704C,\n 0x9FF4: 0x6EEC,\n 0x9FF5: 0x6EF8,\n 0x9FF6: 0x6EFE,\n 0x9FF7: 0x6F3F,\n 0x9FF8: 0x6EF2,\n 0x9FF9: 0x6F31,\n 0x9FFA: 0x6EEF,\n 0x9FFB: 0x6F32,\n 0x9FFC: 0x6ECC,\n 0xA1: 0xFF61,\n 0xA2: 0xFF62,\n 0xA3: 0xFF63,\n 0xA4: 0xFF64,\n 0xA5: 0xFF65,\n 0xA6: 0xFF66,\n 0xA7: 0xFF67,\n 0xA8: 0xFF68,\n 0xA9: 0xFF69,\n 0xAA: 0xFF6A,\n 0xAB: 0xFF6B,\n 0xAC: 0xFF6C,\n 0xAD: 0xFF6D,\n 0xAE: 0xFF6E,\n 0xAF: 0xFF6F,\n 0xB0: 0xFF70,\n 0xB1: 0xFF71,\n 0xB2: 0xFF72,\n 0xB3: 0xFF73,\n 0xB4: 0xFF74,\n 0xB5: 0xFF75,\n 0xB6: 0xFF76,\n 0xB7: 0xFF77,\n 0xB8: 0xFF78,\n 0xB9: 0xFF79,\n 0xBA: 0xFF7A,\n 0xBB: 0xFF7B,\n 0xBC: 0xFF7C,\n 0xBD: 0xFF7D,\n 0xBE: 0xFF7E,\n 0xBF: 0xFF7F,\n 0xC0: 0xFF80,\n 0xC1: 0xFF81,\n 0xC2: 0xFF82,\n 0xC3: 0xFF83,\n 0xC4: 0xFF84,\n 0xC5: 0xFF85,\n 0xC6: 0xFF86,\n 0xC7: 0xFF87,\n 0xC8: 0xFF88,\n 0xC9: 0xFF89,\n 0xCA: 0xFF8A,\n 0xCB: 0xFF8B,\n 0xCC: 0xFF8C,\n 0xCD: 0xFF8D,\n 0xCE: 0xFF8E,\n 0xCF: 0xFF8F,\n 0xD0: 0xFF90,\n 0xD1: 0xFF91,\n 0xD2: 0xFF92,\n 0xD3: 0xFF93,\n 0xD4: 0xFF94,\n 0xD5: 0xFF95,\n 0xD6: 0xFF96,\n 0xD7: 0xFF97,\n 0xD8: 0xFF98,\n 0xD9: 0xFF99,\n 0xDA: 0xFF9A,\n 0xDB: 0xFF9B,\n 0xDC: 0xFF9C,\n 0xDD: 0xFF9D,\n 0xDE: 0xFF9E,\n 0xDF: 0xFF9F,\n 0xE040: 0x6F3E,\n 0xE041: 0x6F13,\n 0xE042: 0x6EF7,\n 0xE043: 0x6F86,\n 0xE044: 0x6F7A,\n 0xE045: 0x6F78,\n 0xE046: 0x6F81,\n 0xE047: 0x6F80,\n 0xE048: 0x6F6F,\n 0xE049: 0x6F5B,\n 0xE04A: 0x6FF3,\n 0xE04B: 0x6F6D,\n 0xE04C: 0x6F82,\n 0xE04D: 0x6F7C,\n 0xE04E: 0x6F58,\n 0xE04F: 0x6F8E,\n 0xE050: 0x6F91,\n 0xE051: 0x6FC2,\n 0xE052: 0x6F66,\n 0xE053: 0x6FB3,\n 0xE054: 0x6FA3,\n 0xE055: 0x6FA1,\n 0xE056: 0x6FA4,\n 0xE057: 0x6FB9,\n 0xE058: 0x6FC6,\n 0xE059: 0x6FAA,\n 0xE05A: 0x6FDF,\n 0xE05B: 0x6FD5,\n 0xE05C: 0x6FEC,\n 0xE05D: 0x6FD4,\n 0xE05E: 0x6FD8,\n 0xE05F: 0x6FF1,\n 0xE060: 0x6FEE,\n 0xE061: 0x6FDB,\n 0xE062: 0x7009,\n 0xE063: 0x700B,\n 0xE064: 0x6FFA,\n 0xE065: 0x7011,\n 0xE066: 0x7001,\n 0xE067: 0x700F,\n 0xE068: 0x6FFE,\n 0xE069: 0x701B,\n 0xE06A: 0x701A,\n 0xE06B: 0x6F74,\n 0xE06C: 0x701D,\n 0xE06D: 0x7018,\n 0xE06E: 0x701F,\n 0xE06F: 0x7030,\n 0xE070: 0x703E,\n 0xE071: 0x7032,\n 0xE072: 0x7051,\n 0xE073: 0x7063,\n 0xE074: 0x7099,\n 0xE075: 0x7092,\n 0xE076: 0x70AF,\n 0xE077: 0x70F1,\n 0xE078: 0x70AC,\n 0xE079: 0x70B8,\n 0xE07A: 0x70B3,\n 0xE07B: 0x70AE,\n 0xE07C: 0x70DF,\n 0xE07D: 0x70CB,\n 0xE07E: 0x70DD,\n 0xE080: 0x70D9,\n 0xE081: 0x7109,\n 0xE082: 0x70FD,\n 0xE083: 0x711C,\n 0xE084: 0x7119,\n 0xE085: 0x7165,\n 0xE086: 0x7155,\n 0xE087: 0x7188,\n 0xE088: 0x7166,\n 0xE089: 0x7162,\n 0xE08A: 0x714C,\n 0xE08B: 0x7156,\n 0xE08C: 0x716C,\n 0xE08D: 0x718F,\n 0xE08E: 0x71FB,\n 0xE08F: 0x7184,\n 0xE090: 0x7195,\n 0xE091: 0x71A8,\n 0xE092: 0x71AC,\n 0xE093: 0x71D7,\n 0xE094: 0x71B9,\n 0xE095: 0x71BE,\n 0xE096: 0x71D2,\n 0xE097: 0x71C9,\n 0xE098: 0x71D4,\n 0xE099: 0x71CE,\n 0xE09A: 0x71E0,\n 0xE09B: 0x71EC,\n 0xE09C: 0x71E7,\n 0xE09D: 0x71F5,\n 0xE09E: 0x71FC,\n 0xE09F: 0x71F9,\n 0xE0A0: 0x71FF,\n 0xE0A1: 0x720D,\n 0xE0A2: 0x7210,\n 0xE0A3: 0x721B,\n 0xE0A4: 0x7228,\n 0xE0A5: 0x722D,\n 0xE0A6: 0x722C,\n 0xE0A7: 0x7230,\n 0xE0A8: 0x7232,\n 0xE0A9: 0x723B,\n 0xE0AA: 0x723C,\n 0xE0AB: 0x723F,\n 0xE0AC: 0x7240,\n 0xE0AD: 0x7246,\n 0xE0AE: 0x724B,\n 0xE0AF: 0x7258,\n 0xE0B0: 0x7274,\n 0xE0B1: 0x727E,\n 0xE0B2: 0x7282,\n 0xE0B3: 0x7281,\n 0xE0B4: 0x7287,\n 0xE0B5: 0x7292,\n 0xE0B6: 0x7296,\n 0xE0B7: 0x72A2,\n 0xE0B8: 0x72A7,\n 0xE0B9: 0x72B9,\n 0xE0BA: 0x72B2,\n 0xE0BB: 0x72C3,\n 0xE0BC: 0x72C6,\n 0xE0BD: 0x72C4,\n 0xE0BE: 0x72CE,\n 0xE0BF: 0x72D2,\n 0xE0C0: 0x72E2,\n 0xE0C1: 0x72E0,\n 0xE0C2: 0x72E1,\n 0xE0C3: 0x72F9,\n 0xE0C4: 0x72F7,\n 0xE0C5: 0x500F,\n 0xE0C6: 0x7317,\n 0xE0C7: 0x730A,\n 0xE0C8: 0x731C,\n 0xE0C9: 0x7316,\n 0xE0CA: 0x731D,\n 0xE0CB: 0x7334,\n 0xE0CC: 0x732F,\n 0xE0CD: 0x7329,\n 0xE0CE: 0x7325,\n 0xE0CF: 0x733E,\n 0xE0D0: 0x734E,\n 0xE0D1: 0x734F,\n 0xE0D2: 0x9ED8,\n 0xE0D3: 0x7357,\n 0xE0D4: 0x736A,\n 0xE0D5: 0x7368,\n 0xE0D6: 0x7370,\n 0xE0D7: 0x7378,\n 0xE0D8: 0x7375,\n 0xE0D9: 0x737B,\n 0xE0DA: 0x737A,\n 0xE0DB: 0x73C8,\n 0xE0DC: 0x73B3,\n 0xE0DD: 0x73CE,\n 0xE0DE: 0x73BB,\n 0xE0DF: 0x73C0,\n 0xE0E0: 0x73E5,\n 0xE0E1: 0x73EE,\n 0xE0E2: 0x73DE,\n 0xE0E3: 0x74A2,\n 0xE0E4: 0x7405,\n 0xE0E5: 0x746F,\n 0xE0E6: 0x7425,\n 0xE0E7: 0x73F8,\n 0xE0E8: 0x7432,\n 0xE0E9: 0x743A,\n 0xE0EA: 0x7455,\n 0xE0EB: 0x743F,\n 0xE0EC: 0x745F,\n 0xE0ED: 0x7459,\n 0xE0EE: 0x7441,\n 0xE0EF: 0x745C,\n 0xE0F0: 0x7469,\n 0xE0F1: 0x7470,\n 0xE0F2: 0x7463,\n 0xE0F3: 0x746A,\n 0xE0F4: 0x7476,\n 0xE0F5: 0x747E,\n 0xE0F6: 0x748B,\n 0xE0F7: 0x749E,\n 0xE0F8: 0x74A7,\n 0xE0F9: 0x74CA,\n 0xE0FA: 0x74CF,\n 0xE0FB: 0x74D4,\n 0xE0FC: 0x73F1,\n 0xE140: 0x74E0,\n 0xE141: 0x74E3,\n 0xE142: 0x74E7,\n 0xE143: 0x74E9,\n 0xE144: 0x74EE,\n 0xE145: 0x74F2,\n 0xE146: 0x74F0,\n 0xE147: 0x74F1,\n 0xE148: 0x74F8,\n 0xE149: 0x74F7,\n 0xE14A: 0x7504,\n 0xE14B: 0x7503,\n 0xE14C: 0x7505,\n 0xE14D: 0x750C,\n 0xE14E: 0x750E,\n 0xE14F: 0x750D,\n 0xE150: 0x7515,\n 0xE151: 0x7513,\n 0xE152: 0x751E,\n 0xE153: 0x7526,\n 0xE154: 0x752C,\n 0xE155: 0x753C,\n 0xE156: 0x7544,\n 0xE157: 0x754D,\n 0xE158: 0x754A,\n 0xE159: 0x7549,\n 0xE15A: 0x755B,\n 0xE15B: 0x7546,\n 0xE15C: 0x755A,\n 0xE15D: 0x7569,\n 0xE15E: 0x7564,\n 0xE15F: 0x7567,\n 0xE160: 0x756B,\n 0xE161: 0x756D,\n 0xE162: 0x7578,\n 0xE163: 0x7576,\n 0xE164: 0x7586,\n 0xE165: 0x7587,\n 0xE166: 0x7574,\n 0xE167: 0x758A,\n 0xE168: 0x7589,\n 0xE169: 0x7582,\n 0xE16A: 0x7594,\n 0xE16B: 0x759A,\n 0xE16C: 0x759D,\n 0xE16D: 0x75A5,\n 0xE16E: 0x75A3,\n 0xE16F: 0x75C2,\n 0xE170: 0x75B3,\n 0xE171: 0x75C3,\n 0xE172: 0x75B5,\n 0xE173: 0x75BD,\n 0xE174: 0x75B8,\n 0xE175: 0x75BC,\n 0xE176: 0x75B1,\n 0xE177: 0x75CD,\n 0xE178: 0x75CA,\n 0xE179: 0x75D2,\n 0xE17A: 0x75D9,\n 0xE17B: 0x75E3,\n 0xE17C: 0x75DE,\n 0xE17D: 0x75FE,\n 0xE17E: 0x75FF,\n 0xE180: 0x75FC,\n 0xE181: 0x7601,\n 0xE182: 0x75F0,\n 0xE183: 0x75FA,\n 0xE184: 0x75F2,\n 0xE185: 0x75F3,\n 0xE186: 0x760B,\n 0xE187: 0x760D,\n 0xE188: 0x7609,\n 0xE189: 0x761F,\n 0xE18A: 0x7627,\n 0xE18B: 0x7620,\n 0xE18C: 0x7621,\n 0xE18D: 0x7622,\n 0xE18E: 0x7624,\n 0xE18F: 0x7634,\n 0xE190: 0x7630,\n 0xE191: 0x763B,\n 0xE192: 0x7647,\n 0xE193: 0x7648,\n 0xE194: 0x7646,\n 0xE195: 0x765C,\n 0xE196: 0x7658,\n 0xE197: 0x7661,\n 0xE198: 0x7662,\n 0xE199: 0x7668,\n 0xE19A: 0x7669,\n 0xE19B: 0x766A,\n 0xE19C: 0x7667,\n 0xE19D: 0x766C,\n 0xE19E: 0x7670,\n 0xE19F: 0x7672,\n 0xE1A0: 0x7676,\n 0xE1A1: 0x7678,\n 0xE1A2: 0x767C,\n 0xE1A3: 0x7680,\n 0xE1A4: 0x7683,\n 0xE1A5: 0x7688,\n 0xE1A6: 0x768B,\n 0xE1A7: 0x768E,\n 0xE1A8: 0x7696,\n 0xE1A9: 0x7693,\n 0xE1AA: 0x7699,\n 0xE1AB: 0x769A,\n 0xE1AC: 0x76B0,\n 0xE1AD: 0x76B4,\n 0xE1AE: 0x76B8,\n 0xE1AF: 0x76B9,\n 0xE1B0: 0x76BA,\n 0xE1B1: 0x76C2,\n 0xE1B2: 0x76CD,\n 0xE1B3: 0x76D6,\n 0xE1B4: 0x76D2,\n 0xE1B5: 0x76DE,\n 0xE1B6: 0x76E1,\n 0xE1B7: 0x76E5,\n 0xE1B8: 0x76E7,\n 0xE1B9: 0x76EA,\n 0xE1BA: 0x862F,\n 0xE1BB: 0x76FB,\n 0xE1BC: 0x7708,\n 0xE1BD: 0x7707,\n 0xE1BE: 0x7704,\n 0xE1BF: 0x7729,\n 0xE1C0: 0x7724,\n 0xE1C1: 0x771E,\n 0xE1C2: 0x7725,\n 0xE1C3: 0x7726,\n 0xE1C4: 0x771B,\n 0xE1C5: 0x7737,\n 0xE1C6: 0x7738,\n 0xE1C7: 0x7747,\n 0xE1C8: 0x775A,\n 0xE1C9: 0x7768,\n 0xE1CA: 0x776B,\n 0xE1CB: 0x775B,\n 0xE1CC: 0x7765,\n 0xE1CD: 0x777F,\n 0xE1CE: 0x777E,\n 0xE1CF: 0x7779,\n 0xE1D0: 0x778E,\n 0xE1D1: 0x778B,\n 0xE1D2: 0x7791,\n 0xE1D3: 0x77A0,\n 0xE1D4: 0x779E,\n 0xE1D5: 0x77B0,\n 0xE1D6: 0x77B6,\n 0xE1D7: 0x77B9,\n 0xE1D8: 0x77BF,\n 0xE1D9: 0x77BC,\n 0xE1DA: 0x77BD,\n 0xE1DB: 0x77BB,\n 0xE1DC: 0x77C7,\n 0xE1DD: 0x77CD,\n 0xE1DE: 0x77D7,\n 0xE1DF: 0x77DA,\n 0xE1E0: 0x77DC,\n 0xE1E1: 0x77E3,\n 0xE1E2: 0x77EE,\n 0xE1E3: 0x77FC,\n 0xE1E4: 0x780C,\n 0xE1E5: 0x7812,\n 0xE1E6: 0x7926,\n 0xE1E7: 0x7820,\n 0xE1E8: 0x792A,\n 0xE1E9: 0x7845,\n 0xE1EA: 0x788E,\n 0xE1EB: 0x7874,\n 0xE1EC: 0x7886,\n 0xE1ED: 0x787C,\n 0xE1EE: 0x789A,\n 0xE1EF: 0x788C,\n 0xE1F0: 0x78A3,\n 0xE1F1: 0x78B5,\n 0xE1F2: 0x78AA,\n 0xE1F3: 0x78AF,\n 0xE1F4: 0x78D1,\n 0xE1F5: 0x78C6,\n 0xE1F6: 0x78CB,\n 0xE1F7: 0x78D4,\n 0xE1F8: 0x78BE,\n 0xE1F9: 0x78BC,\n 0xE1FA: 0x78C5,\n 0xE1FB: 0x78CA,\n 0xE1FC: 0x78EC,\n 0xE240: 0x78E7,\n 0xE241: 0x78DA,\n 0xE242: 0x78FD,\n 0xE243: 0x78F4,\n 0xE244: 0x7907,\n 0xE245: 0x7912,\n 0xE246: 0x7911,\n 0xE247: 0x7919,\n 0xE248: 0x792C,\n 0xE249: 0x792B,\n 0xE24A: 0x7940,\n 0xE24B: 0x7960,\n 0xE24C: 0x7957,\n 0xE24D: 0x795F,\n 0xE24E: 0x795A,\n 0xE24F: 0x7955,\n 0xE250: 0x7953,\n 0xE251: 0x797A,\n 0xE252: 0x797F,\n 0xE253: 0x798A,\n 0xE254: 0x799D,\n 0xE255: 0x79A7,\n 0xE256: 0x9F4B,\n 0xE257: 0x79AA,\n 0xE258: 0x79AE,\n 0xE259: 0x79B3,\n 0xE25A: 0x79B9,\n 0xE25B: 0x79BA,\n 0xE25C: 0x79C9,\n 0xE25D: 0x79D5,\n 0xE25E: 0x79E7,\n 0xE25F: 0x79EC,\n 0xE260: 0x79E1,\n 0xE261: 0x79E3,\n 0xE262: 0x7A08,\n 0xE263: 0x7A0D,\n 0xE264: 0x7A18,\n 0xE265: 0x7A19,\n 0xE266: 0x7A20,\n 0xE267: 0x7A1F,\n 0xE268: 0x7980,\n 0xE269: 0x7A31,\n 0xE26A: 0x7A3B,\n 0xE26B: 0x7A3E,\n 0xE26C: 0x7A37,\n 0xE26D: 0x7A43,\n 0xE26E: 0x7A57,\n 0xE26F: 0x7A49,\n 0xE270: 0x7A61,\n 0xE271: 0x7A62,\n 0xE272: 0x7A69,\n 0xE273: 0x9F9D,\n 0xE274: 0x7A70,\n 0xE275: 0x7A79,\n 0xE276: 0x7A7D,\n 0xE277: 0x7A88,\n 0xE278: 0x7A97,\n 0xE279: 0x7A95,\n 0xE27A: 0x7A98,\n 0xE27B: 0x7A96,\n 0xE27C: 0x7AA9,\n 0xE27D: 0x7AC8,\n 0xE27E: 0x7AB0,\n 0xE280: 0x7AB6,\n 0xE281: 0x7AC5,\n 0xE282: 0x7AC4,\n 0xE283: 0x7ABF,\n 0xE284: 0x9083,\n 0xE285: 0x7AC7,\n 0xE286: 0x7ACA,\n 0xE287: 0x7ACD,\n 0xE288: 0x7ACF,\n 0xE289: 0x7AD5,\n 0xE28A: 0x7AD3,\n 0xE28B: 0x7AD9,\n 0xE28C: 0x7ADA,\n 0xE28D: 0x7ADD,\n 0xE28E: 0x7AE1,\n 0xE28F: 0x7AE2,\n 0xE290: 0x7AE6,\n 0xE291: 0x7AED,\n 0xE292: 0x7AF0,\n 0xE293: 0x7B02,\n 0xE294: 0x7B0F,\n 0xE295: 0x7B0A,\n 0xE296: 0x7B06,\n 0xE297: 0x7B33,\n 0xE298: 0x7B18,\n 0xE299: 0x7B19,\n 0xE29A: 0x7B1E,\n 0xE29B: 0x7B35,\n 0xE29C: 0x7B28,\n 0xE29D: 0x7B36,\n 0xE29E: 0x7B50,\n 0xE29F: 0x7B7A,\n 0xE2A0: 0x7B04,\n 0xE2A1: 0x7B4D,\n 0xE2A2: 0x7B0B,\n 0xE2A3: 0x7B4C,\n 0xE2A4: 0x7B45,\n 0xE2A5: 0x7B75,\n 0xE2A6: 0x7B65,\n 0xE2A7: 0x7B74,\n 0xE2A8: 0x7B67,\n 0xE2A9: 0x7B70,\n 0xE2AA: 0x7B71,\n 0xE2AB: 0x7B6C,\n 0xE2AC: 0x7B6E,\n 0xE2AD: 0x7B9D,\n 0xE2AE: 0x7B98,\n 0xE2AF: 0x7B9F,\n 0xE2B0: 0x7B8D,\n 0xE2B1: 0x7B9C,\n 0xE2B2: 0x7B9A,\n 0xE2B3: 0x7B8B,\n 0xE2B4: 0x7B92,\n 0xE2B5: 0x7B8F,\n 0xE2B6: 0x7B5D,\n 0xE2B7: 0x7B99,\n 0xE2B8: 0x7BCB,\n 0xE2B9: 0x7BC1,\n 0xE2BA: 0x7BCC,\n 0xE2BB: 0x7BCF,\n 0xE2BC: 0x7BB4,\n 0xE2BD: 0x7BC6,\n 0xE2BE: 0x7BDD,\n 0xE2BF: 0x7BE9,\n 0xE2C0: 0x7C11,\n 0xE2C1: 0x7C14,\n 0xE2C2: 0x7BE6,\n 0xE2C3: 0x7BE5,\n 0xE2C4: 0x7C60,\n 0xE2C5: 0x7C00,\n 0xE2C6: 0x7C07,\n 0xE2C7: 0x7C13,\n 0xE2C8: 0x7BF3,\n 0xE2C9: 0x7BF7,\n 0xE2CA: 0x7C17,\n 0xE2CB: 0x7C0D,\n 0xE2CC: 0x7BF6,\n 0xE2CD: 0x7C23,\n 0xE2CE: 0x7C27,\n 0xE2CF: 0x7C2A,\n 0xE2D0: 0x7C1F,\n 0xE2D1: 0x7C37,\n 0xE2D2: 0x7C2B,\n 0xE2D3: 0x7C3D,\n 0xE2D4: 0x7C4C,\n 0xE2D5: 0x7C43,\n 0xE2D6: 0x7C54,\n 0xE2D7: 0x7C4F,\n 0xE2D8: 0x7C40,\n 0xE2D9: 0x7C50,\n 0xE2DA: 0x7C58,\n 0xE2DB: 0x7C5F,\n 0xE2DC: 0x7C64,\n 0xE2DD: 0x7C56,\n 0xE2DE: 0x7C65,\n 0xE2DF: 0x7C6C,\n 0xE2E0: 0x7C75,\n 0xE2E1: 0x7C83,\n 0xE2E2: 0x7C90,\n 0xE2E3: 0x7CA4,\n 0xE2E4: 0x7CAD,\n 0xE2E5: 0x7CA2,\n 0xE2E6: 0x7CAB,\n 0xE2E7: 0x7CA1,\n 0xE2E8: 0x7CA8,\n 0xE2E9: 0x7CB3,\n 0xE2EA: 0x7CB2,\n 0xE2EB: 0x7CB1,\n 0xE2EC: 0x7CAE,\n 0xE2ED: 0x7CB9,\n 0xE2EE: 0x7CBD,\n 0xE2EF: 0x7CC0,\n 0xE2F0: 0x7CC5,\n 0xE2F1: 0x7CC2,\n 0xE2F2: 0x7CD8,\n 0xE2F3: 0x7CD2,\n 0xE2F4: 0x7CDC,\n 0xE2F5: 0x7CE2,\n 0xE2F6: 0x9B3B,\n 0xE2F7: 0x7CEF,\n 0xE2F8: 0x7CF2,\n 0xE2F9: 0x7CF4,\n 0xE2FA: 0x7CF6,\n 0xE2FB: 0x7CFA,\n 0xE2FC: 0x7D06,\n 0xE340: 0x7D02,\n 0xE341: 0x7D1C,\n 0xE342: 0x7D15,\n 0xE343: 0x7D0A,\n 0xE344: 0x7D45,\n 0xE345: 0x7D4B,\n 0xE346: 0x7D2E,\n 0xE347: 0x7D32,\n 0xE348: 0x7D3F,\n 0xE349: 0x7D35,\n 0xE34A: 0x7D46,\n 0xE34B: 0x7D73,\n 0xE34C: 0x7D56,\n 0xE34D: 0x7D4E,\n 0xE34E: 0x7D72,\n 0xE34F: 0x7D68,\n 0xE350: 0x7D6E,\n 0xE351: 0x7D4F,\n 0xE352: 0x7D63,\n 0xE353: 0x7D93,\n 0xE354: 0x7D89,\n 0xE355: 0x7D5B,\n 0xE356: 0x7D8F,\n 0xE357: 0x7D7D,\n 0xE358: 0x7D9B,\n 0xE359: 0x7DBA,\n 0xE35A: 0x7DAE,\n 0xE35B: 0x7DA3,\n 0xE35C: 0x7DB5,\n 0xE35D: 0x7DC7,\n 0xE35E: 0x7DBD,\n 0xE35F: 0x7DAB,\n 0xE360: 0x7E3D,\n 0xE361: 0x7DA2,\n 0xE362: 0x7DAF,\n 0xE363: 0x7DDC,\n 0xE364: 0x7DB8,\n 0xE365: 0x7D9F,\n 0xE366: 0x7DB0,\n 0xE367: 0x7DD8,\n 0xE368: 0x7DDD,\n 0xE369: 0x7DE4,\n 0xE36A: 0x7DDE,\n 0xE36B: 0x7DFB,\n 0xE36C: 0x7DF2,\n 0xE36D: 0x7DE1,\n 0xE36E: 0x7E05,\n 0xE36F: 0x7E0A,\n 0xE370: 0x7E23,\n 0xE371: 0x7E21,\n 0xE372: 0x7E12,\n 0xE373: 0x7E31,\n 0xE374: 0x7E1F,\n 0xE375: 0x7E09,\n 0xE376: 0x7E0B,\n 0xE377: 0x7E22,\n 0xE378: 0x7E46,\n 0xE379: 0x7E66,\n 0xE37A: 0x7E3B,\n 0xE37B: 0x7E35,\n 0xE37C: 0x7E39,\n 0xE37D: 0x7E43,\n 0xE37E: 0x7E37,\n 0xE380: 0x7E32,\n 0xE381: 0x7E3A,\n 0xE382: 0x7E67,\n 0xE383: 0x7E5D,\n 0xE384: 0x7E56,\n 0xE385: 0x7E5E,\n 0xE386: 0x7E59,\n 0xE387: 0x7E5A,\n 0xE388: 0x7E79,\n 0xE389: 0x7E6A,\n 0xE38A: 0x7E69,\n 0xE38B: 0x7E7C,\n 0xE38C: 0x7E7B,\n 0xE38D: 0x7E83,\n 0xE38E: 0x7DD5,\n 0xE38F: 0x7E7D,\n 0xE390: 0x8FAE,\n 0xE391: 0x7E7F,\n 0xE392: 0x7E88,\n 0xE393: 0x7E89,\n 0xE394: 0x7E8C,\n 0xE395: 0x7E92,\n 0xE396: 0x7E90,\n 0xE397: 0x7E93,\n 0xE398: 0x7E94,\n 0xE399: 0x7E96,\n 0xE39A: 0x7E8E,\n 0xE39B: 0x7E9B,\n 0xE39C: 0x7E9C,\n 0xE39D: 0x7F38,\n 0xE39E: 0x7F3A,\n 0xE39F: 0x7F45,\n 0xE3A0: 0x7F4C,\n 0xE3A1: 0x7F4D,\n 0xE3A2: 0x7F4E,\n 0xE3A3: 0x7F50,\n 0xE3A4: 0x7F51,\n 0xE3A5: 0x7F55,\n 0xE3A6: 0x7F54,\n 0xE3A7: 0x7F58,\n 0xE3A8: 0x7F5F,\n 0xE3A9: 0x7F60,\n 0xE3AA: 0x7F68,\n 0xE3AB: 0x7F69,\n 0xE3AC: 0x7F67,\n 0xE3AD: 0x7F78,\n 0xE3AE: 0x7F82,\n 0xE3AF: 0x7F86,\n 0xE3B0: 0x7F83,\n 0xE3B1: 0x7F88,\n 0xE3B2: 0x7F87,\n 0xE3B3: 0x7F8C,\n 0xE3B4: 0x7F94,\n 0xE3B5: 0x7F9E,\n 0xE3B6: 0x7F9D,\n 0xE3B7: 0x7F9A,\n 0xE3B8: 0x7FA3,\n 0xE3B9: 0x7FAF,\n 0xE3BA: 0x7FB2,\n 0xE3BB: 0x7FB9,\n 0xE3BC: 0x7FAE,\n 0xE3BD: 0x7FB6,\n 0xE3BE: 0x7FB8,\n 0xE3BF: 0x8B71,\n 0xE3C0: 0x7FC5,\n 0xE3C1: 0x7FC6,\n 0xE3C2: 0x7FCA,\n 0xE3C3: 0x7FD5,\n 0xE3C4: 0x7FD4,\n 0xE3C5: 0x7FE1,\n 0xE3C6: 0x7FE6,\n 0xE3C7: 0x7FE9,\n 0xE3C8: 0x7FF3,\n 0xE3C9: 0x7FF9,\n 0xE3CA: 0x98DC,\n 0xE3CB: 0x8006,\n 0xE3CC: 0x8004,\n 0xE3CD: 0x800B,\n 0xE3CE: 0x8012,\n 0xE3CF: 0x8018,\n 0xE3D0: 0x8019,\n 0xE3D1: 0x801C,\n 0xE3D2: 0x8021,\n 0xE3D3: 0x8028,\n 0xE3D4: 0x803F,\n 0xE3D5: 0x803B,\n 0xE3D6: 0x804A,\n 0xE3D7: 0x8046,\n 0xE3D8: 0x8052,\n 0xE3D9: 0x8058,\n 0xE3DA: 0x805A,\n 0xE3DB: 0x805F,\n 0xE3DC: 0x8062,\n 0xE3DD: 0x8068,\n 0xE3DE: 0x8073,\n 0xE3DF: 0x8072,\n 0xE3E0: 0x8070,\n 0xE3E1: 0x8076,\n 0xE3E2: 0x8079,\n 0xE3E3: 0x807D,\n 0xE3E4: 0x807F,\n 0xE3E5: 0x8084,\n 0xE3E6: 0x8086,\n 0xE3E7: 0x8085,\n 0xE3E8: 0x809B,\n 0xE3E9: 0x8093,\n 0xE3EA: 0x809A,\n 0xE3EB: 0x80AD,\n 0xE3EC: 0x5190,\n 0xE3ED: 0x80AC,\n 0xE3EE: 0x80DB,\n 0xE3EF: 0x80E5,\n 0xE3F0: 0x80D9,\n 0xE3F1: 0x80DD,\n 0xE3F2: 0x80C4,\n 0xE3F3: 0x80DA,\n 0xE3F4: 0x80D6,\n 0xE3F5: 0x8109,\n 0xE3F6: 0x80EF,\n 0xE3F7: 0x80F1,\n 0xE3F8: 0x811B,\n 0xE3F9: 0x8129,\n 0xE3FA: 0x8123,\n 0xE3FB: 0x812F,\n 0xE3FC: 0x814B,\n 0xE440: 0x968B,\n 0xE441: 0x8146,\n 0xE442: 0x813E,\n 0xE443: 0x8153,\n 0xE444: 0x8151,\n 0xE445: 0x80FC,\n 0xE446: 0x8171,\n 0xE447: 0x816E,\n 0xE448: 0x8165,\n 0xE449: 0x8166,\n 0xE44A: 0x8174,\n 0xE44B: 0x8183,\n 0xE44C: 0x8188,\n 0xE44D: 0x818A,\n 0xE44E: 0x8180,\n 0xE44F: 0x8182,\n 0xE450: 0x81A0,\n 0xE451: 0x8195,\n 0xE452: 0x81A4,\n 0xE453: 0x81A3,\n 0xE454: 0x815F,\n 0xE455: 0x8193,\n 0xE456: 0x81A9,\n 0xE457: 0x81B0,\n 0xE458: 0x81B5,\n 0xE459: 0x81BE,\n 0xE45A: 0x81B8,\n 0xE45B: 0x81BD,\n 0xE45C: 0x81C0,\n 0xE45D: 0x81C2,\n 0xE45E: 0x81BA,\n 0xE45F: 0x81C9,\n 0xE460: 0x81CD,\n 0xE461: 0x81D1,\n 0xE462: 0x81D9,\n 0xE463: 0x81D8,\n 0xE464: 0x81C8,\n 0xE465: 0x81DA,\n 0xE466: 0x81DF,\n 0xE467: 0x81E0,\n 0xE468: 0x81E7,\n 0xE469: 0x81FA,\n 0xE46A: 0x81FB,\n 0xE46B: 0x81FE,\n 0xE46C: 0x8201,\n 0xE46D: 0x8202,\n 0xE46E: 0x8205,\n 0xE46F: 0x8207,\n 0xE470: 0x820A,\n 0xE471: 0x820D,\n 0xE472: 0x8210,\n 0xE473: 0x8216,\n 0xE474: 0x8229,\n 0xE475: 0x822B,\n 0xE476: 0x8238,\n 0xE477: 0x8233,\n 0xE478: 0x8240,\n 0xE479: 0x8259,\n 0xE47A: 0x8258,\n 0xE47B: 0x825D,\n 0xE47C: 0x825A,\n 0xE47D: 0x825F,\n 0xE47E: 0x8264,\n 0xE480: 0x8262,\n 0xE481: 0x8268,\n 0xE482: 0x826A,\n 0xE483: 0x826B,\n 0xE484: 0x822E,\n 0xE485: 0x8271,\n 0xE486: 0x8277,\n 0xE487: 0x8278,\n 0xE488: 0x827E,\n 0xE489: 0x828D,\n 0xE48A: 0x8292,\n 0xE48B: 0x82AB,\n 0xE48C: 0x829F,\n 0xE48D: 0x82BB,\n 0xE48E: 0x82AC,\n 0xE48F: 0x82E1,\n 0xE490: 0x82E3,\n 0xE491: 0x82DF,\n 0xE492: 0x82D2,\n 0xE493: 0x82F4,\n 0xE494: 0x82F3,\n 0xE495: 0x82FA,\n 0xE496: 0x8393,\n 0xE497: 0x8303,\n 0xE498: 0x82FB,\n 0xE499: 0x82F9,\n 0xE49A: 0x82DE,\n 0xE49B: 0x8306,\n 0xE49C: 0x82DC,\n 0xE49D: 0x8309,\n 0xE49E: 0x82D9,\n 0xE49F: 0x8335,\n 0xE4A0: 0x8334,\n 0xE4A1: 0x8316,\n 0xE4A2: 0x8332,\n 0xE4A3: 0x8331,\n 0xE4A4: 0x8340,\n 0xE4A5: 0x8339,\n 0xE4A6: 0x8350,\n 0xE4A7: 0x8345,\n 0xE4A8: 0x832F,\n 0xE4A9: 0x832B,\n 0xE4AA: 0x8317,\n 0xE4AB: 0x8318,\n 0xE4AC: 0x8385,\n 0xE4AD: 0x839A,\n 0xE4AE: 0x83AA,\n 0xE4AF: 0x839F,\n 0xE4B0: 0x83A2,\n 0xE4B1: 0x8396,\n 0xE4B2: 0x8323,\n 0xE4B3: 0x838E,\n 0xE4B4: 0x8387,\n 0xE4B5: 0x838A,\n 0xE4B6: 0x837C,\n 0xE4B7: 0x83B5,\n 0xE4B8: 0x8373,\n 0xE4B9: 0x8375,\n 0xE4BA: 0x83A0,\n 0xE4BB: 0x8389,\n 0xE4BC: 0x83A8,\n 0xE4BD: 0x83F4,\n 0xE4BE: 0x8413,\n 0xE4BF: 0x83EB,\n 0xE4C0: 0x83CE,\n 0xE4C1: 0x83FD,\n 0xE4C2: 0x8403,\n 0xE4C3: 0x83D8,\n 0xE4C4: 0x840B,\n 0xE4C5: 0x83C1,\n 0xE4C6: 0x83F7,\n 0xE4C7: 0x8407,\n 0xE4C8: 0x83E0,\n 0xE4C9: 0x83F2,\n 0xE4CA: 0x840D,\n 0xE4CB: 0x8422,\n 0xE4CC: 0x8420,\n 0xE4CD: 0x83BD,\n 0xE4CE: 0x8438,\n 0xE4CF: 0x8506,\n 0xE4D0: 0x83FB,\n 0xE4D1: 0x846D,\n 0xE4D2: 0x842A,\n 0xE4D3: 0x843C,\n 0xE4D4: 0x855A,\n 0xE4D5: 0x8484,\n 0xE4D6: 0x8477,\n 0xE4D7: 0x846B,\n 0xE4D8: 0x84AD,\n 0xE4D9: 0x846E,\n 0xE4DA: 0x8482,\n 0xE4DB: 0x8469,\n 0xE4DC: 0x8446,\n 0xE4DD: 0x842C,\n 0xE4DE: 0x846F,\n 0xE4DF: 0x8479,\n 0xE4E0: 0x8435,\n 0xE4E1: 0x84CA,\n 0xE4E2: 0x8462,\n 0xE4E3: 0x84B9,\n 0xE4E4: 0x84BF,\n 0xE4E5: 0x849F,\n 0xE4E6: 0x84D9,\n 0xE4E7: 0x84CD,\n 0xE4E8: 0x84BB,\n 0xE4E9: 0x84DA,\n 0xE4EA: 0x84D0,\n 0xE4EB: 0x84C1,\n 0xE4EC: 0x84C6,\n 0xE4ED: 0x84D6,\n 0xE4EE: 0x84A1,\n 0xE4EF: 0x8521,\n 0xE4F0: 0x84FF,\n 0xE4F1: 0x84F4,\n 0xE4F2: 0x8517,\n 0xE4F3: 0x8518,\n 0xE4F4: 0x852C,\n 0xE4F5: 0x851F,\n 0xE4F6: 0x8515,\n 0xE4F7: 0x8514,\n 0xE4F8: 0x84FC,\n 0xE4F9: 0x8540,\n 0xE4FA: 0x8563,\n 0xE4FB: 0x8558,\n 0xE4FC: 0x8548,\n 0xE540: 0x8541,\n 0xE541: 0x8602,\n 0xE542: 0x854B,\n 0xE543: 0x8555,\n 0xE544: 0x8580,\n 0xE545: 0x85A4,\n 0xE546: 0x8588,\n 0xE547: 0x8591,\n 0xE548: 0x858A,\n 0xE549: 0x85A8,\n 0xE54A: 0x856D,\n 0xE54B: 0x8594,\n 0xE54C: 0x859B,\n 0xE54D: 0x85EA,\n 0xE54E: 0x8587,\n 0xE54F: 0x859C,\n 0xE550: 0x8577,\n 0xE551: 0x857E,\n 0xE552: 0x8590,\n 0xE553: 0x85C9,\n 0xE554: 0x85BA,\n 0xE555: 0x85CF,\n 0xE556: 0x85B9,\n 0xE557: 0x85D0,\n 0xE558: 0x85D5,\n 0xE559: 0x85DD,\n 0xE55A: 0x85E5,\n 0xE55B: 0x85DC,\n 0xE55C: 0x85F9,\n 0xE55D: 0x860A,\n 0xE55E: 0x8613,\n 0xE55F: 0x860B,\n 0xE560: 0x85FE,\n 0xE561: 0x85FA,\n 0xE562: 0x8606,\n 0xE563: 0x8622,\n 0xE564: 0x861A,\n 0xE565: 0x8630,\n 0xE566: 0x863F,\n 0xE567: 0x864D,\n 0xE568: 0x4E55,\n 0xE569: 0x8654,\n 0xE56A: 0x865F,\n 0xE56B: 0x8667,\n 0xE56C: 0x8671,\n 0xE56D: 0x8693,\n 0xE56E: 0x86A3,\n 0xE56F: 0x86A9,\n 0xE570: 0x86AA,\n 0xE571: 0x868B,\n 0xE572: 0x868C,\n 0xE573: 0x86B6,\n 0xE574: 0x86AF,\n 0xE575: 0x86C4,\n 0xE576: 0x86C6,\n 0xE577: 0x86B0,\n 0xE578: 0x86C9,\n 0xE579: 0x8823,\n 0xE57A: 0x86AB,\n 0xE57B: 0x86D4,\n 0xE57C: 0x86DE,\n 0xE57D: 0x86E9,\n 0xE57E: 0x86EC,\n 0xE580: 0x86DF,\n 0xE581: 0x86DB,\n 0xE582: 0x86EF,\n 0xE583: 0x8712,\n 0xE584: 0x8706,\n 0xE585: 0x8708,\n 0xE586: 0x8700,\n 0xE587: 0x8703,\n 0xE588: 0x86FB,\n 0xE589: 0x8711,\n 0xE58A: 0x8709,\n 0xE58B: 0x870D,\n 0xE58C: 0x86F9,\n 0xE58D: 0x870A,\n 0xE58E: 0x8734,\n 0xE58F: 0x873F,\n 0xE590: 0x8737,\n 0xE591: 0x873B,\n 0xE592: 0x8725,\n 0xE593: 0x8729,\n 0xE594: 0x871A,\n 0xE595: 0x8760,\n 0xE596: 0x875F,\n 0xE597: 0x8778,\n 0xE598: 0x874C,\n 0xE599: 0x874E,\n 0xE59A: 0x8774,\n 0xE59B: 0x8757,\n 0xE59C: 0x8768,\n 0xE59D: 0x876E,\n 0xE59E: 0x8759,\n 0xE59F: 0x8753,\n 0xE5A0: 0x8763,\n 0xE5A1: 0x876A,\n 0xE5A2: 0x8805,\n 0xE5A3: 0x87A2,\n 0xE5A4: 0x879F,\n 0xE5A5: 0x8782,\n 0xE5A6: 0x87AF,\n 0xE5A7: 0x87CB,\n 0xE5A8: 0x87BD,\n 0xE5A9: 0x87C0,\n 0xE5AA: 0x87D0,\n 0xE5AB: 0x96D6,\n 0xE5AC: 0x87AB,\n 0xE5AD: 0x87C4,\n 0xE5AE: 0x87B3,\n 0xE5AF: 0x87C7,\n 0xE5B0: 0x87C6,\n 0xE5B1: 0x87BB,\n 0xE5B2: 0x87EF,\n 0xE5B3: 0x87F2,\n 0xE5B4: 0x87E0,\n 0xE5B5: 0x880F,\n 0xE5B6: 0x880D,\n 0xE5B7: 0x87FE,\n 0xE5B8: 0x87F6,\n 0xE5B9: 0x87F7,\n 0xE5BA: 0x880E,\n 0xE5BB: 0x87D2,\n 0xE5BC: 0x8811,\n 0xE5BD: 0x8816,\n 0xE5BE: 0x8815,\n 0xE5BF: 0x8822,\n 0xE5C0: 0x8821,\n 0xE5C1: 0x8831,\n 0xE5C2: 0x8836,\n 0xE5C3: 0x8839,\n 0xE5C4: 0x8827,\n 0xE5C5: 0x883B,\n 0xE5C6: 0x8844,\n 0xE5C7: 0x8842,\n 0xE5C8: 0x8852,\n 0xE5C9: 0x8859,\n 0xE5CA: 0x885E,\n 0xE5CB: 0x8862,\n 0xE5CC: 0x886B,\n 0xE5CD: 0x8881,\n 0xE5CE: 0x887E,\n 0xE5CF: 0x889E,\n 0xE5D0: 0x8875,\n 0xE5D1: 0x887D,\n 0xE5D2: 0x88B5,\n 0xE5D3: 0x8872,\n 0xE5D4: 0x8882,\n 0xE5D5: 0x8897,\n 0xE5D6: 0x8892,\n 0xE5D7: 0x88AE,\n 0xE5D8: 0x8899,\n 0xE5D9: 0x88A2,\n 0xE5DA: 0x888D,\n 0xE5DB: 0x88A4,\n 0xE5DC: 0x88B0,\n 0xE5DD: 0x88BF,\n 0xE5DE: 0x88B1,\n 0xE5DF: 0x88C3,\n 0xE5E0: 0x88C4,\n 0xE5E1: 0x88D4,\n 0xE5E2: 0x88D8,\n 0xE5E3: 0x88D9,\n 0xE5E4: 0x88DD,\n 0xE5E5: 0x88F9,\n 0xE5E6: 0x8902,\n 0xE5E7: 0x88FC,\n 0xE5E8: 0x88F4,\n 0xE5E9: 0x88E8,\n 0xE5EA: 0x88F2,\n 0xE5EB: 0x8904,\n 0xE5EC: 0x890C,\n 0xE5ED: 0x890A,\n 0xE5EE: 0x8913,\n 0xE5EF: 0x8943,\n 0xE5F0: 0x891E,\n 0xE5F1: 0x8925,\n 0xE5F2: 0x892A,\n 0xE5F3: 0x892B,\n 0xE5F4: 0x8941,\n 0xE5F5: 0x8944,\n 0xE5F6: 0x893B,\n 0xE5F7: 0x8936,\n 0xE5F8: 0x8938,\n 0xE5F9: 0x894C,\n 0xE5FA: 0x891D,\n 0xE5FB: 0x8960,\n 0xE5FC: 0x895E,\n 0xE640: 0x8966,\n 0xE641: 0x8964,\n 0xE642: 0x896D,\n 0xE643: 0x896A,\n 0xE644: 0x896F,\n 0xE645: 0x8974,\n 0xE646: 0x8977,\n 0xE647: 0x897E,\n 0xE648: 0x8983,\n 0xE649: 0x8988,\n 0xE64A: 0x898A,\n 0xE64B: 0x8993,\n 0xE64C: 0x8998,\n 0xE64D: 0x89A1,\n 0xE64E: 0x89A9,\n 0xE64F: 0x89A6,\n 0xE650: 0x89AC,\n 0xE651: 0x89AF,\n 0xE652: 0x89B2,\n 0xE653: 0x89BA,\n 0xE654: 0x89BD,\n 0xE655: 0x89BF,\n 0xE656: 0x89C0,\n 0xE657: 0x89DA,\n 0xE658: 0x89DC,\n 0xE659: 0x89DD,\n 0xE65A: 0x89E7,\n 0xE65B: 0x89F4,\n 0xE65C: 0x89F8,\n 0xE65D: 0x8A03,\n 0xE65E: 0x8A16,\n 0xE65F: 0x8A10,\n 0xE660: 0x8A0C,\n 0xE661: 0x8A1B,\n 0xE662: 0x8A1D,\n 0xE663: 0x8A25,\n 0xE664: 0x8A36,\n 0xE665: 0x8A41,\n 0xE666: 0x8A5B,\n 0xE667: 0x8A52,\n 0xE668: 0x8A46,\n 0xE669: 0x8A48,\n 0xE66A: 0x8A7C,\n 0xE66B: 0x8A6D,\n 0xE66C: 0x8A6C,\n 0xE66D: 0x8A62,\n 0xE66E: 0x8A85,\n 0xE66F: 0x8A82,\n 0xE670: 0x8A84,\n 0xE671: 0x8AA8,\n 0xE672: 0x8AA1,\n 0xE673: 0x8A91,\n 0xE674: 0x8AA5,\n 0xE675: 0x8AA6,\n 0xE676: 0x8A9A,\n 0xE677: 0x8AA3,\n 0xE678: 0x8AC4,\n 0xE679: 0x8ACD,\n 0xE67A: 0x8AC2,\n 0xE67B: 0x8ADA,\n 0xE67C: 0x8AEB,\n 0xE67D: 0x8AF3,\n 0xE67E: 0x8AE7,\n 0xE680: 0x8AE4,\n 0xE681: 0x8AF1,\n 0xE682: 0x8B14,\n 0xE683: 0x8AE0,\n 0xE684: 0x8AE2,\n 0xE685: 0x8AF7,\n 0xE686: 0x8ADE,\n 0xE687: 0x8ADB,\n 0xE688: 0x8B0C,\n 0xE689: 0x8B07,\n 0xE68A: 0x8B1A,\n 0xE68B: 0x8AE1,\n 0xE68C: 0x8B16,\n 0xE68D: 0x8B10,\n 0xE68E: 0x8B17,\n 0xE68F: 0x8B20,\n 0xE690: 0x8B33,\n 0xE691: 0x97AB,\n 0xE692: 0x8B26,\n 0xE693: 0x8B2B,\n 0xE694: 0x8B3E,\n 0xE695: 0x8B28,\n 0xE696: 0x8B41,\n 0xE697: 0x8B4C,\n 0xE698: 0x8B4F,\n 0xE699: 0x8B4E,\n 0xE69A: 0x8B49,\n 0xE69B: 0x8B56,\n 0xE69C: 0x8B5B,\n 0xE69D: 0x8B5A,\n 0xE69E: 0x8B6B,\n 0xE69F: 0x8B5F,\n 0xE6A0: 0x8B6C,\n 0xE6A1: 0x8B6F,\n 0xE6A2: 0x8B74,\n 0xE6A3: 0x8B7D,\n 0xE6A4: 0x8B80,\n 0xE6A5: 0x8B8C,\n 0xE6A6: 0x8B8E,\n 0xE6A7: 0x8B92,\n 0xE6A8: 0x8B93,\n 0xE6A9: 0x8B96,\n 0xE6AA: 0x8B99,\n 0xE6AB: 0x8B9A,\n 0xE6AC: 0x8C3A,\n 0xE6AD: 0x8C41,\n 0xE6AE: 0x8C3F,\n 0xE6AF: 0x8C48,\n 0xE6B0: 0x8C4C,\n 0xE6B1: 0x8C4E,\n 0xE6B2: 0x8C50,\n 0xE6B3: 0x8C55,\n 0xE6B4: 0x8C62,\n 0xE6B5: 0x8C6C,\n 0xE6B6: 0x8C78,\n 0xE6B7: 0x8C7A,\n 0xE6B8: 0x8C82,\n 0xE6B9: 0x8C89,\n 0xE6BA: 0x8C85,\n 0xE6BB: 0x8C8A,\n 0xE6BC: 0x8C8D,\n 0xE6BD: 0x8C8E,\n 0xE6BE: 0x8C94,\n 0xE6BF: 0x8C7C,\n 0xE6C0: 0x8C98,\n 0xE6C1: 0x621D,\n 0xE6C2: 0x8CAD,\n 0xE6C3: 0x8CAA,\n 0xE6C4: 0x8CBD,\n 0xE6C5: 0x8CB2,\n 0xE6C6: 0x8CB3,\n 0xE6C7: 0x8CAE,\n 0xE6C8: 0x8CB6,\n 0xE6C9: 0x8CC8,\n 0xE6CA: 0x8CC1,\n 0xE6CB: 0x8CE4,\n 0xE6CC: 0x8CE3,\n 0xE6CD: 0x8CDA,\n 0xE6CE: 0x8CFD,\n 0xE6CF: 0x8CFA,\n 0xE6D0: 0x8CFB,\n 0xE6D1: 0x8D04,\n 0xE6D2: 0x8D05,\n 0xE6D3: 0x8D0A,\n 0xE6D4: 0x8D07,\n 0xE6D5: 0x8D0F,\n 0xE6D6: 0x8D0D,\n 0xE6D7: 0x8D10,\n 0xE6D8: 0x9F4E,\n 0xE6D9: 0x8D13,\n 0xE6DA: 0x8CCD,\n 0xE6DB: 0x8D14,\n 0xE6DC: 0x8D16,\n 0xE6DD: 0x8D67,\n 0xE6DE: 0x8D6D,\n 0xE6DF: 0x8D71,\n 0xE6E0: 0x8D73,\n 0xE6E1: 0x8D81,\n 0xE6E2: 0x8D99,\n 0xE6E3: 0x8DC2,\n 0xE6E4: 0x8DBE,\n 0xE6E5: 0x8DBA,\n 0xE6E6: 0x8DCF,\n 0xE6E7: 0x8DDA,\n 0xE6E8: 0x8DD6,\n 0xE6E9: 0x8DCC,\n 0xE6EA: 0x8DDB,\n 0xE6EB: 0x8DCB,\n 0xE6EC: 0x8DEA,\n 0xE6ED: 0x8DEB,\n 0xE6EE: 0x8DDF,\n 0xE6EF: 0x8DE3,\n 0xE6F0: 0x8DFC,\n 0xE6F1: 0x8E08,\n 0xE6F2: 0x8E09,\n 0xE6F3: 0x8DFF,\n 0xE6F4: 0x8E1D,\n 0xE6F5: 0x8E1E,\n 0xE6F6: 0x8E10,\n 0xE6F7: 0x8E1F,\n 0xE6F8: 0x8E42,\n 0xE6F9: 0x8E35,\n 0xE6FA: 0x8E30,\n 0xE6FB: 0x8E34,\n 0xE6FC: 0x8E4A,\n 0xE740: 0x8E47,\n 0xE741: 0x8E49,\n 0xE742: 0x8E4C,\n 0xE743: 0x8E50,\n 0xE744: 0x8E48,\n 0xE745: 0x8E59,\n 0xE746: 0x8E64,\n 0xE747: 0x8E60,\n 0xE748: 0x8E2A,\n 0xE749: 0x8E63,\n 0xE74A: 0x8E55,\n 0xE74B: 0x8E76,\n 0xE74C: 0x8E72,\n 0xE74D: 0x8E7C,\n 0xE74E: 0x8E81,\n 0xE74F: 0x8E87,\n 0xE750: 0x8E85,\n 0xE751: 0x8E84,\n 0xE752: 0x8E8B,\n 0xE753: 0x8E8A,\n 0xE754: 0x8E93,\n 0xE755: 0x8E91,\n 0xE756: 0x8E94,\n 0xE757: 0x8E99,\n 0xE758: 0x8EAA,\n 0xE759: 0x8EA1,\n 0xE75A: 0x8EAC,\n 0xE75B: 0x8EB0,\n 0xE75C: 0x8EC6,\n 0xE75D: 0x8EB1,\n 0xE75E: 0x8EBE,\n 0xE75F: 0x8EC5,\n 0xE760: 0x8EC8,\n 0xE761: 0x8ECB,\n 0xE762: 0x8EDB,\n 0xE763: 0x8EE3,\n 0xE764: 0x8EFC,\n 0xE765: 0x8EFB,\n 0xE766: 0x8EEB,\n 0xE767: 0x8EFE,\n 0xE768: 0x8F0A,\n 0xE769: 0x8F05,\n 0xE76A: 0x8F15,\n 0xE76B: 0x8F12,\n 0xE76C: 0x8F19,\n 0xE76D: 0x8F13,\n 0xE76E: 0x8F1C,\n 0xE76F: 0x8F1F,\n 0xE770: 0x8F1B,\n 0xE771: 0x8F0C,\n 0xE772: 0x8F26,\n 0xE773: 0x8F33,\n 0xE774: 0x8F3B,\n 0xE775: 0x8F39,\n 0xE776: 0x8F45,\n 0xE777: 0x8F42,\n 0xE778: 0x8F3E,\n 0xE779: 0x8F4C,\n 0xE77A: 0x8F49,\n 0xE77B: 0x8F46,\n 0xE77C: 0x8F4E,\n 0xE77D: 0x8F57,\n 0xE77E: 0x8F5C,\n 0xE780: 0x8F62,\n 0xE781: 0x8F63,\n 0xE782: 0x8F64,\n 0xE783: 0x8F9C,\n 0xE784: 0x8F9F,\n 0xE785: 0x8FA3,\n 0xE786: 0x8FAD,\n 0xE787: 0x8FAF,\n 0xE788: 0x8FB7,\n 0xE789: 0x8FDA,\n 0xE78A: 0x8FE5,\n 0xE78B: 0x8FE2,\n 0xE78C: 0x8FEA,\n 0xE78D: 0x8FEF,\n 0xE78E: 0x9087,\n 0xE78F: 0x8FF4,\n 0xE790: 0x9005,\n 0xE791: 0x8FF9,\n 0xE792: 0x8FFA,\n 0xE793: 0x9011,\n 0xE794: 0x9015,\n 0xE795: 0x9021,\n 0xE796: 0x900D,\n 0xE797: 0x901E,\n 0xE798: 0x9016,\n 0xE799: 0x900B,\n 0xE79A: 0x9027,\n 0xE79B: 0x9036,\n 0xE79C: 0x9035,\n 0xE79D: 0x9039,\n 0xE79E: 0x8FF8,\n 0xE79F: 0x904F,\n 0xE7A0: 0x9050,\n 0xE7A1: 0x9051,\n 0xE7A2: 0x9052,\n 0xE7A3: 0x900E,\n 0xE7A4: 0x9049,\n 0xE7A5: 0x903E,\n 0xE7A6: 0x9056,\n 0xE7A7: 0x9058,\n 0xE7A8: 0x905E,\n 0xE7A9: 0x9068,\n 0xE7AA: 0x906F,\n 0xE7AB: 0x9076,\n 0xE7AC: 0x96A8,\n 0xE7AD: 0x9072,\n 0xE7AE: 0x9082,\n 0xE7AF: 0x907D,\n 0xE7B0: 0x9081,\n 0xE7B1: 0x9080,\n 0xE7B2: 0x908A,\n 0xE7B3: 0x9089,\n 0xE7B4: 0x908F,\n 0xE7B5: 0x90A8,\n 0xE7B6: 0x90AF,\n 0xE7B7: 0x90B1,\n 0xE7B8: 0x90B5,\n 0xE7B9: 0x90E2,\n 0xE7BA: 0x90E4,\n 0xE7BB: 0x6248,\n 0xE7BC: 0x90DB,\n 0xE7BD: 0x9102,\n 0xE7BE: 0x9112,\n 0xE7BF: 0x9119,\n 0xE7C0: 0x9132,\n 0xE7C1: 0x9130,\n 0xE7C2: 0x914A,\n 0xE7C3: 0x9156,\n 0xE7C4: 0x9158,\n 0xE7C5: 0x9163,\n 0xE7C6: 0x9165,\n 0xE7C7: 0x9169,\n 0xE7C8: 0x9173,\n 0xE7C9: 0x9172,\n 0xE7CA: 0x918B,\n 0xE7CB: 0x9189,\n 0xE7CC: 0x9182,\n 0xE7CD: 0x91A2,\n 0xE7CE: 0x91AB,\n 0xE7CF: 0x91AF,\n 0xE7D0: 0x91AA,\n 0xE7D1: 0x91B5,\n 0xE7D2: 0x91B4,\n 0xE7D3: 0x91BA,\n 0xE7D4: 0x91C0,\n 0xE7D5: 0x91C1,\n 0xE7D6: 0x91C9,\n 0xE7D7: 0x91CB,\n 0xE7D8: 0x91D0,\n 0xE7D9: 0x91D6,\n 0xE7DA: 0x91DF,\n 0xE7DB: 0x91E1,\n 0xE7DC: 0x91DB,\n 0xE7DD: 0x91FC,\n 0xE7DE: 0x91F5,\n 0xE7DF: 0x91F6,\n 0xE7E0: 0x921E,\n 0xE7E1: 0x91FF,\n 0xE7E2: 0x9214,\n 0xE7E3: 0x922C,\n 0xE7E4: 0x9215,\n 0xE7E5: 0x9211,\n 0xE7E6: 0x925E,\n 0xE7E7: 0x9257,\n 0xE7E8: 0x9245,\n 0xE7E9: 0x9249,\n 0xE7EA: 0x9264,\n 0xE7EB: 0x9248,\n 0xE7EC: 0x9295,\n 0xE7ED: 0x923F,\n 0xE7EE: 0x924B,\n 0xE7EF: 0x9250,\n 0xE7F0: 0x929C,\n 0xE7F1: 0x9296,\n 0xE7F2: 0x9293,\n 0xE7F3: 0x929B,\n 0xE7F4: 0x925A,\n 0xE7F5: 0x92CF,\n 0xE7F6: 0x92B9,\n 0xE7F7: 0x92B7,\n 0xE7F8: 0x92E9,\n 0xE7F9: 0x930F,\n 0xE7FA: 0x92FA,\n 0xE7FB: 0x9344,\n 0xE7FC: 0x932E,\n 0xE840: 0x9319,\n 0xE841: 0x9322,\n 0xE842: 0x931A,\n 0xE843: 0x9323,\n 0xE844: 0x933A,\n 0xE845: 0x9335,\n 0xE846: 0x933B,\n 0xE847: 0x935C,\n 0xE848: 0x9360,\n 0xE849: 0x937C,\n 0xE84A: 0x936E,\n 0xE84B: 0x9356,\n 0xE84C: 0x93B0,\n 0xE84D: 0x93AC,\n 0xE84E: 0x93AD,\n 0xE84F: 0x9394,\n 0xE850: 0x93B9,\n 0xE851: 0x93D6,\n 0xE852: 0x93D7,\n 0xE853: 0x93E8,\n 0xE854: 0x93E5,\n 0xE855: 0x93D8,\n 0xE856: 0x93C3,\n 0xE857: 0x93DD,\n 0xE858: 0x93D0,\n 0xE859: 0x93C8,\n 0xE85A: 0x93E4,\n 0xE85B: 0x941A,\n 0xE85C: 0x9414,\n 0xE85D: 0x9413,\n 0xE85E: 0x9403,\n 0xE85F: 0x9407,\n 0xE860: 0x9410,\n 0xE861: 0x9436,\n 0xE862: 0x942B,\n 0xE863: 0x9435,\n 0xE864: 0x9421,\n 0xE865: 0x943A,\n 0xE866: 0x9441,\n 0xE867: 0x9452,\n 0xE868: 0x9444,\n 0xE869: 0x945B,\n 0xE86A: 0x9460,\n 0xE86B: 0x9462,\n 0xE86C: 0x945E,\n 0xE86D: 0x946A,\n 0xE86E: 0x9229,\n 0xE86F: 0x9470,\n 0xE870: 0x9475,\n 0xE871: 0x9477,\n 0xE872: 0x947D,\n 0xE873: 0x945A,\n 0xE874: 0x947C,\n 0xE875: 0x947E,\n 0xE876: 0x9481,\n 0xE877: 0x947F,\n 0xE878: 0x9582,\n 0xE879: 0x9587,\n 0xE87A: 0x958A,\n 0xE87B: 0x9594,\n 0xE87C: 0x9596,\n 0xE87D: 0x9598,\n 0xE87E: 0x9599,\n 0xE880: 0x95A0,\n 0xE881: 0x95A8,\n 0xE882: 0x95A7,\n 0xE883: 0x95AD,\n 0xE884: 0x95BC,\n 0xE885: 0x95BB,\n 0xE886: 0x95B9,\n 0xE887: 0x95BE,\n 0xE888: 0x95CA,\n 0xE889: 0x6FF6,\n 0xE88A: 0x95C3,\n 0xE88B: 0x95CD,\n 0xE88C: 0x95CC,\n 0xE88D: 0x95D5,\n 0xE88E: 0x95D4,\n 0xE88F: 0x95D6,\n 0xE890: 0x95DC,\n 0xE891: 0x95E1,\n 0xE892: 0x95E5,\n 0xE893: 0x95E2,\n 0xE894: 0x9621,\n 0xE895: 0x9628,\n 0xE896: 0x962E,\n 0xE897: 0x962F,\n 0xE898: 0x9642,\n 0xE899: 0x964C,\n 0xE89A: 0x964F,\n 0xE89B: 0x964B,\n 0xE89C: 0x9677,\n 0xE89D: 0x965C,\n 0xE89E: 0x965E,\n 0xE89F: 0x965D,\n 0xE8A0: 0x965F,\n 0xE8A1: 0x9666,\n 0xE8A2: 0x9672,\n 0xE8A3: 0x966C,\n 0xE8A4: 0x968D,\n 0xE8A5: 0x9698,\n 0xE8A6: 0x9695,\n 0xE8A7: 0x9697,\n 0xE8A8: 0x96AA,\n 0xE8A9: 0x96A7,\n 0xE8AA: 0x96B1,\n 0xE8AB: 0x96B2,\n 0xE8AC: 0x96B0,\n 0xE8AD: 0x96B4,\n 0xE8AE: 0x96B6,\n 0xE8AF: 0x96B8,\n 0xE8B0: 0x96B9,\n 0xE8B1: 0x96CE,\n 0xE8B2: 0x96CB,\n 0xE8B3: 0x96C9,\n 0xE8B4: 0x96CD,\n 0xE8B5: 0x894D,\n 0xE8B6: 0x96DC,\n 0xE8B7: 0x970D,\n 0xE8B8: 0x96D5,\n 0xE8B9: 0x96F9,\n 0xE8BA: 0x9704,\n 0xE8BB: 0x9706,\n 0xE8BC: 0x9708,\n 0xE8BD: 0x9713,\n 0xE8BE: 0x970E,\n 0xE8BF: 0x9711,\n 0xE8C0: 0x970F,\n 0xE8C1: 0x9716,\n 0xE8C2: 0x9719,\n 0xE8C3: 0x9724,\n 0xE8C4: 0x972A,\n 0xE8C5: 0x9730,\n 0xE8C6: 0x9739,\n 0xE8C7: 0x973D,\n 0xE8C8: 0x973E,\n 0xE8C9: 0x9744,\n 0xE8CA: 0x9746,\n 0xE8CB: 0x9748,\n 0xE8CC: 0x9742,\n 0xE8CD: 0x9749,\n 0xE8CE: 0x975C,\n 0xE8CF: 0x9760,\n 0xE8D0: 0x9764,\n 0xE8D1: 0x9766,\n 0xE8D2: 0x9768,\n 0xE8D3: 0x52D2,\n 0xE8D4: 0x976B,\n 0xE8D5: 0x9771,\n 0xE8D6: 0x9779,\n 0xE8D7: 0x9785,\n 0xE8D8: 0x977C,\n 0xE8D9: 0x9781,\n 0xE8DA: 0x977A,\n 0xE8DB: 0x9786,\n 0xE8DC: 0x978B,\n 0xE8DD: 0x978F,\n 0xE8DE: 0x9790,\n 0xE8DF: 0x979C,\n 0xE8E0: 0x97A8,\n 0xE8E1: 0x97A6,\n 0xE8E2: 0x97A3,\n 0xE8E3: 0x97B3,\n 0xE8E4: 0x97B4,\n 0xE8E5: 0x97C3,\n 0xE8E6: 0x97C6,\n 0xE8E7: 0x97C8,\n 0xE8E8: 0x97CB,\n 0xE8E9: 0x97DC,\n 0xE8EA: 0x97ED,\n 0xE8EB: 0x9F4F,\n 0xE8EC: 0x97F2,\n 0xE8ED: 0x7ADF,\n 0xE8EE: 0x97F6,\n 0xE8EF: 0x97F5,\n 0xE8F0: 0x980F,\n 0xE8F1: 0x980C,\n 0xE8F2: 0x9838,\n 0xE8F3: 0x9824,\n 0xE8F4: 0x9821,\n 0xE8F5: 0x9837,\n 0xE8F6: 0x983D,\n 0xE8F7: 0x9846,\n 0xE8F8: 0x984F,\n 0xE8F9: 0x984B,\n 0xE8FA: 0x986B,\n 0xE8FB: 0x986F,\n 0xE8FC: 0x9870,\n 0xE940: 0x9871,\n 0xE941: 0x9874,\n 0xE942: 0x9873,\n 0xE943: 0x98AA,\n 0xE944: 0x98AF,\n 0xE945: 0x98B1,\n 0xE946: 0x98B6,\n 0xE947: 0x98C4,\n 0xE948: 0x98C3,\n 0xE949: 0x98C6,\n 0xE94A: 0x98E9,\n 0xE94B: 0x98EB,\n 0xE94C: 0x9903,\n 0xE94D: 0x9909,\n 0xE94E: 0x9912,\n 0xE94F: 0x9914,\n 0xE950: 0x9918,\n 0xE951: 0x9921,\n 0xE952: 0x991D,\n 0xE953: 0x991E,\n 0xE954: 0x9924,\n 0xE955: 0x9920,\n 0xE956: 0x992C,\n 0xE957: 0x992E,\n 0xE958: 0x993D,\n 0xE959: 0x993E,\n 0xE95A: 0x9942,\n 0xE95B: 0x9949,\n 0xE95C: 0x9945,\n 0xE95D: 0x9950,\n 0xE95E: 0x994B,\n 0xE95F: 0x9951,\n 0xE960: 0x9952,\n 0xE961: 0x994C,\n 0xE962: 0x9955,\n 0xE963: 0x9997,\n 0xE964: 0x9998,\n 0xE965: 0x99A5,\n 0xE966: 0x99AD,\n 0xE967: 0x99AE,\n 0xE968: 0x99BC,\n 0xE969: 0x99DF,\n 0xE96A: 0x99DB,\n 0xE96B: 0x99DD,\n 0xE96C: 0x99D8,\n 0xE96D: 0x99D1,\n 0xE96E: 0x99ED,\n 0xE96F: 0x99EE,\n 0xE970: 0x99F1,\n 0xE971: 0x99F2,\n 0xE972: 0x99FB,\n 0xE973: 0x99F8,\n 0xE974: 0x9A01,\n 0xE975: 0x9A0F,\n 0xE976: 0x9A05,\n 0xE977: 0x99E2,\n 0xE978: 0x9A19,\n 0xE979: 0x9A2B,\n 0xE97A: 0x9A37,\n 0xE97B: 0x9A45,\n 0xE97C: 0x9A42,\n 0xE97D: 0x9A40,\n 0xE97E: 0x9A43,\n 0xE980: 0x9A3E,\n 0xE981: 0x9A55,\n 0xE982: 0x9A4D,\n 0xE983: 0x9A5B,\n 0xE984: 0x9A57,\n 0xE985: 0x9A5F,\n 0xE986: 0x9A62,\n 0xE987: 0x9A65,\n 0xE988: 0x9A64,\n 0xE989: 0x9A69,\n 0xE98A: 0x9A6B,\n 0xE98B: 0x9A6A,\n 0xE98C: 0x9AAD,\n 0xE98D: 0x9AB0,\n 0xE98E: 0x9ABC,\n 0xE98F: 0x9AC0,\n 0xE990: 0x9ACF,\n 0xE991: 0x9AD1,\n 0xE992: 0x9AD3,\n 0xE993: 0x9AD4,\n 0xE994: 0x9ADE,\n 0xE995: 0x9ADF,\n 0xE996: 0x9AE2,\n 0xE997: 0x9AE3,\n 0xE998: 0x9AE6,\n 0xE999: 0x9AEF,\n 0xE99A: 0x9AEB,\n 0xE99B: 0x9AEE,\n 0xE99C: 0x9AF4,\n 0xE99D: 0x9AF1,\n 0xE99E: 0x9AF7,\n 0xE99F: 0x9AFB,\n 0xE9A0: 0x9B06,\n 0xE9A1: 0x9B18,\n 0xE9A2: 0x9B1A,\n 0xE9A3: 0x9B1F,\n 0xE9A4: 0x9B22,\n 0xE9A5: 0x9B23,\n 0xE9A6: 0x9B25,\n 0xE9A7: 0x9B27,\n 0xE9A8: 0x9B28,\n 0xE9A9: 0x9B29,\n 0xE9AA: 0x9B2A,\n 0xE9AB: 0x9B2E,\n 0xE9AC: 0x9B2F,\n 0xE9AD: 0x9B32,\n 0xE9AE: 0x9B44,\n 0xE9AF: 0x9B43,\n 0xE9B0: 0x9B4F,\n 0xE9B1: 0x9B4D,\n 0xE9B2: 0x9B4E,\n 0xE9B3: 0x9B51,\n 0xE9B4: 0x9B58,\n 0xE9B5: 0x9B74,\n 0xE9B6: 0x9B93,\n 0xE9B7: 0x9B83,\n 0xE9B8: 0x9B91,\n 0xE9B9: 0x9B96,\n 0xE9BA: 0x9B97,\n 0xE9BB: 0x9B9F,\n 0xE9BC: 0x9BA0,\n 0xE9BD: 0x9BA8,\n 0xE9BE: 0x9BB4,\n 0xE9BF: 0x9BC0,\n 0xE9C0: 0x9BCA,\n 0xE9C1: 0x9BB9,\n 0xE9C2: 0x9BC6,\n 0xE9C3: 0x9BCF,\n 0xE9C4: 0x9BD1,\n 0xE9C5: 0x9BD2,\n 0xE9C6: 0x9BE3,\n 0xE9C7: 0x9BE2,\n 0xE9C8: 0x9BE4,\n 0xE9C9: 0x9BD4,\n 0xE9CA: 0x9BE1,\n 0xE9CB: 0x9C3A,\n 0xE9CC: 0x9BF2,\n 0xE9CD: 0x9BF1,\n 0xE9CE: 0x9BF0,\n 0xE9CF: 0x9C15,\n 0xE9D0: 0x9C14,\n 0xE9D1: 0x9C09,\n 0xE9D2: 0x9C13,\n 0xE9D3: 0x9C0C,\n 0xE9D4: 0x9C06,\n 0xE9D5: 0x9C08,\n 0xE9D6: 0x9C12,\n 0xE9D7: 0x9C0A,\n 0xE9D8: 0x9C04,\n 0xE9D9: 0x9C2E,\n 0xE9DA: 0x9C1B,\n 0xE9DB: 0x9C25,\n 0xE9DC: 0x9C24,\n 0xE9DD: 0x9C21,\n 0xE9DE: 0x9C30,\n 0xE9DF: 0x9C47,\n 0xE9E0: 0x9C32,\n 0xE9E1: 0x9C46,\n 0xE9E2: 0x9C3E,\n 0xE9E3: 0x9C5A,\n 0xE9E4: 0x9C60,\n 0xE9E5: 0x9C67,\n 0xE9E6: 0x9C76,\n 0xE9E7: 0x9C78,\n 0xE9E8: 0x9CE7,\n 0xE9E9: 0x9CEC,\n 0xE9EA: 0x9CF0,\n 0xE9EB: 0x9D09,\n 0xE9EC: 0x9D08,\n 0xE9ED: 0x9CEB,\n 0xE9EE: 0x9D03,\n 0xE9EF: 0x9D06,\n 0xE9F0: 0x9D2A,\n 0xE9F1: 0x9D26,\n 0xE9F2: 0x9DAF,\n 0xE9F3: 0x9D23,\n 0xE9F4: 0x9D1F,\n 0xE9F5: 0x9D44,\n 0xE9F6: 0x9D15,\n 0xE9F7: 0x9D12,\n 0xE9F8: 0x9D41,\n 0xE9F9: 0x9D3F,\n 0xE9FA: 0x9D3E,\n 0xE9FB: 0x9D46,\n 0xE9FC: 0x9D48,\n 0xEA40: 0x9D5D,\n 0xEA41: 0x9D5E,\n 0xEA42: 0x9D64,\n 0xEA43: 0x9D51,\n 0xEA44: 0x9D50,\n 0xEA45: 0x9D59,\n 0xEA46: 0x9D72,\n 0xEA47: 0x9D89,\n 0xEA48: 0x9D87,\n 0xEA49: 0x9DAB,\n 0xEA4A: 0x9D6F,\n 0xEA4B: 0x9D7A,\n 0xEA4C: 0x9D9A,\n 0xEA4D: 0x9DA4,\n 0xEA4E: 0x9DA9,\n 0xEA4F: 0x9DB2,\n 0xEA50: 0x9DC4,\n 0xEA51: 0x9DC1,\n 0xEA52: 0x9DBB,\n 0xEA53: 0x9DB8,\n 0xEA54: 0x9DBA,\n 0xEA55: 0x9DC6,\n 0xEA56: 0x9DCF,\n 0xEA57: 0x9DC2,\n 0xEA58: 0x9DD9,\n 0xEA59: 0x9DD3,\n 0xEA5A: 0x9DF8,\n 0xEA5B: 0x9DE6,\n 0xEA5C: 0x9DED,\n 0xEA5D: 0x9DEF,\n 0xEA5E: 0x9DFD,\n 0xEA5F: 0x9E1A,\n 0xEA60: 0x9E1B,\n 0xEA61: 0x9E1E,\n 0xEA62: 0x9E75,\n 0xEA63: 0x9E79,\n 0xEA64: 0x9E7D,\n 0xEA65: 0x9E81,\n 0xEA66: 0x9E88,\n 0xEA67: 0x9E8B,\n 0xEA68: 0x9E8C,\n 0xEA69: 0x9E92,\n 0xEA6A: 0x9E95,\n 0xEA6B: 0x9E91,\n 0xEA6C: 0x9E9D,\n 0xEA6D: 0x9EA5,\n 0xEA6E: 0x9EA9,\n 0xEA6F: 0x9EB8,\n 0xEA70: 0x9EAA,\n 0xEA71: 0x9EAD,\n 0xEA72: 0x9761,\n 0xEA73: 0x9ECC,\n 0xEA74: 0x9ECE,\n 0xEA75: 0x9ECF,\n 0xEA76: 0x9ED0,\n 0xEA77: 0x9ED4,\n 0xEA78: 0x9EDC,\n 0xEA79: 0x9EDE,\n 0xEA7A: 0x9EDD,\n 0xEA7B: 0x9EE0,\n 0xEA7C: 0x9EE5,\n 0xEA7D: 0x9EE8,\n 0xEA7E: 0x9EEF,\n 0xEA80: 0x9EF4,\n 0xEA81: 0x9EF6,\n 0xEA82: 0x9EF7,\n 0xEA83: 0x9EF9,\n 0xEA84: 0x9EFB,\n 0xEA85: 0x9EFC,\n 0xEA86: 0x9EFD,\n 0xEA87: 0x9F07,\n 0xEA88: 0x9F08,\n 0xEA89: 0x76B7,\n 0xEA8A: 0x9F15,\n 0xEA8B: 0x9F21,\n 0xEA8C: 0x9F2C,\n 0xEA8D: 0x9F3E,\n 0xEA8E: 0x9F4A,\n 0xEA8F: 0x9F52,\n 0xEA90: 0x9F54,\n 0xEA91: 0x9F63,\n 0xEA92: 0x9F5F,\n 0xEA93: 0x9F60,\n 0xEA94: 0x9F61,\n 0xEA95: 0x9F66,\n 0xEA96: 0x9F67,\n 0xEA97: 0x9F6C,\n 0xEA98: 0x9F6A,\n 0xEA99: 0x9F77,\n 0xEA9A: 0x9F72,\n 0xEA9B: 0x9F76,\n 0xEA9C: 0x9F95,\n 0xEA9D: 0x9F9C,\n 0xEA9E: 0x9FA0,\n 0xEA9F: 0x582F,\n 0xEAA0: 0x69C7,\n 0xEAA1: 0x9059,\n 0xEAA2: 0x7464,\n 0xEAA3: 0x51DC,\n 0xEAA4: 0x7199,\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __nested_webpack_require_183922__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar GenericGF_1 = __nested_webpack_require_183922__(1);\nvar GenericGFPoly_1 = __nested_webpack_require_183922__(2);\nfunction runEuclideanAlgorithm(field, a, b, R) {\n var _a;\n // Assume a\'s degree is >= b\'s\n if (a.degree() < b.degree()) {\n _a = [b, a], a = _a[0], b = _a[1];\n }\n var rLast = a;\n var r = b;\n var tLast = field.zero;\n var t = field.one;\n // Run Euclidean algorithm until r\'s degree is less than R/2\n while (r.degree() >= R / 2) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Euclidean algorithm already terminated?\n return null;\n }\n r = rLastLast;\n var q = field.zero;\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.degree());\n var dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.degree() >= rLast.degree() && !r.isZero()) {\n var degreeDiff = r.degree() - rLast.degree();\n var scale = field.multiply(r.getCoefficient(r.degree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiplyPoly(tLast).addOrSubtract(tLastLast);\n if (r.degree() >= rLast.degree()) {\n return null;\n }\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n return null;\n }\n var inverse = field.inverse(sigmaTildeAtZero);\n return [t.multiply(inverse), r.multiply(inverse)];\n}\nfunction findErrorLocations(field, errorLocator) {\n // This is a direct application of Chien\'s search\n var numErrors = errorLocator.degree();\n if (numErrors === 1) {\n return [errorLocator.getCoefficient(1)];\n }\n var result = new Array(numErrors);\n var errorCount = 0;\n for (var i = 1; i < field.size && errorCount < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[errorCount] = field.inverse(i);\n errorCount++;\n }\n }\n if (errorCount !== numErrors) {\n return null;\n }\n return result;\n}\nfunction findErrorMagnitudes(field, errorEvaluator, errorLocations) {\n // This is directly applying Forney\'s Formula\n var s = errorLocations.length;\n var result = new Array(s);\n for (var i = 0; i < s; i++) {\n var xiInverse = field.inverse(errorLocations[i]);\n var denominator = 1;\n for (var j = 0; j < s; j++) {\n if (i !== j) {\n denominator = field.multiply(denominator, GenericGF_1.addOrSubtractGF(1, field.multiply(errorLocations[j], xiInverse)));\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse), field.inverse(denominator));\n if (field.generatorBase !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n}\nfunction decode(bytes, twoS) {\n var outputBytes = new Uint8ClampedArray(bytes.length);\n outputBytes.set(bytes);\n var field = new GenericGF_1.default(0x011D, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n var poly = new GenericGFPoly_1.default(field, outputBytes);\n var syndromeCoefficients = new Uint8ClampedArray(twoS);\n var error = false;\n for (var s = 0; s < twoS; s++) {\n var evaluation = poly.evaluateAt(field.exp(s + field.generatorBase));\n syndromeCoefficients[syndromeCoefficients.length - 1 - s] = evaluation;\n if (evaluation !== 0) {\n error = true;\n }\n }\n if (!error) {\n return outputBytes;\n }\n var syndrome = new GenericGFPoly_1.default(field, syndromeCoefficients);\n var sigmaOmega = runEuclideanAlgorithm(field, field.buildMonomial(twoS, 1), syndrome, twoS);\n if (sigmaOmega === null) {\n return null;\n }\n var errorLocations = findErrorLocations(field, sigmaOmega[0]);\n if (errorLocations == null) {\n return null;\n }\n var errorMagnitudes = findErrorMagnitudes(field, sigmaOmega[1], errorLocations);\n for (var i = 0; i < errorLocations.length; i++) {\n var position = outputBytes.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n return null;\n }\n outputBytes[position] = GenericGF_1.addOrSubtractGF(outputBytes[position], errorMagnitudes[i]);\n }\n return outputBytes;\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nexports.VERSIONS = [\n {\n infoBits: null,\n versionNumber: 1,\n alignmentPatternCenters: [],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 7,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 19 }],\n },\n {\n ecCodewordsPerBlock: 10,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],\n },\n {\n ecCodewordsPerBlock: 13,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 13 }],\n },\n {\n ecCodewordsPerBlock: 17,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 9 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 2,\n alignmentPatternCenters: [6, 18],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 10,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 34 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 28 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 22 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 3,\n alignmentPatternCenters: [6, 22],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 15,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 55 }],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 44 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 17 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 13 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 4,\n alignmentPatternCenters: [6, 26],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 80 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 32 }],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 24 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 9 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 5,\n alignmentPatternCenters: [6, 30],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 108 }],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 43 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n { numBlocks: 2, dataCodewordsPerBlock: 16 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 11 },\n { numBlocks: 2, dataCodewordsPerBlock: 12 },\n ],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 6,\n alignmentPatternCenters: [6, 34],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 68 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 27 }],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 19 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 15 }],\n },\n ],\n },\n {\n infoBits: 0x07C94,\n versionNumber: 7,\n alignmentPatternCenters: [6, 22, 38],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 78 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 31 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 4, dataCodewordsPerBlock: 15 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 13 },\n { numBlocks: 1, dataCodewordsPerBlock: 14 },\n ],\n },\n ],\n },\n {\n infoBits: 0x085BC,\n versionNumber: 8,\n alignmentPatternCenters: [6, 24, 42],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 97 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 38 },\n { numBlocks: 2, dataCodewordsPerBlock: 39 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 18 },\n { numBlocks: 2, dataCodewordsPerBlock: 19 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 14 },\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x09A99,\n versionNumber: 9,\n alignmentPatternCenters: [6, 26, 46],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 116 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 36 },\n { numBlocks: 2, dataCodewordsPerBlock: 37 },\n ],\n },\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 16 },\n { numBlocks: 4, dataCodewordsPerBlock: 17 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 12 },\n { numBlocks: 4, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0A4D3,\n versionNumber: 10,\n alignmentPatternCenters: [6, 28, 50],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 68 },\n { numBlocks: 2, dataCodewordsPerBlock: 69 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 43 },\n { numBlocks: 1, dataCodewordsPerBlock: 44 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 19 },\n { numBlocks: 2, dataCodewordsPerBlock: 20 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 15 },\n { numBlocks: 2, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0BBF6,\n versionNumber: 11,\n alignmentPatternCenters: [6, 30, 54],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 81 }],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 50 },\n { numBlocks: 4, dataCodewordsPerBlock: 51 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 22 },\n { numBlocks: 4, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 12 },\n { numBlocks: 8, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0C762,\n versionNumber: 12,\n alignmentPatternCenters: [6, 32, 58],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 92 },\n { numBlocks: 2, dataCodewordsPerBlock: 93 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 36 },\n { numBlocks: 2, dataCodewordsPerBlock: 37 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 20 },\n { numBlocks: 6, dataCodewordsPerBlock: 21 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 14 },\n { numBlocks: 4, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0D847,\n versionNumber: 13,\n alignmentPatternCenters: [6, 34, 62],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 107 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 37 },\n { numBlocks: 1, dataCodewordsPerBlock: 38 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 20 },\n { numBlocks: 4, dataCodewordsPerBlock: 21 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 11 },\n { numBlocks: 4, dataCodewordsPerBlock: 12 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0E60D,\n versionNumber: 14,\n alignmentPatternCenters: [6, 26, 46, 66],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 115 },\n { numBlocks: 1, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 40 },\n { numBlocks: 5, dataCodewordsPerBlock: 41 },\n ],\n },\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 16 },\n { numBlocks: 5, dataCodewordsPerBlock: 17 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 12 },\n { numBlocks: 5, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0F928,\n versionNumber: 15,\n alignmentPatternCenters: [6, 26, 48, 70],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 87 },\n { numBlocks: 1, dataCodewordsPerBlock: 88 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 41 },\n { numBlocks: 5, dataCodewordsPerBlock: 42 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 24 },\n { numBlocks: 7, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 12 },\n { numBlocks: 7, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x10B78,\n versionNumber: 16,\n alignmentPatternCenters: [6, 26, 50, 74],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 98 },\n { numBlocks: 1, dataCodewordsPerBlock: 99 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 45 },\n { numBlocks: 3, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 19 },\n { numBlocks: 2, dataCodewordsPerBlock: 20 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 15 },\n { numBlocks: 13, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1145D,\n versionNumber: 17,\n alignmentPatternCenters: [6, 30, 54, 78],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 107 },\n { numBlocks: 5, dataCodewordsPerBlock: 108 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 46 },\n { numBlocks: 1, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 22 },\n { numBlocks: 15, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 17, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x12A17,\n versionNumber: 18,\n alignmentPatternCenters: [6, 30, 56, 82],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 120 },\n { numBlocks: 1, dataCodewordsPerBlock: 121 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 9, dataCodewordsPerBlock: 43 },\n { numBlocks: 4, dataCodewordsPerBlock: 44 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 22 },\n { numBlocks: 1, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x13532,\n versionNumber: 19,\n alignmentPatternCenters: [6, 30, 58, 86],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 113 },\n { numBlocks: 4, dataCodewordsPerBlock: 114 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 44 },\n { numBlocks: 11, dataCodewordsPerBlock: 45 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 21 },\n { numBlocks: 4, dataCodewordsPerBlock: 22 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 9, dataCodewordsPerBlock: 13 },\n { numBlocks: 16, dataCodewordsPerBlock: 14 },\n ],\n },\n ],\n },\n {\n infoBits: 0x149A6,\n versionNumber: 20,\n alignmentPatternCenters: [6, 34, 62, 90],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 107 },\n { numBlocks: 5, dataCodewordsPerBlock: 108 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 41 },\n { numBlocks: 13, dataCodewordsPerBlock: 42 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 24 },\n { numBlocks: 5, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 15 },\n { numBlocks: 10, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x15683,\n versionNumber: 21,\n alignmentPatternCenters: [6, 28, 50, 72, 94],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 116 },\n { numBlocks: 4, dataCodewordsPerBlock: 117 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 42 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 22 },\n { numBlocks: 6, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 16 },\n { numBlocks: 6, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x168C9,\n versionNumber: 22,\n alignmentPatternCenters: [6, 26, 50, 74, 98],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 111 },\n { numBlocks: 7, dataCodewordsPerBlock: 112 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 46 }],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 24 },\n { numBlocks: 16, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 34, dataCodewordsPerBlock: 13 }],\n },\n ],\n },\n {\n infoBits: 0x177EC,\n versionNumber: 23,\n alignmentPatternCenters: [6, 30, 54, 74, 102],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 121 },\n { numBlocks: 5, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 47 },\n { numBlocks: 14, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 16, dataCodewordsPerBlock: 15 },\n { numBlocks: 14, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x18EC4,\n versionNumber: 24,\n alignmentPatternCenters: [6, 28, 54, 80, 106],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 117 },\n { numBlocks: 4, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 45 },\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 24 },\n { numBlocks: 16, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 30, dataCodewordsPerBlock: 16 },\n { numBlocks: 2, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x191E1,\n versionNumber: 25,\n alignmentPatternCenters: [6, 32, 58, 84, 110],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 106 },\n { numBlocks: 4, dataCodewordsPerBlock: 107 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 47 },\n { numBlocks: 13, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 24 },\n { numBlocks: 22, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 15 },\n { numBlocks: 13, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1AFAB,\n versionNumber: 26,\n alignmentPatternCenters: [6, 30, 58, 86, 114],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 114 },\n { numBlocks: 2, dataCodewordsPerBlock: 115 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 46 },\n { numBlocks: 4, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 28, dataCodewordsPerBlock: 22 },\n { numBlocks: 6, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 33, dataCodewordsPerBlock: 16 },\n { numBlocks: 4, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1B08E,\n versionNumber: 27,\n alignmentPatternCenters: [6, 34, 62, 90, 118],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 122 },\n { numBlocks: 4, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 45 },\n { numBlocks: 3, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 23 },\n { numBlocks: 26, dataCodewordsPerBlock: 24 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 15 },\n { numBlocks: 28, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1CC1A,\n versionNumber: 28,\n alignmentPatternCenters: [6, 26, 50, 74, 98, 122],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 117 },\n { numBlocks: 10, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 45 },\n { numBlocks: 23, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 24 },\n { numBlocks: 31, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 15 },\n { numBlocks: 31, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1D33F,\n versionNumber: 29,\n alignmentPatternCenters: [6, 30, 54, 78, 102, 126],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 116 },\n { numBlocks: 7, dataCodewordsPerBlock: 117 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 21, dataCodewordsPerBlock: 45 },\n { numBlocks: 7, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 23 },\n { numBlocks: 37, dataCodewordsPerBlock: 24 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n { numBlocks: 26, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1ED75,\n versionNumber: 30,\n alignmentPatternCenters: [6, 26, 52, 78, 104, 130],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 115 },\n { numBlocks: 10, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 47 },\n { numBlocks: 10, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 24 },\n { numBlocks: 25, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 23, dataCodewordsPerBlock: 15 },\n { numBlocks: 25, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1F250,\n versionNumber: 31,\n alignmentPatternCenters: [6, 30, 56, 82, 108, 134],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 115 },\n { numBlocks: 3, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 46 },\n { numBlocks: 29, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 42, dataCodewordsPerBlock: 24 },\n { numBlocks: 1, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 23, dataCodewordsPerBlock: 15 },\n { numBlocks: 28, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x209D5,\n versionNumber: 32,\n alignmentPatternCenters: [6, 34, 60, 86, 112, 138],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 115 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 46 },\n { numBlocks: 23, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 24 },\n { numBlocks: 35, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n { numBlocks: 35, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x216F0,\n versionNumber: 33,\n alignmentPatternCenters: [6, 30, 58, 86, 114, 142],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 115 },\n { numBlocks: 1, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n { numBlocks: 21, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 29, dataCodewordsPerBlock: 24 },\n { numBlocks: 19, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 15 },\n { numBlocks: 46, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x228BA,\n versionNumber: 34,\n alignmentPatternCenters: [6, 34, 62, 90, 118, 146],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 115 },\n { numBlocks: 6, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n { numBlocks: 23, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 44, dataCodewordsPerBlock: 24 },\n { numBlocks: 7, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 59, dataCodewordsPerBlock: 16 },\n { numBlocks: 1, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x2379F,\n versionNumber: 35,\n alignmentPatternCenters: [6, 30, 54, 78, 102, 126, 150],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 121 },\n { numBlocks: 7, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 47 },\n { numBlocks: 26, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 39, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 15 },\n { numBlocks: 41, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x24B0B,\n versionNumber: 36,\n alignmentPatternCenters: [6, 24, 50, 76, 102, 128, 154],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 121 },\n { numBlocks: 14, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 47 },\n { numBlocks: 34, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 46, dataCodewordsPerBlock: 24 },\n { numBlocks: 10, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n { numBlocks: 64, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x2542E,\n versionNumber: 37,\n alignmentPatternCenters: [6, 28, 54, 80, 106, 132, 158],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 122 },\n { numBlocks: 4, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 29, dataCodewordsPerBlock: 46 },\n { numBlocks: 14, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 49, dataCodewordsPerBlock: 24 },\n { numBlocks: 10, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 24, dataCodewordsPerBlock: 15 },\n { numBlocks: 46, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x26A64,\n versionNumber: 38,\n alignmentPatternCenters: [6, 32, 58, 84, 110, 136, 162],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 122 },\n { numBlocks: 18, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 46 },\n { numBlocks: 32, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 48, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 42, dataCodewordsPerBlock: 15 },\n { numBlocks: 32, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x27541,\n versionNumber: 39,\n alignmentPatternCenters: [6, 26, 54, 82, 110, 138, 166],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 20, dataCodewordsPerBlock: 117 },\n { numBlocks: 4, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 40, dataCodewordsPerBlock: 47 },\n { numBlocks: 7, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 43, dataCodewordsPerBlock: 24 },\n { numBlocks: 22, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 15 },\n { numBlocks: 67, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x28C69,\n versionNumber: 40,\n alignmentPatternCenters: [6, 30, 58, 86, 114, 142, 170],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 118 },\n { numBlocks: 6, dataCodewordsPerBlock: 119 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 18, dataCodewordsPerBlock: 47 },\n { numBlocks: 31, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 34, dataCodewordsPerBlock: 24 },\n { numBlocks: 34, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 20, dataCodewordsPerBlock: 15 },\n { numBlocks: 61, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n];\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __nested_webpack_require_231645__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix_1 = __nested_webpack_require_231645__(0);\nfunction squareToQuadrilateral(p1, p2, p3, p4) {\n var dx3 = p1.x - p2.x + p3.x - p4.x;\n var dy3 = p1.y - p2.y + p3.y - p4.y;\n if (dx3 === 0 && dy3 === 0) { // Affine\n return {\n a11: p2.x - p1.x,\n a12: p2.y - p1.y,\n a13: 0,\n a21: p3.x - p2.x,\n a22: p3.y - p2.y,\n a23: 0,\n a31: p1.x,\n a32: p1.y,\n a33: 1,\n };\n }\n else {\n var dx1 = p2.x - p3.x;\n var dx2 = p4.x - p3.x;\n var dy1 = p2.y - p3.y;\n var dy2 = p4.y - p3.y;\n var denominator = dx1 * dy2 - dx2 * dy1;\n var a13 = (dx3 * dy2 - dx2 * dy3) / denominator;\n var a23 = (dx1 * dy3 - dx3 * dy1) / denominator;\n return {\n a11: p2.x - p1.x + a13 * p2.x,\n a12: p2.y - p1.y + a13 * p2.y,\n a13: a13,\n a21: p4.x - p1.x + a23 * p4.x,\n a22: p4.y - p1.y + a23 * p4.y,\n a23: a23,\n a31: p1.x,\n a32: p1.y,\n a33: 1,\n };\n }\n}\nfunction quadrilateralToSquare(p1, p2, p3, p4) {\n // Here, the adjoint serves as the inverse:\n var sToQ = squareToQuadrilateral(p1, p2, p3, p4);\n return {\n a11: sToQ.a22 * sToQ.a33 - sToQ.a23 * sToQ.a32,\n a12: sToQ.a13 * sToQ.a32 - sToQ.a12 * sToQ.a33,\n a13: sToQ.a12 * sToQ.a23 - sToQ.a13 * sToQ.a22,\n a21: sToQ.a23 * sToQ.a31 - sToQ.a21 * sToQ.a33,\n a22: sToQ.a11 * sToQ.a33 - sToQ.a13 * sToQ.a31,\n a23: sToQ.a13 * sToQ.a21 - sToQ.a11 * sToQ.a23,\n a31: sToQ.a21 * sToQ.a32 - sToQ.a22 * sToQ.a31,\n a32: sToQ.a12 * sToQ.a31 - sToQ.a11 * sToQ.a32,\n a33: sToQ.a11 * sToQ.a22 - sToQ.a12 * sToQ.a21,\n };\n}\nfunction times(a, b) {\n return {\n a11: a.a11 * b.a11 + a.a21 * b.a12 + a.a31 * b.a13,\n a12: a.a12 * b.a11 + a.a22 * b.a12 + a.a32 * b.a13,\n a13: a.a13 * b.a11 + a.a23 * b.a12 + a.a33 * b.a13,\n a21: a.a11 * b.a21 + a.a21 * b.a22 + a.a31 * b.a23,\n a22: a.a12 * b.a21 + a.a22 * b.a22 + a.a32 * b.a23,\n a23: a.a13 * b.a21 + a.a23 * b.a22 + a.a33 * b.a23,\n a31: a.a11 * b.a31 + a.a21 * b.a32 + a.a31 * b.a33,\n a32: a.a12 * b.a31 + a.a22 * b.a32 + a.a32 * b.a33,\n a33: a.a13 * b.a31 + a.a23 * b.a32 + a.a33 * b.a33,\n };\n}\nfunction extract(image, location) {\n var qToS = quadrilateralToSquare({ x: 3.5, y: 3.5 }, { x: location.dimension - 3.5, y: 3.5 }, { x: location.dimension - 6.5, y: location.dimension - 6.5 }, { x: 3.5, y: location.dimension - 3.5 });\n var sToQ = squareToQuadrilateral(location.topLeft, location.topRight, location.alignmentPattern, location.bottomLeft);\n var transform = times(sToQ, qToS);\n var matrix = BitMatrix_1.BitMatrix.createEmpty(location.dimension, location.dimension);\n var mappingFunction = function (x, y) {\n var denominator = transform.a13 * x + transform.a23 * y + transform.a33;\n return {\n x: (transform.a11 * x + transform.a21 * y + transform.a31) / denominator,\n y: (transform.a12 * x + transform.a22 * y + transform.a32) / denominator,\n };\n };\n for (var y = 0; y < location.dimension; y++) {\n for (var x = 0; x < location.dimension; x++) {\n var xValue = x + 0.5;\n var yValue = y + 0.5;\n var sourcePixel = mappingFunction(xValue, yValue);\n matrix.set(x, y, image.get(Math.floor(sourcePixel.x), Math.floor(sourcePixel.y)));\n }\n }\n return {\n matrix: matrix,\n mappingFunction: mappingFunction,\n };\n}\nexports.extract = extract;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar MAX_FINDERPATTERNS_TO_SEARCH = 4;\nvar MIN_QUAD_RATIO = 0.5;\nvar MAX_QUAD_RATIO = 1.5;\nvar distance = function (a, b) { return Math.sqrt(Math.pow((b.x - a.x), 2) + Math.pow((b.y - a.y), 2)); };\nfunction sum(values) {\n return values.reduce(function (a, b) { return a + b; });\n}\n// Takes three finder patterns and organizes them into topLeft, topRight, etc\nfunction reorderFinderPatterns(pattern1, pattern2, pattern3) {\n var _a, _b, _c, _d;\n // Find distances between pattern centers\n var oneTwoDistance = distance(pattern1, pattern2);\n var twoThreeDistance = distance(pattern2, pattern3);\n var oneThreeDistance = distance(pattern1, pattern3);\n var bottomLeft;\n var topLeft;\n var topRight;\n // Assume one closest to other two is B; A and C will just be guesses at first\n if (twoThreeDistance >= oneTwoDistance && twoThreeDistance >= oneThreeDistance) {\n _a = [pattern2, pattern1, pattern3], bottomLeft = _a[0], topLeft = _a[1], topRight = _a[2];\n }\n else if (oneThreeDistance >= twoThreeDistance && oneThreeDistance >= oneTwoDistance) {\n _b = [pattern1, pattern2, pattern3], bottomLeft = _b[0], topLeft = _b[1], topRight = _b[2];\n }\n else {\n _c = [pattern1, pattern3, pattern2], bottomLeft = _c[0], topLeft = _c[1], topRight = _c[2];\n }\n // Use cross product to figure out whether bottomLeft (A) and topRight (C) are correct or flipped in relation to topLeft (B)\n // This asks whether BC x BA has a positive z component, which is the arrangement we want. If it\'s negative, then\n // we\'ve got it flipped around and should swap topRight and bottomLeft.\n if (((topRight.x - topLeft.x) * (bottomLeft.y - topLeft.y)) - ((topRight.y - topLeft.y) * (bottomLeft.x - topLeft.x)) < 0) {\n _d = [topRight, bottomLeft], bottomLeft = _d[0], topRight = _d[1];\n }\n return { bottomLeft: bottomLeft, topLeft: topLeft, topRight: topRight };\n}\n// Computes the dimension (number of modules on a side) of the QR Code based on the position of the finder patterns\nfunction computeDimension(topLeft, topRight, bottomLeft, matrix) {\n var moduleSize = (sum(countBlackWhiteRun(topLeft, bottomLeft, matrix, 5)) / 7 + // Divide by 7 since the ratio is 1:1:3:1:1\n sum(countBlackWhiteRun(topLeft, topRight, matrix, 5)) / 7 +\n sum(countBlackWhiteRun(bottomLeft, topLeft, matrix, 5)) / 7 +\n sum(countBlackWhiteRun(topRight, topLeft, matrix, 5)) / 7) / 4;\n if (moduleSize < 1) {\n throw new Error("Invalid module size");\n }\n var topDimension = Math.round(distance(topLeft, topRight) / moduleSize);\n var sideDimension = Math.round(distance(topLeft, bottomLeft) / moduleSize);\n var dimension = Math.floor((topDimension + sideDimension) / 2) + 7;\n switch (dimension % 4) {\n case 0:\n dimension++;\n break;\n case 2:\n dimension--;\n break;\n }\n return { dimension: dimension, moduleSize: moduleSize };\n}\n// Takes an origin point and an end point and counts the sizes of the black white run from the origin towards the end point.\n// Returns an array of elements, representing the pixel size of the black white run.\n// Uses a variant of http://en.wikipedia.org/wiki/Bresenham\'s_line_algorithm\nfunction countBlackWhiteRunTowardsPoint(origin, end, matrix, length) {\n var switchPoints = [{ x: Math.floor(origin.x), y: Math.floor(origin.y) }];\n var steep = Math.abs(end.y - origin.y) > Math.abs(end.x - origin.x);\n var fromX;\n var fromY;\n var toX;\n var toY;\n if (steep) {\n fromX = Math.floor(origin.y);\n fromY = Math.floor(origin.x);\n toX = Math.floor(end.y);\n toY = Math.floor(end.x);\n }\n else {\n fromX = Math.floor(origin.x);\n fromY = Math.floor(origin.y);\n toX = Math.floor(end.x);\n toY = Math.floor(end.y);\n }\n var dx = Math.abs(toX - fromX);\n var dy = Math.abs(toY - fromY);\n var error = Math.floor(-dx / 2);\n var xStep = fromX < toX ? 1 : -1;\n var yStep = fromY < toY ? 1 : -1;\n var currentPixel = true;\n // Loop up until x == toX, but not beyond\n for (var x = fromX, y = fromY; x !== toX + xStep; x += xStep) {\n // Does current pixel mean we have moved white to black or vice versa?\n // Scanning black in state 0,2 and white in state 1, so if we find the wrong\n // color, advance to next state or end if we are in state 2 already\n var realX = steep ? y : x;\n var realY = steep ? x : y;\n if (matrix.get(realX, realY) !== currentPixel) {\n currentPixel = !currentPixel;\n switchPoints.push({ x: realX, y: realY });\n if (switchPoints.length === length + 1) {\n break;\n }\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += yStep;\n error -= dx;\n }\n }\n var distances = [];\n for (var i = 0; i < length; i++) {\n if (switchPoints[i] && switchPoints[i + 1]) {\n distances.push(distance(switchPoints[i], switchPoints[i + 1]));\n }\n else {\n distances.push(0);\n }\n }\n return distances;\n}\n// Takes an origin point and an end point and counts the sizes of the black white run in the origin point\n// along the line that intersects with the end point. Returns an array of elements, representing the pixel sizes\n// of the black white run. Takes a length which represents the number of switches from black to white to look for.\nfunction countBlackWhiteRun(origin, end, matrix, length) {\n var _a;\n var rise = end.y - origin.y;\n var run = end.x - origin.x;\n var towardsEnd = countBlackWhiteRunTowardsPoint(origin, end, matrix, Math.ceil(length / 2));\n var awayFromEnd = countBlackWhiteRunTowardsPoint(origin, { x: origin.x - run, y: origin.y - rise }, matrix, Math.ceil(length / 2));\n var middleValue = towardsEnd.shift() + awayFromEnd.shift() - 1; // Substract one so we don\'t double count a pixel\n return (_a = awayFromEnd.concat(middleValue)).concat.apply(_a, towardsEnd);\n}\n// Takes in a black white run and an array of expected ratios. Returns the average size of the run as well as the "error" -\n// that is the amount the run diverges from the expected ratio\nfunction scoreBlackWhiteRun(sequence, ratios) {\n var averageSize = sum(sequence) / sum(ratios);\n var error = 0;\n ratios.forEach(function (ratio, i) {\n error += Math.pow((sequence[i] - ratio * averageSize), 2);\n });\n return { averageSize: averageSize, error: error };\n}\n// Takes an X,Y point and an array of sizes and scores the point against those ratios.\n// For example for a finder pattern takes the ratio list of 1:1:3:1:1 and checks horizontal, vertical and diagonal ratios\n// against that.\nfunction scorePattern(point, ratios, matrix) {\n try {\n var horizontalRun = countBlackWhiteRun(point, { x: -1, y: point.y }, matrix, ratios.length);\n var verticalRun = countBlackWhiteRun(point, { x: point.x, y: -1 }, matrix, ratios.length);\n var topLeftPoint = {\n x: Math.max(0, point.x - point.y) - 1,\n y: Math.max(0, point.y - point.x) - 1,\n };\n var topLeftBottomRightRun = countBlackWhiteRun(point, topLeftPoint, matrix, ratios.length);\n var bottomLeftPoint = {\n x: Math.min(matrix.width, point.x + point.y) + 1,\n y: Math.min(matrix.height, point.y + point.x) + 1,\n };\n var bottomLeftTopRightRun = countBlackWhiteRun(point, bottomLeftPoint, matrix, ratios.length);\n var horzError = scoreBlackWhiteRun(horizontalRun, ratios);\n var vertError = scoreBlackWhiteRun(verticalRun, ratios);\n var diagDownError = scoreBlackWhiteRun(topLeftBottomRightRun, ratios);\n var diagUpError = scoreBlackWhiteRun(bottomLeftTopRightRun, ratios);\n var ratioError = Math.sqrt(horzError.error * horzError.error +\n vertError.error * vertError.error +\n diagDownError.error * diagDownError.error +\n diagUpError.error * diagUpError.error);\n var avgSize = (horzError.averageSize + vertError.averageSize + diagDownError.averageSize + diagUpError.averageSize) / 4;\n var sizeError = (Math.pow((horzError.averageSize - avgSize), 2) +\n Math.pow((vertError.averageSize - avgSize), 2) +\n Math.pow((diagDownError.averageSize - avgSize), 2) +\n Math.pow((diagUpError.averageSize - avgSize), 2)) / avgSize;\n return ratioError + sizeError;\n }\n catch (_a) {\n return Infinity;\n }\n}\nfunction recenterLocation(matrix, p) {\n var leftX = Math.round(p.x);\n while (matrix.get(leftX, Math.round(p.y))) {\n leftX--;\n }\n var rightX = Math.round(p.x);\n while (matrix.get(rightX, Math.round(p.y))) {\n rightX++;\n }\n var x = (leftX + rightX) / 2;\n var topY = Math.round(p.y);\n while (matrix.get(Math.round(x), topY)) {\n topY--;\n }\n var bottomY = Math.round(p.y);\n while (matrix.get(Math.round(x), bottomY)) {\n bottomY++;\n }\n var y = (topY + bottomY) / 2;\n return { x: x, y: y };\n}\nfunction locate(matrix) {\n var finderPatternQuads = [];\n var activeFinderPatternQuads = [];\n var alignmentPatternQuads = [];\n var activeAlignmentPatternQuads = [];\n var _loop_1 = function (y) {\n var length_1 = 0;\n var lastBit = false;\n var scans = [0, 0, 0, 0, 0];\n var _loop_2 = function (x) {\n var v = matrix.get(x, y);\n if (v === lastBit) {\n length_1++;\n }\n else {\n scans = [scans[1], scans[2], scans[3], scans[4], length_1];\n length_1 = 1;\n lastBit = v;\n // Do the last 5 color changes ~ match the expected ratio for a finder pattern? 1:1:3:1:1 of b:w:b:w:b\n var averageFinderPatternBlocksize = sum(scans) / 7;\n var validFinderPattern = Math.abs(scans[0] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[1] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[2] - 3 * averageFinderPatternBlocksize) < 3 * averageFinderPatternBlocksize &&\n Math.abs(scans[3] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[4] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n !v; // And make sure the current pixel is white since finder patterns are bordered in white\n // Do the last 3 color changes ~ match the expected ratio for an alignment pattern? 1:1:1 of w:b:w\n var averageAlignmentPatternBlocksize = sum(scans.slice(-3)) / 3;\n var validAlignmentPattern = Math.abs(scans[2] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n Math.abs(scans[3] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n Math.abs(scans[4] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n v; // Is the current pixel black since alignment patterns are bordered in black\n if (validFinderPattern) {\n // Compute the start and end x values of the large center black square\n var endX_1 = x - scans[3] - scans[4];\n var startX_1 = endX_1 - scans[2];\n var line = { startX: startX_1, endX: endX_1, y: y };\n // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with\n // that line as the starting point.\n var matchingQuads = activeFinderPatternQuads.filter(function (q) {\n return (startX_1 >= q.bottom.startX && startX_1 <= q.bottom.endX) ||\n (endX_1 >= q.bottom.startX && startX_1 <= q.bottom.endX) ||\n (startX_1 <= q.bottom.startX && endX_1 >= q.bottom.endX && ((scans[2] / (q.bottom.endX - q.bottom.startX)) < MAX_QUAD_RATIO &&\n (scans[2] / (q.bottom.endX - q.bottom.startX)) > MIN_QUAD_RATIO));\n });\n if (matchingQuads.length > 0) {\n matchingQuads[0].bottom = line;\n }\n else {\n activeFinderPatternQuads.push({ top: line, bottom: line });\n }\n }\n if (validAlignmentPattern) {\n // Compute the start and end x values of the center black square\n var endX_2 = x - scans[4];\n var startX_2 = endX_2 - scans[3];\n var line = { startX: startX_2, y: y, endX: endX_2 };\n // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with\n // that line as the starting point.\n var matchingQuads = activeAlignmentPatternQuads.filter(function (q) {\n return (startX_2 >= q.bottom.startX && startX_2 <= q.bottom.endX) ||\n (endX_2 >= q.bottom.startX && startX_2 <= q.bottom.endX) ||\n (startX_2 <= q.bottom.startX && endX_2 >= q.bottom.endX && ((scans[2] / (q.bottom.endX - q.bottom.startX)) < MAX_QUAD_RATIO &&\n (scans[2] / (q.bottom.endX - q.bottom.startX)) > MIN_QUAD_RATIO));\n });\n if (matchingQuads.length > 0) {\n matchingQuads[0].bottom = line;\n }\n else {\n activeAlignmentPatternQuads.push({ top: line, bottom: line });\n }\n }\n }\n };\n for (var x = -1; x <= matrix.width; x++) {\n _loop_2(x);\n }\n finderPatternQuads.push.apply(finderPatternQuads, activeFinderPatternQuads.filter(function (q) { return q.bottom.y !== y && q.bottom.y - q.top.y >= 2; }));\n activeFinderPatternQuads = activeFinderPatternQuads.filter(function (q) { return q.bottom.y === y; });\n alignmentPatternQuads.push.apply(alignmentPatternQuads, activeAlignmentPatternQuads.filter(function (q) { return q.bottom.y !== y; }));\n activeAlignmentPatternQuads = activeAlignmentPatternQuads.filter(function (q) { return q.bottom.y === y; });\n };\n for (var y = 0; y <= matrix.height; y++) {\n _loop_1(y);\n }\n finderPatternQuads.push.apply(finderPatternQuads, activeFinderPatternQuads.filter(function (q) { return q.bottom.y - q.top.y >= 2; }));\n alignmentPatternQuads.push.apply(alignmentPatternQuads, activeAlignmentPatternQuads);\n var finderPatternGroups = finderPatternQuads\n .filter(function (q) { return q.bottom.y - q.top.y >= 2; }) // All quads must be at least 2px tall since the center square is larger than a block\n .map(function (q) {\n var x = (q.top.startX + q.top.endX + q.bottom.startX + q.bottom.endX) / 4;\n var y = (q.top.y + q.bottom.y + 1) / 2;\n if (!matrix.get(Math.round(x), Math.round(y))) {\n return;\n }\n var lengths = [q.top.endX - q.top.startX, q.bottom.endX - q.bottom.startX, q.bottom.y - q.top.y + 1];\n var size = sum(lengths) / lengths.length;\n var score = scorePattern({ x: Math.round(x), y: Math.round(y) }, [1, 1, 3, 1, 1], matrix);\n return { score: score, x: x, y: y, size: size };\n })\n .filter(function (q) { return !!q; }) // Filter out any rejected quads from above\n .sort(function (a, b) { return a.score - b.score; })\n // Now take the top finder pattern options and try to find 2 other options with a similar size.\n .map(function (point, i, finderPatterns) {\n if (i > MAX_FINDERPATTERNS_TO_SEARCH) {\n return null;\n }\n var otherPoints = finderPatterns\n .filter(function (p, ii) { return i !== ii; })\n .map(function (p) { return ({ x: p.x, y: p.y, score: p.score + (Math.pow((p.size - point.size), 2)) / point.size, size: p.size }); })\n .sort(function (a, b) { return a.score - b.score; });\n if (otherPoints.length < 2) {\n return null;\n }\n var score = point.score + otherPoints[0].score + otherPoints[1].score;\n return { points: [point].concat(otherPoints.slice(0, 2)), score: score };\n })\n .filter(function (q) { return !!q; }) // Filter out any rejected finder patterns from above\n .sort(function (a, b) { return a.score - b.score; });\n if (finderPatternGroups.length === 0) {\n return null;\n }\n var _a = reorderFinderPatterns(finderPatternGroups[0].points[0], finderPatternGroups[0].points[1], finderPatternGroups[0].points[2]), topRight = _a.topRight, topLeft = _a.topLeft, bottomLeft = _a.bottomLeft;\n var alignment = findAlignmentPattern(matrix, alignmentPatternQuads, topRight, topLeft, bottomLeft);\n var result = [];\n if (alignment) {\n result.push({\n alignmentPattern: { x: alignment.alignmentPattern.x, y: alignment.alignmentPattern.y },\n bottomLeft: { x: bottomLeft.x, y: bottomLeft.y },\n dimension: alignment.dimension,\n topLeft: { x: topLeft.x, y: topLeft.y },\n topRight: { x: topRight.x, y: topRight.y },\n });\n }\n // We normally use the center of the quads as the location of the tracking points, which is optimal for most cases and will account\n // for a skew in the image. However, In some cases, a slight skew might not be real and instead be caused by image compression\n // errors and/or low resolution. For those cases, we\'d be better off centering the point exactly in the middle of the black area. We\n // compute and return the location data for the naively centered points as it is little additional work and allows for multiple\n // attempts at decoding harder images.\n var midTopRight = recenterLocation(matrix, topRight);\n var midTopLeft = recenterLocation(matrix, topLeft);\n var midBottomLeft = recenterLocation(matrix, bottomLeft);\n var centeredAlignment = findAlignmentPattern(matrix, alignmentPatternQuads, midTopRight, midTopLeft, midBottomLeft);\n if (centeredAlignment) {\n result.push({\n alignmentPattern: { x: centeredAlignment.alignmentPattern.x, y: centeredAlignment.alignmentPattern.y },\n bottomLeft: { x: midBottomLeft.x, y: midBottomLeft.y },\n topLeft: { x: midTopLeft.x, y: midTopLeft.y },\n topRight: { x: midTopRight.x, y: midTopRight.y },\n dimension: centeredAlignment.dimension,\n });\n }\n if (result.length === 0) {\n return null;\n }\n return result;\n}\nexports.locate = locate;\nfunction findAlignmentPattern(matrix, alignmentPatternQuads, topRight, topLeft, bottomLeft) {\n var _a;\n // Now that we\'ve found the three finder patterns we can determine the blockSize and the size of the QR code.\n // We\'ll use these to help find the alignment pattern but also later when we do the extraction.\n var dimension;\n var moduleSize;\n try {\n (_a = computeDimension(topLeft, topRight, bottomLeft, matrix), dimension = _a.dimension, moduleSize = _a.moduleSize);\n }\n catch (e) {\n return null;\n }\n // Now find the alignment pattern\n var bottomRightFinderPattern = {\n x: topRight.x - topLeft.x + bottomLeft.x,\n y: topRight.y - topLeft.y + bottomLeft.y,\n };\n var modulesBetweenFinderPatterns = ((distance(topLeft, bottomLeft) + distance(topLeft, topRight)) / 2 / moduleSize);\n var correctionToTopLeft = 1 - (3 / modulesBetweenFinderPatterns);\n var expectedAlignmentPattern = {\n x: topLeft.x + correctionToTopLeft * (bottomRightFinderPattern.x - topLeft.x),\n y: topLeft.y + correctionToTopLeft * (bottomRightFinderPattern.y - topLeft.y),\n };\n var alignmentPatterns = alignmentPatternQuads\n .map(function (q) {\n var x = (q.top.startX + q.top.endX + q.bottom.startX + q.bottom.endX) / 4;\n var y = (q.top.y + q.bottom.y + 1) / 2;\n if (!matrix.get(Math.floor(x), Math.floor(y))) {\n return;\n }\n var lengths = [q.top.endX - q.top.startX, q.bottom.endX - q.bottom.startX, (q.bottom.y - q.top.y + 1)];\n var size = sum(lengths) / lengths.length;\n var sizeScore = scorePattern({ x: Math.floor(x), y: Math.floor(y) }, [1, 1, 1], matrix);\n var score = sizeScore + distance({ x: x, y: y }, expectedAlignmentPattern);\n return { x: x, y: y, score: score };\n })\n .filter(function (v) { return !!v; })\n .sort(function (a, b) { return a.score - b.score; });\n // If there are less than 15 modules between finder patterns it\'s a version 1 QR code and as such has no alignmemnt pattern\n // so we can only use our best guess.\n var alignmentPattern = modulesBetweenFinderPatterns >= 15 && alignmentPatterns.length ? alignmentPatterns[0] : expectedAlignmentPattern;\n return { alignmentPattern: alignmentPattern, dimension: dimension };\n}\n\n\n/***/ })\n/******/ ])["default"];\n});\n\n//# sourceURL=webpack://frontend/./node_modules/jsqr/dist/jsQR.js?')},"./node_modules/react-webcam-qr-scanner/dist/Worker.js":(__unused_webpack_module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nvar _jsqr = _interopRequireDefault(__webpack_require__(/*! jsqr */ "./node_modules/jsqr/dist/jsQR.js"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\n\nfunction decode(data, width, height) {\n try {\n var result = (0, _jsqr["default"])(data, width, height);\n return {\n success: true,\n result: result\n };\n } catch (err) {\n console.warn(err);\n return {\n success: false,\n result: null\n };\n }\n}\n\n;\n\nself.onmessage = function (event) {\n if (event.data) {\n var _event$data = event.data,\n id = _event$data.id,\n content = _event$data.content;\n\n switch (content.type) {\n case "ack":\n {\n self.postMessage({\n id: id,\n content: content\n });\n break;\n }\n\n case "decode":\n {\n var _content$data = content.data,\n data = _content$data.data,\n width = _content$data.width,\n height = _content$data.height;\n var result = decode(data, width, height);\n self.postMessage({\n id: id,\n content: {\n type: "decode",\n data: result\n }\n });\n break;\n }\n\n default:\n break;\n }\n }\n};\n\n//# sourceURL=webpack://frontend/./node_modules/react-webcam-qr-scanner/dist/Worker.js?')}},__webpack_module_cache__={};function __webpack_require__(x){var n=__webpack_module_cache__[x];if(void 0!==n)return n.exports;var e=__webpack_module_cache__[x]={exports:{}};return __webpack_modules__[x].call(e.exports,e,e.exports,__webpack_require__),e.exports}var __webpack_exports__=__webpack_require__("./node_modules/react-webcam-qr-scanner/dist/Worker.js")})(); \ No newline at end of file diff --git a/frontend/static/frontend/qr-decoding.worker.js.LICENSE.txt b/frontend/static/frontend/qr-decoding.worker.js.LICENSE.txt deleted file mode 100644 index 15382ff42..000000000 --- a/frontend/static/frontend/qr-decoding.worker.js.LICENSE.txt +++ /dev/null @@ -1,7 +0,0 @@ -/*!****************************************!*\ - !*** ./node_modules/jsqr/dist/jsQR.js ***! - \****************************************/ - -/*!*************************************************************!*\ - !*** ./node_modules/react-webcam-qr-scanner/dist/Worker.js ***! - \*************************************************************/ diff --git a/frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js b/frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js deleted file mode 100644 index 6c77f05e3..000000000 --- a/frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see vendors-node_modules_jsqr_dist_jsQR_js.js.LICENSE.txt */ -(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([["vendors-node_modules_jsqr_dist_jsQR_js"],{"./node_modules/jsqr/dist/jsQR.js":function(module){eval('(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(typeof self !== \'undefined\' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __nested_webpack_require_568__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_568__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__nested_webpack_require_568__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__nested_webpack_require_568__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__nested_webpack_require_568__.d = function(exports, name, getter) {\n/******/ \t\tif(!__nested_webpack_require_568__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__nested_webpack_require_568__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module[\'default\']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__nested_webpack_require_568__.d(getter, \'a\', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__nested_webpack_require_568__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__nested_webpack_require_568__.p = "";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __nested_webpack_require_568__(__nested_webpack_require_568__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix = /** @class */ (function () {\n function BitMatrix(data, width) {\n this.width = width;\n this.height = data.length / width;\n this.data = data;\n }\n BitMatrix.createEmpty = function (width, height) {\n return new BitMatrix(new Uint8ClampedArray(width * height), width);\n };\n BitMatrix.prototype.get = function (x, y) {\n if (x < 0 || x >= this.width || y < 0 || y >= this.height) {\n return false;\n }\n return !!this.data[y * this.width + x];\n };\n BitMatrix.prototype.set = function (x, y, v) {\n this.data[y * this.width + x] = v ? 1 : 0;\n };\n BitMatrix.prototype.setRegion = function (left, top, width, height, v) {\n for (var y = top; y < top + height; y++) {\n for (var x = left; x < left + width; x++) {\n this.set(x, y, !!v);\n }\n }\n };\n return BitMatrix;\n}());\nexports.BitMatrix = BitMatrix;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __nested_webpack_require_3952__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar GenericGFPoly_1 = __nested_webpack_require_3952__(2);\nfunction addOrSubtractGF(a, b) {\n return a ^ b; // tslint:disable-line:no-bitwise\n}\nexports.addOrSubtractGF = addOrSubtractGF;\nvar GenericGF = /** @class */ (function () {\n function GenericGF(primitive, size, genBase) {\n this.primitive = primitive;\n this.size = size;\n this.generatorBase = genBase;\n this.expTable = new Array(this.size);\n this.logTable = new Array(this.size);\n var x = 1;\n for (var i = 0; i < this.size; i++) {\n this.expTable[i] = x;\n x = x * 2;\n if (x >= this.size) {\n x = (x ^ this.primitive) & (this.size - 1); // tslint:disable-line:no-bitwise\n }\n }\n for (var i = 0; i < this.size - 1; i++) {\n this.logTable[this.expTable[i]] = i;\n }\n this.zero = new GenericGFPoly_1.default(this, Uint8ClampedArray.from([0]));\n this.one = new GenericGFPoly_1.default(this, Uint8ClampedArray.from([1]));\n }\n GenericGF.prototype.multiply = function (a, b) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.size - 1)];\n };\n GenericGF.prototype.inverse = function (a) {\n if (a === 0) {\n throw new Error("Can\'t invert 0");\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n };\n GenericGF.prototype.buildMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new Error("Invalid monomial degree less than 0");\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Uint8ClampedArray(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly_1.default(this, coefficients);\n };\n GenericGF.prototype.log = function (a) {\n if (a === 0) {\n throw new Error("Can\'t take log(0)");\n }\n return this.logTable[a];\n };\n GenericGF.prototype.exp = function (a) {\n return this.expTable[a];\n };\n return GenericGF;\n}());\nexports.default = GenericGF;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __nested_webpack_require_6272__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar GenericGF_1 = __nested_webpack_require_6272__(1);\nvar GenericGFPoly = /** @class */ (function () {\n function GenericGFPoly(field, coefficients) {\n if (coefficients.length === 0) {\n throw new Error("No coefficients.");\n }\n this.field = field;\n var coefficientsLength = coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial "0"\n var firstNonZero = 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = field.zero.coefficients;\n }\n else {\n this.coefficients = new Uint8ClampedArray(coefficientsLength - firstNonZero);\n for (var i = 0; i < this.coefficients.length; i++) {\n this.coefficients[i] = coefficients[firstNonZero + i];\n }\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n GenericGFPoly.prototype.degree = function () {\n return this.coefficients.length - 1;\n };\n GenericGFPoly.prototype.isZero = function () {\n return this.coefficients[0] === 0;\n };\n GenericGFPoly.prototype.getCoefficient = function (degree) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n };\n GenericGFPoly.prototype.addOrSubtract = function (other) {\n var _a;\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n var smallerCoefficients = this.coefficients;\n var largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n _a = [largerCoefficients, smallerCoefficients], smallerCoefficients = _a[0], largerCoefficients = _a[1];\n }\n var sumDiff = new Uint8ClampedArray(largerCoefficients.length);\n var lengthDiff = largerCoefficients.length - smallerCoefficients.length;\n for (var i = 0; i < lengthDiff; i++) {\n sumDiff[i] = largerCoefficients[i];\n }\n for (var i = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = GenericGF_1.addOrSubtractGF(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new GenericGFPoly(this.field, sumDiff);\n };\n GenericGFPoly.prototype.multiply = function (scalar) {\n if (scalar === 0) {\n return this.field.zero;\n }\n if (scalar === 1) {\n return this;\n }\n var size = this.coefficients.length;\n var product = new Uint8ClampedArray(size);\n for (var i = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], scalar);\n }\n return new GenericGFPoly(this.field, product);\n };\n GenericGFPoly.prototype.multiplyPoly = function (other) {\n if (this.isZero() || other.isZero()) {\n return this.field.zero;\n }\n var aCoefficients = this.coefficients;\n var aLength = aCoefficients.length;\n var bCoefficients = other.coefficients;\n var bLength = bCoefficients.length;\n var product = new Uint8ClampedArray(aLength + bLength - 1);\n for (var i = 0; i < aLength; i++) {\n var aCoeff = aCoefficients[i];\n for (var j = 0; j < bLength; j++) {\n product[i + j] = GenericGF_1.addOrSubtractGF(product[i + j], this.field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new GenericGFPoly(this.field, product);\n };\n GenericGFPoly.prototype.multiplyByMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new Error("Invalid degree less than 0");\n }\n if (coefficient === 0) {\n return this.field.zero;\n }\n var size = this.coefficients.length;\n var product = new Uint8ClampedArray(size + degree);\n for (var i = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], coefficient);\n }\n return new GenericGFPoly(this.field, product);\n };\n GenericGFPoly.prototype.evaluateAt = function (a) {\n var result = 0;\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n var size = this.coefficients.length;\n if (a === 1) {\n // Just the sum of the coefficients\n this.coefficients.forEach(function (coefficient) {\n result = GenericGF_1.addOrSubtractGF(result, coefficient);\n });\n return result;\n }\n result = this.coefficients[0];\n for (var i = 1; i < size; i++) {\n result = GenericGF_1.addOrSubtractGF(this.field.multiply(a, result), this.coefficients[i]);\n }\n return result;\n };\n return GenericGFPoly;\n}());\nexports.default = GenericGFPoly;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __nested_webpack_require_11547__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar binarizer_1 = __nested_webpack_require_11547__(4);\nvar decoder_1 = __nested_webpack_require_11547__(5);\nvar extractor_1 = __nested_webpack_require_11547__(11);\nvar locator_1 = __nested_webpack_require_11547__(12);\nfunction scan(matrix) {\n var locations = locator_1.locate(matrix);\n if (!locations) {\n return null;\n }\n for (var _i = 0, locations_1 = locations; _i < locations_1.length; _i++) {\n var location_1 = locations_1[_i];\n var extracted = extractor_1.extract(matrix, location_1);\n var decoded = decoder_1.decode(extracted.matrix);\n if (decoded) {\n return {\n binaryData: decoded.bytes,\n data: decoded.text,\n chunks: decoded.chunks,\n version: decoded.version,\n location: {\n topRightCorner: extracted.mappingFunction(location_1.dimension, 0),\n topLeftCorner: extracted.mappingFunction(0, 0),\n bottomRightCorner: extracted.mappingFunction(location_1.dimension, location_1.dimension),\n bottomLeftCorner: extracted.mappingFunction(0, location_1.dimension),\n topRightFinderPattern: location_1.topRight,\n topLeftFinderPattern: location_1.topLeft,\n bottomLeftFinderPattern: location_1.bottomLeft,\n bottomRightAlignmentPattern: location_1.alignmentPattern,\n },\n };\n }\n }\n return null;\n}\nvar defaultOptions = {\n inversionAttempts: "attemptBoth",\n};\nfunction jsQR(data, width, height, providedOptions) {\n if (providedOptions === void 0) { providedOptions = {}; }\n var options = defaultOptions;\n Object.keys(options || {}).forEach(function (opt) {\n options[opt] = providedOptions[opt] || options[opt];\n });\n var shouldInvert = options.inversionAttempts === "attemptBoth" || options.inversionAttempts === "invertFirst";\n var tryInvertedFirst = options.inversionAttempts === "onlyInvert" || options.inversionAttempts === "invertFirst";\n var _a = binarizer_1.binarize(data, width, height, shouldInvert), binarized = _a.binarized, inverted = _a.inverted;\n var result = scan(tryInvertedFirst ? inverted : binarized);\n if (!result && (options.inversionAttempts === "attemptBoth" || options.inversionAttempts === "invertFirst")) {\n result = scan(tryInvertedFirst ? binarized : inverted);\n }\n return result;\n}\njsQR.default = jsQR;\nexports.default = jsQR;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __nested_webpack_require_14168__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix_1 = __nested_webpack_require_14168__(0);\nvar REGION_SIZE = 8;\nvar MIN_DYNAMIC_RANGE = 24;\nfunction numBetween(value, min, max) {\n return value < min ? min : value > max ? max : value;\n}\n// Like BitMatrix but accepts arbitry Uint8 values\nvar Matrix = /** @class */ (function () {\n function Matrix(width, height) {\n this.width = width;\n this.data = new Uint8ClampedArray(width * height);\n }\n Matrix.prototype.get = function (x, y) {\n return this.data[y * this.width + x];\n };\n Matrix.prototype.set = function (x, y, value) {\n this.data[y * this.width + x] = value;\n };\n return Matrix;\n}());\nfunction binarize(data, width, height, returnInverted) {\n if (data.length !== width * height * 4) {\n throw new Error("Malformed data passed to binarizer.");\n }\n // Convert image to greyscale\n var greyscalePixels = new Matrix(width, height);\n for (var x = 0; x < width; x++) {\n for (var y = 0; y < height; y++) {\n var r = data[((y * width + x) * 4) + 0];\n var g = data[((y * width + x) * 4) + 1];\n var b = data[((y * width + x) * 4) + 2];\n greyscalePixels.set(x, y, 0.2126 * r + 0.7152 * g + 0.0722 * b);\n }\n }\n var horizontalRegionCount = Math.ceil(width / REGION_SIZE);\n var verticalRegionCount = Math.ceil(height / REGION_SIZE);\n var blackPoints = new Matrix(horizontalRegionCount, verticalRegionCount);\n for (var verticalRegion = 0; verticalRegion < verticalRegionCount; verticalRegion++) {\n for (var hortizontalRegion = 0; hortizontalRegion < horizontalRegionCount; hortizontalRegion++) {\n var sum = 0;\n var min = Infinity;\n var max = 0;\n for (var y = 0; y < REGION_SIZE; y++) {\n for (var x = 0; x < REGION_SIZE; x++) {\n var pixelLumosity = greyscalePixels.get(hortizontalRegion * REGION_SIZE + x, verticalRegion * REGION_SIZE + y);\n sum += pixelLumosity;\n min = Math.min(min, pixelLumosity);\n max = Math.max(max, pixelLumosity);\n }\n }\n var average = sum / (Math.pow(REGION_SIZE, 2));\n if (max - min <= MIN_DYNAMIC_RANGE) {\n // If variation within the block is low, assume this is a block with only light or only\n // dark pixels. In that case we do not want to use the average, as it would divide this\n // low contrast area into black and white pixels, essentially creating data out of noise.\n //\n // Default the blackpoint for these blocks to be half the min - effectively white them out\n average = min / 2;\n if (verticalRegion > 0 && hortizontalRegion > 0) {\n // Correct the "white background" assumption for blocks that have neighbors by comparing\n // the pixels in this block to the previously calculated black points. This is based on\n // the fact that dark barcode symbology is always surrounded by some amount of light\n // background for which reasonable black point estimates were made. The bp estimated at\n // the boundaries is used for the interior.\n // The (min < bp) is arbitrary but works better than other heuristics that were tried.\n var averageNeighborBlackPoint = (blackPoints.get(hortizontalRegion, verticalRegion - 1) +\n (2 * blackPoints.get(hortizontalRegion - 1, verticalRegion)) +\n blackPoints.get(hortizontalRegion - 1, verticalRegion - 1)) / 4;\n if (min < averageNeighborBlackPoint) {\n average = averageNeighborBlackPoint;\n }\n }\n }\n blackPoints.set(hortizontalRegion, verticalRegion, average);\n }\n }\n var binarized = BitMatrix_1.BitMatrix.createEmpty(width, height);\n var inverted = null;\n if (returnInverted) {\n inverted = BitMatrix_1.BitMatrix.createEmpty(width, height);\n }\n for (var verticalRegion = 0; verticalRegion < verticalRegionCount; verticalRegion++) {\n for (var hortizontalRegion = 0; hortizontalRegion < horizontalRegionCount; hortizontalRegion++) {\n var left = numBetween(hortizontalRegion, 2, horizontalRegionCount - 3);\n var top_1 = numBetween(verticalRegion, 2, verticalRegionCount - 3);\n var sum = 0;\n for (var xRegion = -2; xRegion <= 2; xRegion++) {\n for (var yRegion = -2; yRegion <= 2; yRegion++) {\n sum += blackPoints.get(left + xRegion, top_1 + yRegion);\n }\n }\n var threshold = sum / 25;\n for (var xRegion = 0; xRegion < REGION_SIZE; xRegion++) {\n for (var yRegion = 0; yRegion < REGION_SIZE; yRegion++) {\n var x = hortizontalRegion * REGION_SIZE + xRegion;\n var y = verticalRegion * REGION_SIZE + yRegion;\n var lum = greyscalePixels.get(x, y);\n binarized.set(x, y, lum <= threshold);\n if (returnInverted) {\n inverted.set(x, y, !(lum <= threshold));\n }\n }\n }\n }\n }\n if (returnInverted) {\n return { binarized: binarized, inverted: inverted };\n }\n return { binarized: binarized };\n}\nexports.binarize = binarize;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __nested_webpack_require_19864__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix_1 = __nested_webpack_require_19864__(0);\nvar decodeData_1 = __nested_webpack_require_19864__(6);\nvar reedsolomon_1 = __nested_webpack_require_19864__(9);\nvar version_1 = __nested_webpack_require_19864__(10);\n// tslint:disable:no-bitwise\nfunction numBitsDiffering(x, y) {\n var z = x ^ y;\n var bitCount = 0;\n while (z) {\n bitCount++;\n z &= z - 1;\n }\n return bitCount;\n}\nfunction pushBit(bit, byte) {\n return (byte << 1) | bit;\n}\n// tslint:enable:no-bitwise\nvar FORMAT_INFO_TABLE = [\n { bits: 0x5412, formatInfo: { errorCorrectionLevel: 1, dataMask: 0 } },\n { bits: 0x5125, formatInfo: { errorCorrectionLevel: 1, dataMask: 1 } },\n { bits: 0x5E7C, formatInfo: { errorCorrectionLevel: 1, dataMask: 2 } },\n { bits: 0x5B4B, formatInfo: { errorCorrectionLevel: 1, dataMask: 3 } },\n { bits: 0x45F9, formatInfo: { errorCorrectionLevel: 1, dataMask: 4 } },\n { bits: 0x40CE, formatInfo: { errorCorrectionLevel: 1, dataMask: 5 } },\n { bits: 0x4F97, formatInfo: { errorCorrectionLevel: 1, dataMask: 6 } },\n { bits: 0x4AA0, formatInfo: { errorCorrectionLevel: 1, dataMask: 7 } },\n { bits: 0x77C4, formatInfo: { errorCorrectionLevel: 0, dataMask: 0 } },\n { bits: 0x72F3, formatInfo: { errorCorrectionLevel: 0, dataMask: 1 } },\n { bits: 0x7DAA, formatInfo: { errorCorrectionLevel: 0, dataMask: 2 } },\n { bits: 0x789D, formatInfo: { errorCorrectionLevel: 0, dataMask: 3 } },\n { bits: 0x662F, formatInfo: { errorCorrectionLevel: 0, dataMask: 4 } },\n { bits: 0x6318, formatInfo: { errorCorrectionLevel: 0, dataMask: 5 } },\n { bits: 0x6C41, formatInfo: { errorCorrectionLevel: 0, dataMask: 6 } },\n { bits: 0x6976, formatInfo: { errorCorrectionLevel: 0, dataMask: 7 } },\n { bits: 0x1689, formatInfo: { errorCorrectionLevel: 3, dataMask: 0 } },\n { bits: 0x13BE, formatInfo: { errorCorrectionLevel: 3, dataMask: 1 } },\n { bits: 0x1CE7, formatInfo: { errorCorrectionLevel: 3, dataMask: 2 } },\n { bits: 0x19D0, formatInfo: { errorCorrectionLevel: 3, dataMask: 3 } },\n { bits: 0x0762, formatInfo: { errorCorrectionLevel: 3, dataMask: 4 } },\n { bits: 0x0255, formatInfo: { errorCorrectionLevel: 3, dataMask: 5 } },\n { bits: 0x0D0C, formatInfo: { errorCorrectionLevel: 3, dataMask: 6 } },\n { bits: 0x083B, formatInfo: { errorCorrectionLevel: 3, dataMask: 7 } },\n { bits: 0x355F, formatInfo: { errorCorrectionLevel: 2, dataMask: 0 } },\n { bits: 0x3068, formatInfo: { errorCorrectionLevel: 2, dataMask: 1 } },\n { bits: 0x3F31, formatInfo: { errorCorrectionLevel: 2, dataMask: 2 } },\n { bits: 0x3A06, formatInfo: { errorCorrectionLevel: 2, dataMask: 3 } },\n { bits: 0x24B4, formatInfo: { errorCorrectionLevel: 2, dataMask: 4 } },\n { bits: 0x2183, formatInfo: { errorCorrectionLevel: 2, dataMask: 5 } },\n { bits: 0x2EDA, formatInfo: { errorCorrectionLevel: 2, dataMask: 6 } },\n { bits: 0x2BED, formatInfo: { errorCorrectionLevel: 2, dataMask: 7 } },\n];\nvar DATA_MASKS = [\n function (p) { return ((p.y + p.x) % 2) === 0; },\n function (p) { return (p.y % 2) === 0; },\n function (p) { return p.x % 3 === 0; },\n function (p) { return (p.y + p.x) % 3 === 0; },\n function (p) { return (Math.floor(p.y / 2) + Math.floor(p.x / 3)) % 2 === 0; },\n function (p) { return ((p.x * p.y) % 2) + ((p.x * p.y) % 3) === 0; },\n function (p) { return ((((p.y * p.x) % 2) + (p.y * p.x) % 3) % 2) === 0; },\n function (p) { return ((((p.y + p.x) % 2) + (p.y * p.x) % 3) % 2) === 0; },\n];\nfunction buildFunctionPatternMask(version) {\n var dimension = 17 + 4 * version.versionNumber;\n var matrix = BitMatrix_1.BitMatrix.createEmpty(dimension, dimension);\n matrix.setRegion(0, 0, 9, 9, true); // Top left finder pattern + separator + format\n matrix.setRegion(dimension - 8, 0, 8, 9, true); // Top right finder pattern + separator + format\n matrix.setRegion(0, dimension - 8, 9, 8, true); // Bottom left finder pattern + separator + format\n // Alignment patterns\n for (var _i = 0, _a = version.alignmentPatternCenters; _i < _a.length; _i++) {\n var x = _a[_i];\n for (var _b = 0, _c = version.alignmentPatternCenters; _b < _c.length; _b++) {\n var y = _c[_b];\n if (!(x === 6 && y === 6 || x === 6 && y === dimension - 7 || x === dimension - 7 && y === 6)) {\n matrix.setRegion(x - 2, y - 2, 5, 5, true);\n }\n }\n }\n matrix.setRegion(6, 9, 1, dimension - 17, true); // Vertical timing pattern\n matrix.setRegion(9, 6, dimension - 17, 1, true); // Horizontal timing pattern\n if (version.versionNumber > 6) {\n matrix.setRegion(dimension - 11, 0, 3, 6, true); // Version info, top right\n matrix.setRegion(0, dimension - 11, 6, 3, true); // Version info, bottom left\n }\n return matrix;\n}\nfunction readCodewords(matrix, version, formatInfo) {\n var dataMask = DATA_MASKS[formatInfo.dataMask];\n var dimension = matrix.height;\n var functionPatternMask = buildFunctionPatternMask(version);\n var codewords = [];\n var currentByte = 0;\n var bitsRead = 0;\n // Read columns in pairs, from right to left\n var readingUp = true;\n for (var columnIndex = dimension - 1; columnIndex > 0; columnIndex -= 2) {\n if (columnIndex === 6) { // Skip whole column with vertical alignment pattern;\n columnIndex--;\n }\n for (var i = 0; i < dimension; i++) {\n var y = readingUp ? dimension - 1 - i : i;\n for (var columnOffset = 0; columnOffset < 2; columnOffset++) {\n var x = columnIndex - columnOffset;\n if (!functionPatternMask.get(x, y)) {\n bitsRead++;\n var bit = matrix.get(x, y);\n if (dataMask({ y: y, x: x })) {\n bit = !bit;\n }\n currentByte = pushBit(bit, currentByte);\n if (bitsRead === 8) { // Whole bytes\n codewords.push(currentByte);\n bitsRead = 0;\n currentByte = 0;\n }\n }\n }\n }\n readingUp = !readingUp;\n }\n return codewords;\n}\nfunction readVersion(matrix) {\n var dimension = matrix.height;\n var provisionalVersion = Math.floor((dimension - 17) / 4);\n if (provisionalVersion <= 6) { // 6 and under dont have version info in the QR code\n return version_1.VERSIONS[provisionalVersion - 1];\n }\n var topRightVersionBits = 0;\n for (var y = 5; y >= 0; y--) {\n for (var x = dimension - 9; x >= dimension - 11; x--) {\n topRightVersionBits = pushBit(matrix.get(x, y), topRightVersionBits);\n }\n }\n var bottomLeftVersionBits = 0;\n for (var x = 5; x >= 0; x--) {\n for (var y = dimension - 9; y >= dimension - 11; y--) {\n bottomLeftVersionBits = pushBit(matrix.get(x, y), bottomLeftVersionBits);\n }\n }\n var bestDifference = Infinity;\n var bestVersion;\n for (var _i = 0, VERSIONS_1 = version_1.VERSIONS; _i < VERSIONS_1.length; _i++) {\n var version = VERSIONS_1[_i];\n if (version.infoBits === topRightVersionBits || version.infoBits === bottomLeftVersionBits) {\n return version;\n }\n var difference = numBitsDiffering(topRightVersionBits, version.infoBits);\n if (difference < bestDifference) {\n bestVersion = version;\n bestDifference = difference;\n }\n difference = numBitsDiffering(bottomLeftVersionBits, version.infoBits);\n if (difference < bestDifference) {\n bestVersion = version;\n bestDifference = difference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return bestVersion;\n }\n}\nfunction readFormatInformation(matrix) {\n var topLeftFormatInfoBits = 0;\n for (var x = 0; x <= 8; x++) {\n if (x !== 6) { // Skip timing pattern bit\n topLeftFormatInfoBits = pushBit(matrix.get(x, 8), topLeftFormatInfoBits);\n }\n }\n for (var y = 7; y >= 0; y--) {\n if (y !== 6) { // Skip timing pattern bit\n topLeftFormatInfoBits = pushBit(matrix.get(8, y), topLeftFormatInfoBits);\n }\n }\n var dimension = matrix.height;\n var topRightBottomRightFormatInfoBits = 0;\n for (var y = dimension - 1; y >= dimension - 7; y--) { // bottom left\n topRightBottomRightFormatInfoBits = pushBit(matrix.get(8, y), topRightBottomRightFormatInfoBits);\n }\n for (var x = dimension - 8; x < dimension; x++) { // top right\n topRightBottomRightFormatInfoBits = pushBit(matrix.get(x, 8), topRightBottomRightFormatInfoBits);\n }\n var bestDifference = Infinity;\n var bestFormatInfo = null;\n for (var _i = 0, FORMAT_INFO_TABLE_1 = FORMAT_INFO_TABLE; _i < FORMAT_INFO_TABLE_1.length; _i++) {\n var _a = FORMAT_INFO_TABLE_1[_i], bits = _a.bits, formatInfo = _a.formatInfo;\n if (bits === topLeftFormatInfoBits || bits === topRightBottomRightFormatInfoBits) {\n return formatInfo;\n }\n var difference = numBitsDiffering(topLeftFormatInfoBits, bits);\n if (difference < bestDifference) {\n bestFormatInfo = formatInfo;\n bestDifference = difference;\n }\n if (topLeftFormatInfoBits !== topRightBottomRightFormatInfoBits) { // also try the other option\n difference = numBitsDiffering(topRightBottomRightFormatInfoBits, bits);\n if (difference < bestDifference) {\n bestFormatInfo = formatInfo;\n bestDifference = difference;\n }\n }\n }\n // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits differing means we found a match\n if (bestDifference <= 3) {\n return bestFormatInfo;\n }\n return null;\n}\nfunction getDataBlocks(codewords, version, ecLevel) {\n var ecInfo = version.errorCorrectionLevels[ecLevel];\n var dataBlocks = [];\n var totalCodewords = 0;\n ecInfo.ecBlocks.forEach(function (block) {\n for (var i = 0; i < block.numBlocks; i++) {\n dataBlocks.push({ numDataCodewords: block.dataCodewordsPerBlock, codewords: [] });\n totalCodewords += block.dataCodewordsPerBlock + ecInfo.ecCodewordsPerBlock;\n }\n });\n // In some cases the QR code will be malformed enough that we pull off more or less than we should.\n // If we pull off less there\'s nothing we can do.\n // If we pull off more we can safely truncate\n if (codewords.length < totalCodewords) {\n return null;\n }\n codewords = codewords.slice(0, totalCodewords);\n var shortBlockSize = ecInfo.ecBlocks[0].dataCodewordsPerBlock;\n // Pull codewords to fill the blocks up to the minimum size\n for (var i = 0; i < shortBlockSize; i++) {\n for (var _i = 0, dataBlocks_1 = dataBlocks; _i < dataBlocks_1.length; _i++) {\n var dataBlock = dataBlocks_1[_i];\n dataBlock.codewords.push(codewords.shift());\n }\n }\n // If there are any large blocks, pull codewords to fill the last element of those\n if (ecInfo.ecBlocks.length > 1) {\n var smallBlockCount = ecInfo.ecBlocks[0].numBlocks;\n var largeBlockCount = ecInfo.ecBlocks[1].numBlocks;\n for (var i = 0; i < largeBlockCount; i++) {\n dataBlocks[smallBlockCount + i].codewords.push(codewords.shift());\n }\n }\n // Add the rest of the codewords to the blocks. These are the error correction codewords.\n while (codewords.length > 0) {\n for (var _a = 0, dataBlocks_2 = dataBlocks; _a < dataBlocks_2.length; _a++) {\n var dataBlock = dataBlocks_2[_a];\n dataBlock.codewords.push(codewords.shift());\n }\n }\n return dataBlocks;\n}\nfunction decodeMatrix(matrix) {\n var version = readVersion(matrix);\n if (!version) {\n return null;\n }\n var formatInfo = readFormatInformation(matrix);\n if (!formatInfo) {\n return null;\n }\n var codewords = readCodewords(matrix, version, formatInfo);\n var dataBlocks = getDataBlocks(codewords, version, formatInfo.errorCorrectionLevel);\n if (!dataBlocks) {\n return null;\n }\n // Count total number of data bytes\n var totalBytes = dataBlocks.reduce(function (a, b) { return a + b.numDataCodewords; }, 0);\n var resultBytes = new Uint8ClampedArray(totalBytes);\n var resultIndex = 0;\n for (var _i = 0, dataBlocks_3 = dataBlocks; _i < dataBlocks_3.length; _i++) {\n var dataBlock = dataBlocks_3[_i];\n var correctedBytes = reedsolomon_1.decode(dataBlock.codewords, dataBlock.codewords.length - dataBlock.numDataCodewords);\n if (!correctedBytes) {\n return null;\n }\n for (var i = 0; i < dataBlock.numDataCodewords; i++) {\n resultBytes[resultIndex++] = correctedBytes[i];\n }\n }\n try {\n return decodeData_1.decode(resultBytes, version.versionNumber);\n }\n catch (_a) {\n return null;\n }\n}\nfunction decode(matrix) {\n if (matrix == null) {\n return null;\n }\n var result = decodeMatrix(matrix);\n if (result) {\n return result;\n }\n // Decoding didn\'t work, try mirroring the QR across the topLeft -> bottomRight line.\n for (var x = 0; x < matrix.width; x++) {\n for (var y = x + 1; y < matrix.height; y++) {\n if (matrix.get(x, y) !== matrix.get(y, x)) {\n matrix.set(x, y, !matrix.get(x, y));\n matrix.set(y, x, !matrix.get(y, x));\n }\n }\n }\n return decodeMatrix(matrix);\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __nested_webpack_require_33675__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\n// tslint:disable:no-bitwise\nvar BitStream_1 = __nested_webpack_require_33675__(7);\nvar shiftJISTable_1 = __nested_webpack_require_33675__(8);\nvar Mode;\n(function (Mode) {\n Mode["Numeric"] = "numeric";\n Mode["Alphanumeric"] = "alphanumeric";\n Mode["Byte"] = "byte";\n Mode["Kanji"] = "kanji";\n Mode["ECI"] = "eci";\n})(Mode = exports.Mode || (exports.Mode = {}));\nvar ModeByte;\n(function (ModeByte) {\n ModeByte[ModeByte["Terminator"] = 0] = "Terminator";\n ModeByte[ModeByte["Numeric"] = 1] = "Numeric";\n ModeByte[ModeByte["Alphanumeric"] = 2] = "Alphanumeric";\n ModeByte[ModeByte["Byte"] = 4] = "Byte";\n ModeByte[ModeByte["Kanji"] = 8] = "Kanji";\n ModeByte[ModeByte["ECI"] = 7] = "ECI";\n // StructuredAppend = 0x3,\n // FNC1FirstPosition = 0x5,\n // FNC1SecondPosition = 0x9,\n})(ModeByte || (ModeByte = {}));\nfunction decodeNumeric(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [10, 12, 14][size];\n var length = stream.readBits(characterCountSize);\n // Read digits in groups of 3\n while (length >= 3) {\n var num = stream.readBits(10);\n if (num >= 1000) {\n throw new Error("Invalid numeric value above 999");\n }\n var a = Math.floor(num / 100);\n var b = Math.floor(num / 10) % 10;\n var c = num % 10;\n bytes.push(48 + a, 48 + b, 48 + c);\n text += a.toString() + b.toString() + c.toString();\n length -= 3;\n }\n // If the number of digits aren\'t a multiple of 3, the remaining digits are special cased.\n if (length === 2) {\n var num = stream.readBits(7);\n if (num >= 100) {\n throw new Error("Invalid numeric value above 99");\n }\n var a = Math.floor(num / 10);\n var b = num % 10;\n bytes.push(48 + a, 48 + b);\n text += a.toString() + b.toString();\n }\n else if (length === 1) {\n var num = stream.readBits(4);\n if (num >= 10) {\n throw new Error("Invalid numeric value above 9");\n }\n bytes.push(48 + num);\n text += num.toString();\n }\n return { bytes: bytes, text: text };\n}\nvar AlphanumericCharacterCodes = [\n "0", "1", "2", "3", "4", "5", "6", "7", "8",\n "9", "A", "B", "C", "D", "E", "F", "G", "H",\n "I", "J", "K", "L", "M", "N", "O", "P", "Q",\n "R", "S", "T", "U", "V", "W", "X", "Y", "Z",\n " ", "$", "%", "*", "+", "-", ".", "/", ":",\n];\nfunction decodeAlphanumeric(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [9, 11, 13][size];\n var length = stream.readBits(characterCountSize);\n while (length >= 2) {\n var v = stream.readBits(11);\n var a = Math.floor(v / 45);\n var b = v % 45;\n bytes.push(AlphanumericCharacterCodes[a].charCodeAt(0), AlphanumericCharacterCodes[b].charCodeAt(0));\n text += AlphanumericCharacterCodes[a] + AlphanumericCharacterCodes[b];\n length -= 2;\n }\n if (length === 1) {\n var a = stream.readBits(6);\n bytes.push(AlphanumericCharacterCodes[a].charCodeAt(0));\n text += AlphanumericCharacterCodes[a];\n }\n return { bytes: bytes, text: text };\n}\nfunction decodeByte(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [8, 16, 16][size];\n var length = stream.readBits(characterCountSize);\n for (var i = 0; i < length; i++) {\n var b = stream.readBits(8);\n bytes.push(b);\n }\n try {\n text += decodeURIComponent(bytes.map(function (b) { return "%" + ("0" + b.toString(16)).substr(-2); }).join(""));\n }\n catch (_a) {\n // failed to decode\n }\n return { bytes: bytes, text: text };\n}\nfunction decodeKanji(stream, size) {\n var bytes = [];\n var text = "";\n var characterCountSize = [8, 10, 12][size];\n var length = stream.readBits(characterCountSize);\n for (var i = 0; i < length; i++) {\n var k = stream.readBits(13);\n var c = (Math.floor(k / 0xC0) << 8) | (k % 0xC0);\n if (c < 0x1F00) {\n c += 0x8140;\n }\n else {\n c += 0xC140;\n }\n bytes.push(c >> 8, c & 0xFF);\n text += String.fromCharCode(shiftJISTable_1.shiftJISTable[c]);\n }\n return { bytes: bytes, text: text };\n}\nfunction decode(data, version) {\n var _a, _b, _c, _d;\n var stream = new BitStream_1.BitStream(data);\n // There are 3 \'sizes\' based on the version. 1-9 is small (0), 10-26 is medium (1) and 27-40 is large (2).\n var size = version <= 9 ? 0 : version <= 26 ? 1 : 2;\n var result = {\n text: "",\n bytes: [],\n chunks: [],\n version: version,\n };\n while (stream.available() >= 4) {\n var mode = stream.readBits(4);\n if (mode === ModeByte.Terminator) {\n return result;\n }\n else if (mode === ModeByte.ECI) {\n if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(7),\n });\n }\n else if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(14),\n });\n }\n else if (stream.readBits(1) === 0) {\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: stream.readBits(21),\n });\n }\n else {\n // ECI data seems corrupted\n result.chunks.push({\n type: Mode.ECI,\n assignmentNumber: -1,\n });\n }\n }\n else if (mode === ModeByte.Numeric) {\n var numericResult = decodeNumeric(stream, size);\n result.text += numericResult.text;\n (_a = result.bytes).push.apply(_a, numericResult.bytes);\n result.chunks.push({\n type: Mode.Numeric,\n text: numericResult.text,\n });\n }\n else if (mode === ModeByte.Alphanumeric) {\n var alphanumericResult = decodeAlphanumeric(stream, size);\n result.text += alphanumericResult.text;\n (_b = result.bytes).push.apply(_b, alphanumericResult.bytes);\n result.chunks.push({\n type: Mode.Alphanumeric,\n text: alphanumericResult.text,\n });\n }\n else if (mode === ModeByte.Byte) {\n var byteResult = decodeByte(stream, size);\n result.text += byteResult.text;\n (_c = result.bytes).push.apply(_c, byteResult.bytes);\n result.chunks.push({\n type: Mode.Byte,\n bytes: byteResult.bytes,\n text: byteResult.text,\n });\n }\n else if (mode === ModeByte.Kanji) {\n var kanjiResult = decodeKanji(stream, size);\n result.text += kanjiResult.text;\n (_d = result.bytes).push.apply(_d, kanjiResult.bytes);\n result.chunks.push({\n type: Mode.Kanji,\n bytes: kanjiResult.bytes,\n text: kanjiResult.text,\n });\n }\n }\n // If there is no data left, or the remaining bits are all 0, then that counts as a termination marker\n if (stream.available() === 0 || stream.readBits(stream.available()) === 0) {\n return result;\n }\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n// tslint:disable:no-bitwise\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitStream = /** @class */ (function () {\n function BitStream(bytes) {\n this.byteOffset = 0;\n this.bitOffset = 0;\n this.bytes = bytes;\n }\n BitStream.prototype.readBits = function (numBits) {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new Error("Cannot read " + numBits.toString() + " bits");\n }\n var result = 0;\n // First, read remainder from current byte\n if (this.bitOffset > 0) {\n var bitsLeft = 8 - this.bitOffset;\n var toRead = numBits < bitsLeft ? numBits : bitsLeft;\n var bitsToNotRead = bitsLeft - toRead;\n var mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n result = (this.bytes[this.byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n this.bitOffset += toRead;\n if (this.bitOffset === 8) {\n this.bitOffset = 0;\n this.byteOffset++;\n }\n }\n // Next read whole bytes\n if (numBits > 0) {\n while (numBits >= 8) {\n result = (result << 8) | (this.bytes[this.byteOffset] & 0xFF);\n this.byteOffset++;\n numBits -= 8;\n }\n // Finally read a partial byte\n if (numBits > 0) {\n var bitsToNotRead = 8 - numBits;\n var mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n result = (result << numBits) | ((this.bytes[this.byteOffset] & mask) >> bitsToNotRead);\n this.bitOffset += numBits;\n }\n }\n return result;\n };\n BitStream.prototype.available = function () {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n };\n return BitStream;\n}());\nexports.BitStream = BitStream;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nexports.shiftJISTable = {\n 0x20: 0x0020,\n 0x21: 0x0021,\n 0x22: 0x0022,\n 0x23: 0x0023,\n 0x24: 0x0024,\n 0x25: 0x0025,\n 0x26: 0x0026,\n 0x27: 0x0027,\n 0x28: 0x0028,\n 0x29: 0x0029,\n 0x2A: 0x002A,\n 0x2B: 0x002B,\n 0x2C: 0x002C,\n 0x2D: 0x002D,\n 0x2E: 0x002E,\n 0x2F: 0x002F,\n 0x30: 0x0030,\n 0x31: 0x0031,\n 0x32: 0x0032,\n 0x33: 0x0033,\n 0x34: 0x0034,\n 0x35: 0x0035,\n 0x36: 0x0036,\n 0x37: 0x0037,\n 0x38: 0x0038,\n 0x39: 0x0039,\n 0x3A: 0x003A,\n 0x3B: 0x003B,\n 0x3C: 0x003C,\n 0x3D: 0x003D,\n 0x3E: 0x003E,\n 0x3F: 0x003F,\n 0x40: 0x0040,\n 0x41: 0x0041,\n 0x42: 0x0042,\n 0x43: 0x0043,\n 0x44: 0x0044,\n 0x45: 0x0045,\n 0x46: 0x0046,\n 0x47: 0x0047,\n 0x48: 0x0048,\n 0x49: 0x0049,\n 0x4A: 0x004A,\n 0x4B: 0x004B,\n 0x4C: 0x004C,\n 0x4D: 0x004D,\n 0x4E: 0x004E,\n 0x4F: 0x004F,\n 0x50: 0x0050,\n 0x51: 0x0051,\n 0x52: 0x0052,\n 0x53: 0x0053,\n 0x54: 0x0054,\n 0x55: 0x0055,\n 0x56: 0x0056,\n 0x57: 0x0057,\n 0x58: 0x0058,\n 0x59: 0x0059,\n 0x5A: 0x005A,\n 0x5B: 0x005B,\n 0x5C: 0x00A5,\n 0x5D: 0x005D,\n 0x5E: 0x005E,\n 0x5F: 0x005F,\n 0x60: 0x0060,\n 0x61: 0x0061,\n 0x62: 0x0062,\n 0x63: 0x0063,\n 0x64: 0x0064,\n 0x65: 0x0065,\n 0x66: 0x0066,\n 0x67: 0x0067,\n 0x68: 0x0068,\n 0x69: 0x0069,\n 0x6A: 0x006A,\n 0x6B: 0x006B,\n 0x6C: 0x006C,\n 0x6D: 0x006D,\n 0x6E: 0x006E,\n 0x6F: 0x006F,\n 0x70: 0x0070,\n 0x71: 0x0071,\n 0x72: 0x0072,\n 0x73: 0x0073,\n 0x74: 0x0074,\n 0x75: 0x0075,\n 0x76: 0x0076,\n 0x77: 0x0077,\n 0x78: 0x0078,\n 0x79: 0x0079,\n 0x7A: 0x007A,\n 0x7B: 0x007B,\n 0x7C: 0x007C,\n 0x7D: 0x007D,\n 0x7E: 0x203E,\n 0x8140: 0x3000,\n 0x8141: 0x3001,\n 0x8142: 0x3002,\n 0x8143: 0xFF0C,\n 0x8144: 0xFF0E,\n 0x8145: 0x30FB,\n 0x8146: 0xFF1A,\n 0x8147: 0xFF1B,\n 0x8148: 0xFF1F,\n 0x8149: 0xFF01,\n 0x814A: 0x309B,\n 0x814B: 0x309C,\n 0x814C: 0x00B4,\n 0x814D: 0xFF40,\n 0x814E: 0x00A8,\n 0x814F: 0xFF3E,\n 0x8150: 0xFFE3,\n 0x8151: 0xFF3F,\n 0x8152: 0x30FD,\n 0x8153: 0x30FE,\n 0x8154: 0x309D,\n 0x8155: 0x309E,\n 0x8156: 0x3003,\n 0x8157: 0x4EDD,\n 0x8158: 0x3005,\n 0x8159: 0x3006,\n 0x815A: 0x3007,\n 0x815B: 0x30FC,\n 0x815C: 0x2015,\n 0x815D: 0x2010,\n 0x815E: 0xFF0F,\n 0x815F: 0x005C,\n 0x8160: 0x301C,\n 0x8161: 0x2016,\n 0x8162: 0xFF5C,\n 0x8163: 0x2026,\n 0x8164: 0x2025,\n 0x8165: 0x2018,\n 0x8166: 0x2019,\n 0x8167: 0x201C,\n 0x8168: 0x201D,\n 0x8169: 0xFF08,\n 0x816A: 0xFF09,\n 0x816B: 0x3014,\n 0x816C: 0x3015,\n 0x816D: 0xFF3B,\n 0x816E: 0xFF3D,\n 0x816F: 0xFF5B,\n 0x8170: 0xFF5D,\n 0x8171: 0x3008,\n 0x8172: 0x3009,\n 0x8173: 0x300A,\n 0x8174: 0x300B,\n 0x8175: 0x300C,\n 0x8176: 0x300D,\n 0x8177: 0x300E,\n 0x8178: 0x300F,\n 0x8179: 0x3010,\n 0x817A: 0x3011,\n 0x817B: 0xFF0B,\n 0x817C: 0x2212,\n 0x817D: 0x00B1,\n 0x817E: 0x00D7,\n 0x8180: 0x00F7,\n 0x8181: 0xFF1D,\n 0x8182: 0x2260,\n 0x8183: 0xFF1C,\n 0x8184: 0xFF1E,\n 0x8185: 0x2266,\n 0x8186: 0x2267,\n 0x8187: 0x221E,\n 0x8188: 0x2234,\n 0x8189: 0x2642,\n 0x818A: 0x2640,\n 0x818B: 0x00B0,\n 0x818C: 0x2032,\n 0x818D: 0x2033,\n 0x818E: 0x2103,\n 0x818F: 0xFFE5,\n 0x8190: 0xFF04,\n 0x8191: 0x00A2,\n 0x8192: 0x00A3,\n 0x8193: 0xFF05,\n 0x8194: 0xFF03,\n 0x8195: 0xFF06,\n 0x8196: 0xFF0A,\n 0x8197: 0xFF20,\n 0x8198: 0x00A7,\n 0x8199: 0x2606,\n 0x819A: 0x2605,\n 0x819B: 0x25CB,\n 0x819C: 0x25CF,\n 0x819D: 0x25CE,\n 0x819E: 0x25C7,\n 0x819F: 0x25C6,\n 0x81A0: 0x25A1,\n 0x81A1: 0x25A0,\n 0x81A2: 0x25B3,\n 0x81A3: 0x25B2,\n 0x81A4: 0x25BD,\n 0x81A5: 0x25BC,\n 0x81A6: 0x203B,\n 0x81A7: 0x3012,\n 0x81A8: 0x2192,\n 0x81A9: 0x2190,\n 0x81AA: 0x2191,\n 0x81AB: 0x2193,\n 0x81AC: 0x3013,\n 0x81B8: 0x2208,\n 0x81B9: 0x220B,\n 0x81BA: 0x2286,\n 0x81BB: 0x2287,\n 0x81BC: 0x2282,\n 0x81BD: 0x2283,\n 0x81BE: 0x222A,\n 0x81BF: 0x2229,\n 0x81C8: 0x2227,\n 0x81C9: 0x2228,\n 0x81CA: 0x00AC,\n 0x81CB: 0x21D2,\n 0x81CC: 0x21D4,\n 0x81CD: 0x2200,\n 0x81CE: 0x2203,\n 0x81DA: 0x2220,\n 0x81DB: 0x22A5,\n 0x81DC: 0x2312,\n 0x81DD: 0x2202,\n 0x81DE: 0x2207,\n 0x81DF: 0x2261,\n 0x81E0: 0x2252,\n 0x81E1: 0x226A,\n 0x81E2: 0x226B,\n 0x81E3: 0x221A,\n 0x81E4: 0x223D,\n 0x81E5: 0x221D,\n 0x81E6: 0x2235,\n 0x81E7: 0x222B,\n 0x81E8: 0x222C,\n 0x81F0: 0x212B,\n 0x81F1: 0x2030,\n 0x81F2: 0x266F,\n 0x81F3: 0x266D,\n 0x81F4: 0x266A,\n 0x81F5: 0x2020,\n 0x81F6: 0x2021,\n 0x81F7: 0x00B6,\n 0x81FC: 0x25EF,\n 0x824F: 0xFF10,\n 0x8250: 0xFF11,\n 0x8251: 0xFF12,\n 0x8252: 0xFF13,\n 0x8253: 0xFF14,\n 0x8254: 0xFF15,\n 0x8255: 0xFF16,\n 0x8256: 0xFF17,\n 0x8257: 0xFF18,\n 0x8258: 0xFF19,\n 0x8260: 0xFF21,\n 0x8261: 0xFF22,\n 0x8262: 0xFF23,\n 0x8263: 0xFF24,\n 0x8264: 0xFF25,\n 0x8265: 0xFF26,\n 0x8266: 0xFF27,\n 0x8267: 0xFF28,\n 0x8268: 0xFF29,\n 0x8269: 0xFF2A,\n 0x826A: 0xFF2B,\n 0x826B: 0xFF2C,\n 0x826C: 0xFF2D,\n 0x826D: 0xFF2E,\n 0x826E: 0xFF2F,\n 0x826F: 0xFF30,\n 0x8270: 0xFF31,\n 0x8271: 0xFF32,\n 0x8272: 0xFF33,\n 0x8273: 0xFF34,\n 0x8274: 0xFF35,\n 0x8275: 0xFF36,\n 0x8276: 0xFF37,\n 0x8277: 0xFF38,\n 0x8278: 0xFF39,\n 0x8279: 0xFF3A,\n 0x8281: 0xFF41,\n 0x8282: 0xFF42,\n 0x8283: 0xFF43,\n 0x8284: 0xFF44,\n 0x8285: 0xFF45,\n 0x8286: 0xFF46,\n 0x8287: 0xFF47,\n 0x8288: 0xFF48,\n 0x8289: 0xFF49,\n 0x828A: 0xFF4A,\n 0x828B: 0xFF4B,\n 0x828C: 0xFF4C,\n 0x828D: 0xFF4D,\n 0x828E: 0xFF4E,\n 0x828F: 0xFF4F,\n 0x8290: 0xFF50,\n 0x8291: 0xFF51,\n 0x8292: 0xFF52,\n 0x8293: 0xFF53,\n 0x8294: 0xFF54,\n 0x8295: 0xFF55,\n 0x8296: 0xFF56,\n 0x8297: 0xFF57,\n 0x8298: 0xFF58,\n 0x8299: 0xFF59,\n 0x829A: 0xFF5A,\n 0x829F: 0x3041,\n 0x82A0: 0x3042,\n 0x82A1: 0x3043,\n 0x82A2: 0x3044,\n 0x82A3: 0x3045,\n 0x82A4: 0x3046,\n 0x82A5: 0x3047,\n 0x82A6: 0x3048,\n 0x82A7: 0x3049,\n 0x82A8: 0x304A,\n 0x82A9: 0x304B,\n 0x82AA: 0x304C,\n 0x82AB: 0x304D,\n 0x82AC: 0x304E,\n 0x82AD: 0x304F,\n 0x82AE: 0x3050,\n 0x82AF: 0x3051,\n 0x82B0: 0x3052,\n 0x82B1: 0x3053,\n 0x82B2: 0x3054,\n 0x82B3: 0x3055,\n 0x82B4: 0x3056,\n 0x82B5: 0x3057,\n 0x82B6: 0x3058,\n 0x82B7: 0x3059,\n 0x82B8: 0x305A,\n 0x82B9: 0x305B,\n 0x82BA: 0x305C,\n 0x82BB: 0x305D,\n 0x82BC: 0x305E,\n 0x82BD: 0x305F,\n 0x82BE: 0x3060,\n 0x82BF: 0x3061,\n 0x82C0: 0x3062,\n 0x82C1: 0x3063,\n 0x82C2: 0x3064,\n 0x82C3: 0x3065,\n 0x82C4: 0x3066,\n 0x82C5: 0x3067,\n 0x82C6: 0x3068,\n 0x82C7: 0x3069,\n 0x82C8: 0x306A,\n 0x82C9: 0x306B,\n 0x82CA: 0x306C,\n 0x82CB: 0x306D,\n 0x82CC: 0x306E,\n 0x82CD: 0x306F,\n 0x82CE: 0x3070,\n 0x82CF: 0x3071,\n 0x82D0: 0x3072,\n 0x82D1: 0x3073,\n 0x82D2: 0x3074,\n 0x82D3: 0x3075,\n 0x82D4: 0x3076,\n 0x82D5: 0x3077,\n 0x82D6: 0x3078,\n 0x82D7: 0x3079,\n 0x82D8: 0x307A,\n 0x82D9: 0x307B,\n 0x82DA: 0x307C,\n 0x82DB: 0x307D,\n 0x82DC: 0x307E,\n 0x82DD: 0x307F,\n 0x82DE: 0x3080,\n 0x82DF: 0x3081,\n 0x82E0: 0x3082,\n 0x82E1: 0x3083,\n 0x82E2: 0x3084,\n 0x82E3: 0x3085,\n 0x82E4: 0x3086,\n 0x82E5: 0x3087,\n 0x82E6: 0x3088,\n 0x82E7: 0x3089,\n 0x82E8: 0x308A,\n 0x82E9: 0x308B,\n 0x82EA: 0x308C,\n 0x82EB: 0x308D,\n 0x82EC: 0x308E,\n 0x82ED: 0x308F,\n 0x82EE: 0x3090,\n 0x82EF: 0x3091,\n 0x82F0: 0x3092,\n 0x82F1: 0x3093,\n 0x8340: 0x30A1,\n 0x8341: 0x30A2,\n 0x8342: 0x30A3,\n 0x8343: 0x30A4,\n 0x8344: 0x30A5,\n 0x8345: 0x30A6,\n 0x8346: 0x30A7,\n 0x8347: 0x30A8,\n 0x8348: 0x30A9,\n 0x8349: 0x30AA,\n 0x834A: 0x30AB,\n 0x834B: 0x30AC,\n 0x834C: 0x30AD,\n 0x834D: 0x30AE,\n 0x834E: 0x30AF,\n 0x834F: 0x30B0,\n 0x8350: 0x30B1,\n 0x8351: 0x30B2,\n 0x8352: 0x30B3,\n 0x8353: 0x30B4,\n 0x8354: 0x30B5,\n 0x8355: 0x30B6,\n 0x8356: 0x30B7,\n 0x8357: 0x30B8,\n 0x8358: 0x30B9,\n 0x8359: 0x30BA,\n 0x835A: 0x30BB,\n 0x835B: 0x30BC,\n 0x835C: 0x30BD,\n 0x835D: 0x30BE,\n 0x835E: 0x30BF,\n 0x835F: 0x30C0,\n 0x8360: 0x30C1,\n 0x8361: 0x30C2,\n 0x8362: 0x30C3,\n 0x8363: 0x30C4,\n 0x8364: 0x30C5,\n 0x8365: 0x30C6,\n 0x8366: 0x30C7,\n 0x8367: 0x30C8,\n 0x8368: 0x30C9,\n 0x8369: 0x30CA,\n 0x836A: 0x30CB,\n 0x836B: 0x30CC,\n 0x836C: 0x30CD,\n 0x836D: 0x30CE,\n 0x836E: 0x30CF,\n 0x836F: 0x30D0,\n 0x8370: 0x30D1,\n 0x8371: 0x30D2,\n 0x8372: 0x30D3,\n 0x8373: 0x30D4,\n 0x8374: 0x30D5,\n 0x8375: 0x30D6,\n 0x8376: 0x30D7,\n 0x8377: 0x30D8,\n 0x8378: 0x30D9,\n 0x8379: 0x30DA,\n 0x837A: 0x30DB,\n 0x837B: 0x30DC,\n 0x837C: 0x30DD,\n 0x837D: 0x30DE,\n 0x837E: 0x30DF,\n 0x8380: 0x30E0,\n 0x8381: 0x30E1,\n 0x8382: 0x30E2,\n 0x8383: 0x30E3,\n 0x8384: 0x30E4,\n 0x8385: 0x30E5,\n 0x8386: 0x30E6,\n 0x8387: 0x30E7,\n 0x8388: 0x30E8,\n 0x8389: 0x30E9,\n 0x838A: 0x30EA,\n 0x838B: 0x30EB,\n 0x838C: 0x30EC,\n 0x838D: 0x30ED,\n 0x838E: 0x30EE,\n 0x838F: 0x30EF,\n 0x8390: 0x30F0,\n 0x8391: 0x30F1,\n 0x8392: 0x30F2,\n 0x8393: 0x30F3,\n 0x8394: 0x30F4,\n 0x8395: 0x30F5,\n 0x8396: 0x30F6,\n 0x839F: 0x0391,\n 0x83A0: 0x0392,\n 0x83A1: 0x0393,\n 0x83A2: 0x0394,\n 0x83A3: 0x0395,\n 0x83A4: 0x0396,\n 0x83A5: 0x0397,\n 0x83A6: 0x0398,\n 0x83A7: 0x0399,\n 0x83A8: 0x039A,\n 0x83A9: 0x039B,\n 0x83AA: 0x039C,\n 0x83AB: 0x039D,\n 0x83AC: 0x039E,\n 0x83AD: 0x039F,\n 0x83AE: 0x03A0,\n 0x83AF: 0x03A1,\n 0x83B0: 0x03A3,\n 0x83B1: 0x03A4,\n 0x83B2: 0x03A5,\n 0x83B3: 0x03A6,\n 0x83B4: 0x03A7,\n 0x83B5: 0x03A8,\n 0x83B6: 0x03A9,\n 0x83BF: 0x03B1,\n 0x83C0: 0x03B2,\n 0x83C1: 0x03B3,\n 0x83C2: 0x03B4,\n 0x83C3: 0x03B5,\n 0x83C4: 0x03B6,\n 0x83C5: 0x03B7,\n 0x83C6: 0x03B8,\n 0x83C7: 0x03B9,\n 0x83C8: 0x03BA,\n 0x83C9: 0x03BB,\n 0x83CA: 0x03BC,\n 0x83CB: 0x03BD,\n 0x83CC: 0x03BE,\n 0x83CD: 0x03BF,\n 0x83CE: 0x03C0,\n 0x83CF: 0x03C1,\n 0x83D0: 0x03C3,\n 0x83D1: 0x03C4,\n 0x83D2: 0x03C5,\n 0x83D3: 0x03C6,\n 0x83D4: 0x03C7,\n 0x83D5: 0x03C8,\n 0x83D6: 0x03C9,\n 0x8440: 0x0410,\n 0x8441: 0x0411,\n 0x8442: 0x0412,\n 0x8443: 0x0413,\n 0x8444: 0x0414,\n 0x8445: 0x0415,\n 0x8446: 0x0401,\n 0x8447: 0x0416,\n 0x8448: 0x0417,\n 0x8449: 0x0418,\n 0x844A: 0x0419,\n 0x844B: 0x041A,\n 0x844C: 0x041B,\n 0x844D: 0x041C,\n 0x844E: 0x041D,\n 0x844F: 0x041E,\n 0x8450: 0x041F,\n 0x8451: 0x0420,\n 0x8452: 0x0421,\n 0x8453: 0x0422,\n 0x8454: 0x0423,\n 0x8455: 0x0424,\n 0x8456: 0x0425,\n 0x8457: 0x0426,\n 0x8458: 0x0427,\n 0x8459: 0x0428,\n 0x845A: 0x0429,\n 0x845B: 0x042A,\n 0x845C: 0x042B,\n 0x845D: 0x042C,\n 0x845E: 0x042D,\n 0x845F: 0x042E,\n 0x8460: 0x042F,\n 0x8470: 0x0430,\n 0x8471: 0x0431,\n 0x8472: 0x0432,\n 0x8473: 0x0433,\n 0x8474: 0x0434,\n 0x8475: 0x0435,\n 0x8476: 0x0451,\n 0x8477: 0x0436,\n 0x8478: 0x0437,\n 0x8479: 0x0438,\n 0x847A: 0x0439,\n 0x847B: 0x043A,\n 0x847C: 0x043B,\n 0x847D: 0x043C,\n 0x847E: 0x043D,\n 0x8480: 0x043E,\n 0x8481: 0x043F,\n 0x8482: 0x0440,\n 0x8483: 0x0441,\n 0x8484: 0x0442,\n 0x8485: 0x0443,\n 0x8486: 0x0444,\n 0x8487: 0x0445,\n 0x8488: 0x0446,\n 0x8489: 0x0447,\n 0x848A: 0x0448,\n 0x848B: 0x0449,\n 0x848C: 0x044A,\n 0x848D: 0x044B,\n 0x848E: 0x044C,\n 0x848F: 0x044D,\n 0x8490: 0x044E,\n 0x8491: 0x044F,\n 0x849F: 0x2500,\n 0x84A0: 0x2502,\n 0x84A1: 0x250C,\n 0x84A2: 0x2510,\n 0x84A3: 0x2518,\n 0x84A4: 0x2514,\n 0x84A5: 0x251C,\n 0x84A6: 0x252C,\n 0x84A7: 0x2524,\n 0x84A8: 0x2534,\n 0x84A9: 0x253C,\n 0x84AA: 0x2501,\n 0x84AB: 0x2503,\n 0x84AC: 0x250F,\n 0x84AD: 0x2513,\n 0x84AE: 0x251B,\n 0x84AF: 0x2517,\n 0x84B0: 0x2523,\n 0x84B1: 0x2533,\n 0x84B2: 0x252B,\n 0x84B3: 0x253B,\n 0x84B4: 0x254B,\n 0x84B5: 0x2520,\n 0x84B6: 0x252F,\n 0x84B7: 0x2528,\n 0x84B8: 0x2537,\n 0x84B9: 0x253F,\n 0x84BA: 0x251D,\n 0x84BB: 0x2530,\n 0x84BC: 0x2525,\n 0x84BD: 0x2538,\n 0x84BE: 0x2542,\n 0x889F: 0x4E9C,\n 0x88A0: 0x5516,\n 0x88A1: 0x5A03,\n 0x88A2: 0x963F,\n 0x88A3: 0x54C0,\n 0x88A4: 0x611B,\n 0x88A5: 0x6328,\n 0x88A6: 0x59F6,\n 0x88A7: 0x9022,\n 0x88A8: 0x8475,\n 0x88A9: 0x831C,\n 0x88AA: 0x7A50,\n 0x88AB: 0x60AA,\n 0x88AC: 0x63E1,\n 0x88AD: 0x6E25,\n 0x88AE: 0x65ED,\n 0x88AF: 0x8466,\n 0x88B0: 0x82A6,\n 0x88B1: 0x9BF5,\n 0x88B2: 0x6893,\n 0x88B3: 0x5727,\n 0x88B4: 0x65A1,\n 0x88B5: 0x6271,\n 0x88B6: 0x5B9B,\n 0x88B7: 0x59D0,\n 0x88B8: 0x867B,\n 0x88B9: 0x98F4,\n 0x88BA: 0x7D62,\n 0x88BB: 0x7DBE,\n 0x88BC: 0x9B8E,\n 0x88BD: 0x6216,\n 0x88BE: 0x7C9F,\n 0x88BF: 0x88B7,\n 0x88C0: 0x5B89,\n 0x88C1: 0x5EB5,\n 0x88C2: 0x6309,\n 0x88C3: 0x6697,\n 0x88C4: 0x6848,\n 0x88C5: 0x95C7,\n 0x88C6: 0x978D,\n 0x88C7: 0x674F,\n 0x88C8: 0x4EE5,\n 0x88C9: 0x4F0A,\n 0x88CA: 0x4F4D,\n 0x88CB: 0x4F9D,\n 0x88CC: 0x5049,\n 0x88CD: 0x56F2,\n 0x88CE: 0x5937,\n 0x88CF: 0x59D4,\n 0x88D0: 0x5A01,\n 0x88D1: 0x5C09,\n 0x88D2: 0x60DF,\n 0x88D3: 0x610F,\n 0x88D4: 0x6170,\n 0x88D5: 0x6613,\n 0x88D6: 0x6905,\n 0x88D7: 0x70BA,\n 0x88D8: 0x754F,\n 0x88D9: 0x7570,\n 0x88DA: 0x79FB,\n 0x88DB: 0x7DAD,\n 0x88DC: 0x7DEF,\n 0x88DD: 0x80C3,\n 0x88DE: 0x840E,\n 0x88DF: 0x8863,\n 0x88E0: 0x8B02,\n 0x88E1: 0x9055,\n 0x88E2: 0x907A,\n 0x88E3: 0x533B,\n 0x88E4: 0x4E95,\n 0x88E5: 0x4EA5,\n 0x88E6: 0x57DF,\n 0x88E7: 0x80B2,\n 0x88E8: 0x90C1,\n 0x88E9: 0x78EF,\n 0x88EA: 0x4E00,\n 0x88EB: 0x58F1,\n 0x88EC: 0x6EA2,\n 0x88ED: 0x9038,\n 0x88EE: 0x7A32,\n 0x88EF: 0x8328,\n 0x88F0: 0x828B,\n 0x88F1: 0x9C2F,\n 0x88F2: 0x5141,\n 0x88F3: 0x5370,\n 0x88F4: 0x54BD,\n 0x88F5: 0x54E1,\n 0x88F6: 0x56E0,\n 0x88F7: 0x59FB,\n 0x88F8: 0x5F15,\n 0x88F9: 0x98F2,\n 0x88FA: 0x6DEB,\n 0x88FB: 0x80E4,\n 0x88FC: 0x852D,\n 0x8940: 0x9662,\n 0x8941: 0x9670,\n 0x8942: 0x96A0,\n 0x8943: 0x97FB,\n 0x8944: 0x540B,\n 0x8945: 0x53F3,\n 0x8946: 0x5B87,\n 0x8947: 0x70CF,\n 0x8948: 0x7FBD,\n 0x8949: 0x8FC2,\n 0x894A: 0x96E8,\n 0x894B: 0x536F,\n 0x894C: 0x9D5C,\n 0x894D: 0x7ABA,\n 0x894E: 0x4E11,\n 0x894F: 0x7893,\n 0x8950: 0x81FC,\n 0x8951: 0x6E26,\n 0x8952: 0x5618,\n 0x8953: 0x5504,\n 0x8954: 0x6B1D,\n 0x8955: 0x851A,\n 0x8956: 0x9C3B,\n 0x8957: 0x59E5,\n 0x8958: 0x53A9,\n 0x8959: 0x6D66,\n 0x895A: 0x74DC,\n 0x895B: 0x958F,\n 0x895C: 0x5642,\n 0x895D: 0x4E91,\n 0x895E: 0x904B,\n 0x895F: 0x96F2,\n 0x8960: 0x834F,\n 0x8961: 0x990C,\n 0x8962: 0x53E1,\n 0x8963: 0x55B6,\n 0x8964: 0x5B30,\n 0x8965: 0x5F71,\n 0x8966: 0x6620,\n 0x8967: 0x66F3,\n 0x8968: 0x6804,\n 0x8969: 0x6C38,\n 0x896A: 0x6CF3,\n 0x896B: 0x6D29,\n 0x896C: 0x745B,\n 0x896D: 0x76C8,\n 0x896E: 0x7A4E,\n 0x896F: 0x9834,\n 0x8970: 0x82F1,\n 0x8971: 0x885B,\n 0x8972: 0x8A60,\n 0x8973: 0x92ED,\n 0x8974: 0x6DB2,\n 0x8975: 0x75AB,\n 0x8976: 0x76CA,\n 0x8977: 0x99C5,\n 0x8978: 0x60A6,\n 0x8979: 0x8B01,\n 0x897A: 0x8D8A,\n 0x897B: 0x95B2,\n 0x897C: 0x698E,\n 0x897D: 0x53AD,\n 0x897E: 0x5186,\n 0x8980: 0x5712,\n 0x8981: 0x5830,\n 0x8982: 0x5944,\n 0x8983: 0x5BB4,\n 0x8984: 0x5EF6,\n 0x8985: 0x6028,\n 0x8986: 0x63A9,\n 0x8987: 0x63F4,\n 0x8988: 0x6CBF,\n 0x8989: 0x6F14,\n 0x898A: 0x708E,\n 0x898B: 0x7114,\n 0x898C: 0x7159,\n 0x898D: 0x71D5,\n 0x898E: 0x733F,\n 0x898F: 0x7E01,\n 0x8990: 0x8276,\n 0x8991: 0x82D1,\n 0x8992: 0x8597,\n 0x8993: 0x9060,\n 0x8994: 0x925B,\n 0x8995: 0x9D1B,\n 0x8996: 0x5869,\n 0x8997: 0x65BC,\n 0x8998: 0x6C5A,\n 0x8999: 0x7525,\n 0x899A: 0x51F9,\n 0x899B: 0x592E,\n 0x899C: 0x5965,\n 0x899D: 0x5F80,\n 0x899E: 0x5FDC,\n 0x899F: 0x62BC,\n 0x89A0: 0x65FA,\n 0x89A1: 0x6A2A,\n 0x89A2: 0x6B27,\n 0x89A3: 0x6BB4,\n 0x89A4: 0x738B,\n 0x89A5: 0x7FC1,\n 0x89A6: 0x8956,\n 0x89A7: 0x9D2C,\n 0x89A8: 0x9D0E,\n 0x89A9: 0x9EC4,\n 0x89AA: 0x5CA1,\n 0x89AB: 0x6C96,\n 0x89AC: 0x837B,\n 0x89AD: 0x5104,\n 0x89AE: 0x5C4B,\n 0x89AF: 0x61B6,\n 0x89B0: 0x81C6,\n 0x89B1: 0x6876,\n 0x89B2: 0x7261,\n 0x89B3: 0x4E59,\n 0x89B4: 0x4FFA,\n 0x89B5: 0x5378,\n 0x89B6: 0x6069,\n 0x89B7: 0x6E29,\n 0x89B8: 0x7A4F,\n 0x89B9: 0x97F3,\n 0x89BA: 0x4E0B,\n 0x89BB: 0x5316,\n 0x89BC: 0x4EEE,\n 0x89BD: 0x4F55,\n 0x89BE: 0x4F3D,\n 0x89BF: 0x4FA1,\n 0x89C0: 0x4F73,\n 0x89C1: 0x52A0,\n 0x89C2: 0x53EF,\n 0x89C3: 0x5609,\n 0x89C4: 0x590F,\n 0x89C5: 0x5AC1,\n 0x89C6: 0x5BB6,\n 0x89C7: 0x5BE1,\n 0x89C8: 0x79D1,\n 0x89C9: 0x6687,\n 0x89CA: 0x679C,\n 0x89CB: 0x67B6,\n 0x89CC: 0x6B4C,\n 0x89CD: 0x6CB3,\n 0x89CE: 0x706B,\n 0x89CF: 0x73C2,\n 0x89D0: 0x798D,\n 0x89D1: 0x79BE,\n 0x89D2: 0x7A3C,\n 0x89D3: 0x7B87,\n 0x89D4: 0x82B1,\n 0x89D5: 0x82DB,\n 0x89D6: 0x8304,\n 0x89D7: 0x8377,\n 0x89D8: 0x83EF,\n 0x89D9: 0x83D3,\n 0x89DA: 0x8766,\n 0x89DB: 0x8AB2,\n 0x89DC: 0x5629,\n 0x89DD: 0x8CA8,\n 0x89DE: 0x8FE6,\n 0x89DF: 0x904E,\n 0x89E0: 0x971E,\n 0x89E1: 0x868A,\n 0x89E2: 0x4FC4,\n 0x89E3: 0x5CE8,\n 0x89E4: 0x6211,\n 0x89E5: 0x7259,\n 0x89E6: 0x753B,\n 0x89E7: 0x81E5,\n 0x89E8: 0x82BD,\n 0x89E9: 0x86FE,\n 0x89EA: 0x8CC0,\n 0x89EB: 0x96C5,\n 0x89EC: 0x9913,\n 0x89ED: 0x99D5,\n 0x89EE: 0x4ECB,\n 0x89EF: 0x4F1A,\n 0x89F0: 0x89E3,\n 0x89F1: 0x56DE,\n 0x89F2: 0x584A,\n 0x89F3: 0x58CA,\n 0x89F4: 0x5EFB,\n 0x89F5: 0x5FEB,\n 0x89F6: 0x602A,\n 0x89F7: 0x6094,\n 0x89F8: 0x6062,\n 0x89F9: 0x61D0,\n 0x89FA: 0x6212,\n 0x89FB: 0x62D0,\n 0x89FC: 0x6539,\n 0x8A40: 0x9B41,\n 0x8A41: 0x6666,\n 0x8A42: 0x68B0,\n 0x8A43: 0x6D77,\n 0x8A44: 0x7070,\n 0x8A45: 0x754C,\n 0x8A46: 0x7686,\n 0x8A47: 0x7D75,\n 0x8A48: 0x82A5,\n 0x8A49: 0x87F9,\n 0x8A4A: 0x958B,\n 0x8A4B: 0x968E,\n 0x8A4C: 0x8C9D,\n 0x8A4D: 0x51F1,\n 0x8A4E: 0x52BE,\n 0x8A4F: 0x5916,\n 0x8A50: 0x54B3,\n 0x8A51: 0x5BB3,\n 0x8A52: 0x5D16,\n 0x8A53: 0x6168,\n 0x8A54: 0x6982,\n 0x8A55: 0x6DAF,\n 0x8A56: 0x788D,\n 0x8A57: 0x84CB,\n 0x8A58: 0x8857,\n 0x8A59: 0x8A72,\n 0x8A5A: 0x93A7,\n 0x8A5B: 0x9AB8,\n 0x8A5C: 0x6D6C,\n 0x8A5D: 0x99A8,\n 0x8A5E: 0x86D9,\n 0x8A5F: 0x57A3,\n 0x8A60: 0x67FF,\n 0x8A61: 0x86CE,\n 0x8A62: 0x920E,\n 0x8A63: 0x5283,\n 0x8A64: 0x5687,\n 0x8A65: 0x5404,\n 0x8A66: 0x5ED3,\n 0x8A67: 0x62E1,\n 0x8A68: 0x64B9,\n 0x8A69: 0x683C,\n 0x8A6A: 0x6838,\n 0x8A6B: 0x6BBB,\n 0x8A6C: 0x7372,\n 0x8A6D: 0x78BA,\n 0x8A6E: 0x7A6B,\n 0x8A6F: 0x899A,\n 0x8A70: 0x89D2,\n 0x8A71: 0x8D6B,\n 0x8A72: 0x8F03,\n 0x8A73: 0x90ED,\n 0x8A74: 0x95A3,\n 0x8A75: 0x9694,\n 0x8A76: 0x9769,\n 0x8A77: 0x5B66,\n 0x8A78: 0x5CB3,\n 0x8A79: 0x697D,\n 0x8A7A: 0x984D,\n 0x8A7B: 0x984E,\n 0x8A7C: 0x639B,\n 0x8A7D: 0x7B20,\n 0x8A7E: 0x6A2B,\n 0x8A80: 0x6A7F,\n 0x8A81: 0x68B6,\n 0x8A82: 0x9C0D,\n 0x8A83: 0x6F5F,\n 0x8A84: 0x5272,\n 0x8A85: 0x559D,\n 0x8A86: 0x6070,\n 0x8A87: 0x62EC,\n 0x8A88: 0x6D3B,\n 0x8A89: 0x6E07,\n 0x8A8A: 0x6ED1,\n 0x8A8B: 0x845B,\n 0x8A8C: 0x8910,\n 0x8A8D: 0x8F44,\n 0x8A8E: 0x4E14,\n 0x8A8F: 0x9C39,\n 0x8A90: 0x53F6,\n 0x8A91: 0x691B,\n 0x8A92: 0x6A3A,\n 0x8A93: 0x9784,\n 0x8A94: 0x682A,\n 0x8A95: 0x515C,\n 0x8A96: 0x7AC3,\n 0x8A97: 0x84B2,\n 0x8A98: 0x91DC,\n 0x8A99: 0x938C,\n 0x8A9A: 0x565B,\n 0x8A9B: 0x9D28,\n 0x8A9C: 0x6822,\n 0x8A9D: 0x8305,\n 0x8A9E: 0x8431,\n 0x8A9F: 0x7CA5,\n 0x8AA0: 0x5208,\n 0x8AA1: 0x82C5,\n 0x8AA2: 0x74E6,\n 0x8AA3: 0x4E7E,\n 0x8AA4: 0x4F83,\n 0x8AA5: 0x51A0,\n 0x8AA6: 0x5BD2,\n 0x8AA7: 0x520A,\n 0x8AA8: 0x52D8,\n 0x8AA9: 0x52E7,\n 0x8AAA: 0x5DFB,\n 0x8AAB: 0x559A,\n 0x8AAC: 0x582A,\n 0x8AAD: 0x59E6,\n 0x8AAE: 0x5B8C,\n 0x8AAF: 0x5B98,\n 0x8AB0: 0x5BDB,\n 0x8AB1: 0x5E72,\n 0x8AB2: 0x5E79,\n 0x8AB3: 0x60A3,\n 0x8AB4: 0x611F,\n 0x8AB5: 0x6163,\n 0x8AB6: 0x61BE,\n 0x8AB7: 0x63DB,\n 0x8AB8: 0x6562,\n 0x8AB9: 0x67D1,\n 0x8ABA: 0x6853,\n 0x8ABB: 0x68FA,\n 0x8ABC: 0x6B3E,\n 0x8ABD: 0x6B53,\n 0x8ABE: 0x6C57,\n 0x8ABF: 0x6F22,\n 0x8AC0: 0x6F97,\n 0x8AC1: 0x6F45,\n 0x8AC2: 0x74B0,\n 0x8AC3: 0x7518,\n 0x8AC4: 0x76E3,\n 0x8AC5: 0x770B,\n 0x8AC6: 0x7AFF,\n 0x8AC7: 0x7BA1,\n 0x8AC8: 0x7C21,\n 0x8AC9: 0x7DE9,\n 0x8ACA: 0x7F36,\n 0x8ACB: 0x7FF0,\n 0x8ACC: 0x809D,\n 0x8ACD: 0x8266,\n 0x8ACE: 0x839E,\n 0x8ACF: 0x89B3,\n 0x8AD0: 0x8ACC,\n 0x8AD1: 0x8CAB,\n 0x8AD2: 0x9084,\n 0x8AD3: 0x9451,\n 0x8AD4: 0x9593,\n 0x8AD5: 0x9591,\n 0x8AD6: 0x95A2,\n 0x8AD7: 0x9665,\n 0x8AD8: 0x97D3,\n 0x8AD9: 0x9928,\n 0x8ADA: 0x8218,\n 0x8ADB: 0x4E38,\n 0x8ADC: 0x542B,\n 0x8ADD: 0x5CB8,\n 0x8ADE: 0x5DCC,\n 0x8ADF: 0x73A9,\n 0x8AE0: 0x764C,\n 0x8AE1: 0x773C,\n 0x8AE2: 0x5CA9,\n 0x8AE3: 0x7FEB,\n 0x8AE4: 0x8D0B,\n 0x8AE5: 0x96C1,\n 0x8AE6: 0x9811,\n 0x8AE7: 0x9854,\n 0x8AE8: 0x9858,\n 0x8AE9: 0x4F01,\n 0x8AEA: 0x4F0E,\n 0x8AEB: 0x5371,\n 0x8AEC: 0x559C,\n 0x8AED: 0x5668,\n 0x8AEE: 0x57FA,\n 0x8AEF: 0x5947,\n 0x8AF0: 0x5B09,\n 0x8AF1: 0x5BC4,\n 0x8AF2: 0x5C90,\n 0x8AF3: 0x5E0C,\n 0x8AF4: 0x5E7E,\n 0x8AF5: 0x5FCC,\n 0x8AF6: 0x63EE,\n 0x8AF7: 0x673A,\n 0x8AF8: 0x65D7,\n 0x8AF9: 0x65E2,\n 0x8AFA: 0x671F,\n 0x8AFB: 0x68CB,\n 0x8AFC: 0x68C4,\n 0x8B40: 0x6A5F,\n 0x8B41: 0x5E30,\n 0x8B42: 0x6BC5,\n 0x8B43: 0x6C17,\n 0x8B44: 0x6C7D,\n 0x8B45: 0x757F,\n 0x8B46: 0x7948,\n 0x8B47: 0x5B63,\n 0x8B48: 0x7A00,\n 0x8B49: 0x7D00,\n 0x8B4A: 0x5FBD,\n 0x8B4B: 0x898F,\n 0x8B4C: 0x8A18,\n 0x8B4D: 0x8CB4,\n 0x8B4E: 0x8D77,\n 0x8B4F: 0x8ECC,\n 0x8B50: 0x8F1D,\n 0x8B51: 0x98E2,\n 0x8B52: 0x9A0E,\n 0x8B53: 0x9B3C,\n 0x8B54: 0x4E80,\n 0x8B55: 0x507D,\n 0x8B56: 0x5100,\n 0x8B57: 0x5993,\n 0x8B58: 0x5B9C,\n 0x8B59: 0x622F,\n 0x8B5A: 0x6280,\n 0x8B5B: 0x64EC,\n 0x8B5C: 0x6B3A,\n 0x8B5D: 0x72A0,\n 0x8B5E: 0x7591,\n 0x8B5F: 0x7947,\n 0x8B60: 0x7FA9,\n 0x8B61: 0x87FB,\n 0x8B62: 0x8ABC,\n 0x8B63: 0x8B70,\n 0x8B64: 0x63AC,\n 0x8B65: 0x83CA,\n 0x8B66: 0x97A0,\n 0x8B67: 0x5409,\n 0x8B68: 0x5403,\n 0x8B69: 0x55AB,\n 0x8B6A: 0x6854,\n 0x8B6B: 0x6A58,\n 0x8B6C: 0x8A70,\n 0x8B6D: 0x7827,\n 0x8B6E: 0x6775,\n 0x8B6F: 0x9ECD,\n 0x8B70: 0x5374,\n 0x8B71: 0x5BA2,\n 0x8B72: 0x811A,\n 0x8B73: 0x8650,\n 0x8B74: 0x9006,\n 0x8B75: 0x4E18,\n 0x8B76: 0x4E45,\n 0x8B77: 0x4EC7,\n 0x8B78: 0x4F11,\n 0x8B79: 0x53CA,\n 0x8B7A: 0x5438,\n 0x8B7B: 0x5BAE,\n 0x8B7C: 0x5F13,\n 0x8B7D: 0x6025,\n 0x8B7E: 0x6551,\n 0x8B80: 0x673D,\n 0x8B81: 0x6C42,\n 0x8B82: 0x6C72,\n 0x8B83: 0x6CE3,\n 0x8B84: 0x7078,\n 0x8B85: 0x7403,\n 0x8B86: 0x7A76,\n 0x8B87: 0x7AAE,\n 0x8B88: 0x7B08,\n 0x8B89: 0x7D1A,\n 0x8B8A: 0x7CFE,\n 0x8B8B: 0x7D66,\n 0x8B8C: 0x65E7,\n 0x8B8D: 0x725B,\n 0x8B8E: 0x53BB,\n 0x8B8F: 0x5C45,\n 0x8B90: 0x5DE8,\n 0x8B91: 0x62D2,\n 0x8B92: 0x62E0,\n 0x8B93: 0x6319,\n 0x8B94: 0x6E20,\n 0x8B95: 0x865A,\n 0x8B96: 0x8A31,\n 0x8B97: 0x8DDD,\n 0x8B98: 0x92F8,\n 0x8B99: 0x6F01,\n 0x8B9A: 0x79A6,\n 0x8B9B: 0x9B5A,\n 0x8B9C: 0x4EA8,\n 0x8B9D: 0x4EAB,\n 0x8B9E: 0x4EAC,\n 0x8B9F: 0x4F9B,\n 0x8BA0: 0x4FA0,\n 0x8BA1: 0x50D1,\n 0x8BA2: 0x5147,\n 0x8BA3: 0x7AF6,\n 0x8BA4: 0x5171,\n 0x8BA5: 0x51F6,\n 0x8BA6: 0x5354,\n 0x8BA7: 0x5321,\n 0x8BA8: 0x537F,\n 0x8BA9: 0x53EB,\n 0x8BAA: 0x55AC,\n 0x8BAB: 0x5883,\n 0x8BAC: 0x5CE1,\n 0x8BAD: 0x5F37,\n 0x8BAE: 0x5F4A,\n 0x8BAF: 0x602F,\n 0x8BB0: 0x6050,\n 0x8BB1: 0x606D,\n 0x8BB2: 0x631F,\n 0x8BB3: 0x6559,\n 0x8BB4: 0x6A4B,\n 0x8BB5: 0x6CC1,\n 0x8BB6: 0x72C2,\n 0x8BB7: 0x72ED,\n 0x8BB8: 0x77EF,\n 0x8BB9: 0x80F8,\n 0x8BBA: 0x8105,\n 0x8BBB: 0x8208,\n 0x8BBC: 0x854E,\n 0x8BBD: 0x90F7,\n 0x8BBE: 0x93E1,\n 0x8BBF: 0x97FF,\n 0x8BC0: 0x9957,\n 0x8BC1: 0x9A5A,\n 0x8BC2: 0x4EF0,\n 0x8BC3: 0x51DD,\n 0x8BC4: 0x5C2D,\n 0x8BC5: 0x6681,\n 0x8BC6: 0x696D,\n 0x8BC7: 0x5C40,\n 0x8BC8: 0x66F2,\n 0x8BC9: 0x6975,\n 0x8BCA: 0x7389,\n 0x8BCB: 0x6850,\n 0x8BCC: 0x7C81,\n 0x8BCD: 0x50C5,\n 0x8BCE: 0x52E4,\n 0x8BCF: 0x5747,\n 0x8BD0: 0x5DFE,\n 0x8BD1: 0x9326,\n 0x8BD2: 0x65A4,\n 0x8BD3: 0x6B23,\n 0x8BD4: 0x6B3D,\n 0x8BD5: 0x7434,\n 0x8BD6: 0x7981,\n 0x8BD7: 0x79BD,\n 0x8BD8: 0x7B4B,\n 0x8BD9: 0x7DCA,\n 0x8BDA: 0x82B9,\n 0x8BDB: 0x83CC,\n 0x8BDC: 0x887F,\n 0x8BDD: 0x895F,\n 0x8BDE: 0x8B39,\n 0x8BDF: 0x8FD1,\n 0x8BE0: 0x91D1,\n 0x8BE1: 0x541F,\n 0x8BE2: 0x9280,\n 0x8BE3: 0x4E5D,\n 0x8BE4: 0x5036,\n 0x8BE5: 0x53E5,\n 0x8BE6: 0x533A,\n 0x8BE7: 0x72D7,\n 0x8BE8: 0x7396,\n 0x8BE9: 0x77E9,\n 0x8BEA: 0x82E6,\n 0x8BEB: 0x8EAF,\n 0x8BEC: 0x99C6,\n 0x8BED: 0x99C8,\n 0x8BEE: 0x99D2,\n 0x8BEF: 0x5177,\n 0x8BF0: 0x611A,\n 0x8BF1: 0x865E,\n 0x8BF2: 0x55B0,\n 0x8BF3: 0x7A7A,\n 0x8BF4: 0x5076,\n 0x8BF5: 0x5BD3,\n 0x8BF6: 0x9047,\n 0x8BF7: 0x9685,\n 0x8BF8: 0x4E32,\n 0x8BF9: 0x6ADB,\n 0x8BFA: 0x91E7,\n 0x8BFB: 0x5C51,\n 0x8BFC: 0x5C48,\n 0x8C40: 0x6398,\n 0x8C41: 0x7A9F,\n 0x8C42: 0x6C93,\n 0x8C43: 0x9774,\n 0x8C44: 0x8F61,\n 0x8C45: 0x7AAA,\n 0x8C46: 0x718A,\n 0x8C47: 0x9688,\n 0x8C48: 0x7C82,\n 0x8C49: 0x6817,\n 0x8C4A: 0x7E70,\n 0x8C4B: 0x6851,\n 0x8C4C: 0x936C,\n 0x8C4D: 0x52F2,\n 0x8C4E: 0x541B,\n 0x8C4F: 0x85AB,\n 0x8C50: 0x8A13,\n 0x8C51: 0x7FA4,\n 0x8C52: 0x8ECD,\n 0x8C53: 0x90E1,\n 0x8C54: 0x5366,\n 0x8C55: 0x8888,\n 0x8C56: 0x7941,\n 0x8C57: 0x4FC2,\n 0x8C58: 0x50BE,\n 0x8C59: 0x5211,\n 0x8C5A: 0x5144,\n 0x8C5B: 0x5553,\n 0x8C5C: 0x572D,\n 0x8C5D: 0x73EA,\n 0x8C5E: 0x578B,\n 0x8C5F: 0x5951,\n 0x8C60: 0x5F62,\n 0x8C61: 0x5F84,\n 0x8C62: 0x6075,\n 0x8C63: 0x6176,\n 0x8C64: 0x6167,\n 0x8C65: 0x61A9,\n 0x8C66: 0x63B2,\n 0x8C67: 0x643A,\n 0x8C68: 0x656C,\n 0x8C69: 0x666F,\n 0x8C6A: 0x6842,\n 0x8C6B: 0x6E13,\n 0x8C6C: 0x7566,\n 0x8C6D: 0x7A3D,\n 0x8C6E: 0x7CFB,\n 0x8C6F: 0x7D4C,\n 0x8C70: 0x7D99,\n 0x8C71: 0x7E4B,\n 0x8C72: 0x7F6B,\n 0x8C73: 0x830E,\n 0x8C74: 0x834A,\n 0x8C75: 0x86CD,\n 0x8C76: 0x8A08,\n 0x8C77: 0x8A63,\n 0x8C78: 0x8B66,\n 0x8C79: 0x8EFD,\n 0x8C7A: 0x981A,\n 0x8C7B: 0x9D8F,\n 0x8C7C: 0x82B8,\n 0x8C7D: 0x8FCE,\n 0x8C7E: 0x9BE8,\n 0x8C80: 0x5287,\n 0x8C81: 0x621F,\n 0x8C82: 0x6483,\n 0x8C83: 0x6FC0,\n 0x8C84: 0x9699,\n 0x8C85: 0x6841,\n 0x8C86: 0x5091,\n 0x8C87: 0x6B20,\n 0x8C88: 0x6C7A,\n 0x8C89: 0x6F54,\n 0x8C8A: 0x7A74,\n 0x8C8B: 0x7D50,\n 0x8C8C: 0x8840,\n 0x8C8D: 0x8A23,\n 0x8C8E: 0x6708,\n 0x8C8F: 0x4EF6,\n 0x8C90: 0x5039,\n 0x8C91: 0x5026,\n 0x8C92: 0x5065,\n 0x8C93: 0x517C,\n 0x8C94: 0x5238,\n 0x8C95: 0x5263,\n 0x8C96: 0x55A7,\n 0x8C97: 0x570F,\n 0x8C98: 0x5805,\n 0x8C99: 0x5ACC,\n 0x8C9A: 0x5EFA,\n 0x8C9B: 0x61B2,\n 0x8C9C: 0x61F8,\n 0x8C9D: 0x62F3,\n 0x8C9E: 0x6372,\n 0x8C9F: 0x691C,\n 0x8CA0: 0x6A29,\n 0x8CA1: 0x727D,\n 0x8CA2: 0x72AC,\n 0x8CA3: 0x732E,\n 0x8CA4: 0x7814,\n 0x8CA5: 0x786F,\n 0x8CA6: 0x7D79,\n 0x8CA7: 0x770C,\n 0x8CA8: 0x80A9,\n 0x8CA9: 0x898B,\n 0x8CAA: 0x8B19,\n 0x8CAB: 0x8CE2,\n 0x8CAC: 0x8ED2,\n 0x8CAD: 0x9063,\n 0x8CAE: 0x9375,\n 0x8CAF: 0x967A,\n 0x8CB0: 0x9855,\n 0x8CB1: 0x9A13,\n 0x8CB2: 0x9E78,\n 0x8CB3: 0x5143,\n 0x8CB4: 0x539F,\n 0x8CB5: 0x53B3,\n 0x8CB6: 0x5E7B,\n 0x8CB7: 0x5F26,\n 0x8CB8: 0x6E1B,\n 0x8CB9: 0x6E90,\n 0x8CBA: 0x7384,\n 0x8CBB: 0x73FE,\n 0x8CBC: 0x7D43,\n 0x8CBD: 0x8237,\n 0x8CBE: 0x8A00,\n 0x8CBF: 0x8AFA,\n 0x8CC0: 0x9650,\n 0x8CC1: 0x4E4E,\n 0x8CC2: 0x500B,\n 0x8CC3: 0x53E4,\n 0x8CC4: 0x547C,\n 0x8CC5: 0x56FA,\n 0x8CC6: 0x59D1,\n 0x8CC7: 0x5B64,\n 0x8CC8: 0x5DF1,\n 0x8CC9: 0x5EAB,\n 0x8CCA: 0x5F27,\n 0x8CCB: 0x6238,\n 0x8CCC: 0x6545,\n 0x8CCD: 0x67AF,\n 0x8CCE: 0x6E56,\n 0x8CCF: 0x72D0,\n 0x8CD0: 0x7CCA,\n 0x8CD1: 0x88B4,\n 0x8CD2: 0x80A1,\n 0x8CD3: 0x80E1,\n 0x8CD4: 0x83F0,\n 0x8CD5: 0x864E,\n 0x8CD6: 0x8A87,\n 0x8CD7: 0x8DE8,\n 0x8CD8: 0x9237,\n 0x8CD9: 0x96C7,\n 0x8CDA: 0x9867,\n 0x8CDB: 0x9F13,\n 0x8CDC: 0x4E94,\n 0x8CDD: 0x4E92,\n 0x8CDE: 0x4F0D,\n 0x8CDF: 0x5348,\n 0x8CE0: 0x5449,\n 0x8CE1: 0x543E,\n 0x8CE2: 0x5A2F,\n 0x8CE3: 0x5F8C,\n 0x8CE4: 0x5FA1,\n 0x8CE5: 0x609F,\n 0x8CE6: 0x68A7,\n 0x8CE7: 0x6A8E,\n 0x8CE8: 0x745A,\n 0x8CE9: 0x7881,\n 0x8CEA: 0x8A9E,\n 0x8CEB: 0x8AA4,\n 0x8CEC: 0x8B77,\n 0x8CED: 0x9190,\n 0x8CEE: 0x4E5E,\n 0x8CEF: 0x9BC9,\n 0x8CF0: 0x4EA4,\n 0x8CF1: 0x4F7C,\n 0x8CF2: 0x4FAF,\n 0x8CF3: 0x5019,\n 0x8CF4: 0x5016,\n 0x8CF5: 0x5149,\n 0x8CF6: 0x516C,\n 0x8CF7: 0x529F,\n 0x8CF8: 0x52B9,\n 0x8CF9: 0x52FE,\n 0x8CFA: 0x539A,\n 0x8CFB: 0x53E3,\n 0x8CFC: 0x5411,\n 0x8D40: 0x540E,\n 0x8D41: 0x5589,\n 0x8D42: 0x5751,\n 0x8D43: 0x57A2,\n 0x8D44: 0x597D,\n 0x8D45: 0x5B54,\n 0x8D46: 0x5B5D,\n 0x8D47: 0x5B8F,\n 0x8D48: 0x5DE5,\n 0x8D49: 0x5DE7,\n 0x8D4A: 0x5DF7,\n 0x8D4B: 0x5E78,\n 0x8D4C: 0x5E83,\n 0x8D4D: 0x5E9A,\n 0x8D4E: 0x5EB7,\n 0x8D4F: 0x5F18,\n 0x8D50: 0x6052,\n 0x8D51: 0x614C,\n 0x8D52: 0x6297,\n 0x8D53: 0x62D8,\n 0x8D54: 0x63A7,\n 0x8D55: 0x653B,\n 0x8D56: 0x6602,\n 0x8D57: 0x6643,\n 0x8D58: 0x66F4,\n 0x8D59: 0x676D,\n 0x8D5A: 0x6821,\n 0x8D5B: 0x6897,\n 0x8D5C: 0x69CB,\n 0x8D5D: 0x6C5F,\n 0x8D5E: 0x6D2A,\n 0x8D5F: 0x6D69,\n 0x8D60: 0x6E2F,\n 0x8D61: 0x6E9D,\n 0x8D62: 0x7532,\n 0x8D63: 0x7687,\n 0x8D64: 0x786C,\n 0x8D65: 0x7A3F,\n 0x8D66: 0x7CE0,\n 0x8D67: 0x7D05,\n 0x8D68: 0x7D18,\n 0x8D69: 0x7D5E,\n 0x8D6A: 0x7DB1,\n 0x8D6B: 0x8015,\n 0x8D6C: 0x8003,\n 0x8D6D: 0x80AF,\n 0x8D6E: 0x80B1,\n 0x8D6F: 0x8154,\n 0x8D70: 0x818F,\n 0x8D71: 0x822A,\n 0x8D72: 0x8352,\n 0x8D73: 0x884C,\n 0x8D74: 0x8861,\n 0x8D75: 0x8B1B,\n 0x8D76: 0x8CA2,\n 0x8D77: 0x8CFC,\n 0x8D78: 0x90CA,\n 0x8D79: 0x9175,\n 0x8D7A: 0x9271,\n 0x8D7B: 0x783F,\n 0x8D7C: 0x92FC,\n 0x8D7D: 0x95A4,\n 0x8D7E: 0x964D,\n 0x8D80: 0x9805,\n 0x8D81: 0x9999,\n 0x8D82: 0x9AD8,\n 0x8D83: 0x9D3B,\n 0x8D84: 0x525B,\n 0x8D85: 0x52AB,\n 0x8D86: 0x53F7,\n 0x8D87: 0x5408,\n 0x8D88: 0x58D5,\n 0x8D89: 0x62F7,\n 0x8D8A: 0x6FE0,\n 0x8D8B: 0x8C6A,\n 0x8D8C: 0x8F5F,\n 0x8D8D: 0x9EB9,\n 0x8D8E: 0x514B,\n 0x8D8F: 0x523B,\n 0x8D90: 0x544A,\n 0x8D91: 0x56FD,\n 0x8D92: 0x7A40,\n 0x8D93: 0x9177,\n 0x8D94: 0x9D60,\n 0x8D95: 0x9ED2,\n 0x8D96: 0x7344,\n 0x8D97: 0x6F09,\n 0x8D98: 0x8170,\n 0x8D99: 0x7511,\n 0x8D9A: 0x5FFD,\n 0x8D9B: 0x60DA,\n 0x8D9C: 0x9AA8,\n 0x8D9D: 0x72DB,\n 0x8D9E: 0x8FBC,\n 0x8D9F: 0x6B64,\n 0x8DA0: 0x9803,\n 0x8DA1: 0x4ECA,\n 0x8DA2: 0x56F0,\n 0x8DA3: 0x5764,\n 0x8DA4: 0x58BE,\n 0x8DA5: 0x5A5A,\n 0x8DA6: 0x6068,\n 0x8DA7: 0x61C7,\n 0x8DA8: 0x660F,\n 0x8DA9: 0x6606,\n 0x8DAA: 0x6839,\n 0x8DAB: 0x68B1,\n 0x8DAC: 0x6DF7,\n 0x8DAD: 0x75D5,\n 0x8DAE: 0x7D3A,\n 0x8DAF: 0x826E,\n 0x8DB0: 0x9B42,\n 0x8DB1: 0x4E9B,\n 0x8DB2: 0x4F50,\n 0x8DB3: 0x53C9,\n 0x8DB4: 0x5506,\n 0x8DB5: 0x5D6F,\n 0x8DB6: 0x5DE6,\n 0x8DB7: 0x5DEE,\n 0x8DB8: 0x67FB,\n 0x8DB9: 0x6C99,\n 0x8DBA: 0x7473,\n 0x8DBB: 0x7802,\n 0x8DBC: 0x8A50,\n 0x8DBD: 0x9396,\n 0x8DBE: 0x88DF,\n 0x8DBF: 0x5750,\n 0x8DC0: 0x5EA7,\n 0x8DC1: 0x632B,\n 0x8DC2: 0x50B5,\n 0x8DC3: 0x50AC,\n 0x8DC4: 0x518D,\n 0x8DC5: 0x6700,\n 0x8DC6: 0x54C9,\n 0x8DC7: 0x585E,\n 0x8DC8: 0x59BB,\n 0x8DC9: 0x5BB0,\n 0x8DCA: 0x5F69,\n 0x8DCB: 0x624D,\n 0x8DCC: 0x63A1,\n 0x8DCD: 0x683D,\n 0x8DCE: 0x6B73,\n 0x8DCF: 0x6E08,\n 0x8DD0: 0x707D,\n 0x8DD1: 0x91C7,\n 0x8DD2: 0x7280,\n 0x8DD3: 0x7815,\n 0x8DD4: 0x7826,\n 0x8DD5: 0x796D,\n 0x8DD6: 0x658E,\n 0x8DD7: 0x7D30,\n 0x8DD8: 0x83DC,\n 0x8DD9: 0x88C1,\n 0x8DDA: 0x8F09,\n 0x8DDB: 0x969B,\n 0x8DDC: 0x5264,\n 0x8DDD: 0x5728,\n 0x8DDE: 0x6750,\n 0x8DDF: 0x7F6A,\n 0x8DE0: 0x8CA1,\n 0x8DE1: 0x51B4,\n 0x8DE2: 0x5742,\n 0x8DE3: 0x962A,\n 0x8DE4: 0x583A,\n 0x8DE5: 0x698A,\n 0x8DE6: 0x80B4,\n 0x8DE7: 0x54B2,\n 0x8DE8: 0x5D0E,\n 0x8DE9: 0x57FC,\n 0x8DEA: 0x7895,\n 0x8DEB: 0x9DFA,\n 0x8DEC: 0x4F5C,\n 0x8DED: 0x524A,\n 0x8DEE: 0x548B,\n 0x8DEF: 0x643E,\n 0x8DF0: 0x6628,\n 0x8DF1: 0x6714,\n 0x8DF2: 0x67F5,\n 0x8DF3: 0x7A84,\n 0x8DF4: 0x7B56,\n 0x8DF5: 0x7D22,\n 0x8DF6: 0x932F,\n 0x8DF7: 0x685C,\n 0x8DF8: 0x9BAD,\n 0x8DF9: 0x7B39,\n 0x8DFA: 0x5319,\n 0x8DFB: 0x518A,\n 0x8DFC: 0x5237,\n 0x8E40: 0x5BDF,\n 0x8E41: 0x62F6,\n 0x8E42: 0x64AE,\n 0x8E43: 0x64E6,\n 0x8E44: 0x672D,\n 0x8E45: 0x6BBA,\n 0x8E46: 0x85A9,\n 0x8E47: 0x96D1,\n 0x8E48: 0x7690,\n 0x8E49: 0x9BD6,\n 0x8E4A: 0x634C,\n 0x8E4B: 0x9306,\n 0x8E4C: 0x9BAB,\n 0x8E4D: 0x76BF,\n 0x8E4E: 0x6652,\n 0x8E4F: 0x4E09,\n 0x8E50: 0x5098,\n 0x8E51: 0x53C2,\n 0x8E52: 0x5C71,\n 0x8E53: 0x60E8,\n 0x8E54: 0x6492,\n 0x8E55: 0x6563,\n 0x8E56: 0x685F,\n 0x8E57: 0x71E6,\n 0x8E58: 0x73CA,\n 0x8E59: 0x7523,\n 0x8E5A: 0x7B97,\n 0x8E5B: 0x7E82,\n 0x8E5C: 0x8695,\n 0x8E5D: 0x8B83,\n 0x8E5E: 0x8CDB,\n 0x8E5F: 0x9178,\n 0x8E60: 0x9910,\n 0x8E61: 0x65AC,\n 0x8E62: 0x66AB,\n 0x8E63: 0x6B8B,\n 0x8E64: 0x4ED5,\n 0x8E65: 0x4ED4,\n 0x8E66: 0x4F3A,\n 0x8E67: 0x4F7F,\n 0x8E68: 0x523A,\n 0x8E69: 0x53F8,\n 0x8E6A: 0x53F2,\n 0x8E6B: 0x55E3,\n 0x8E6C: 0x56DB,\n 0x8E6D: 0x58EB,\n 0x8E6E: 0x59CB,\n 0x8E6F: 0x59C9,\n 0x8E70: 0x59FF,\n 0x8E71: 0x5B50,\n 0x8E72: 0x5C4D,\n 0x8E73: 0x5E02,\n 0x8E74: 0x5E2B,\n 0x8E75: 0x5FD7,\n 0x8E76: 0x601D,\n 0x8E77: 0x6307,\n 0x8E78: 0x652F,\n 0x8E79: 0x5B5C,\n 0x8E7A: 0x65AF,\n 0x8E7B: 0x65BD,\n 0x8E7C: 0x65E8,\n 0x8E7D: 0x679D,\n 0x8E7E: 0x6B62,\n 0x8E80: 0x6B7B,\n 0x8E81: 0x6C0F,\n 0x8E82: 0x7345,\n 0x8E83: 0x7949,\n 0x8E84: 0x79C1,\n 0x8E85: 0x7CF8,\n 0x8E86: 0x7D19,\n 0x8E87: 0x7D2B,\n 0x8E88: 0x80A2,\n 0x8E89: 0x8102,\n 0x8E8A: 0x81F3,\n 0x8E8B: 0x8996,\n 0x8E8C: 0x8A5E,\n 0x8E8D: 0x8A69,\n 0x8E8E: 0x8A66,\n 0x8E8F: 0x8A8C,\n 0x8E90: 0x8AEE,\n 0x8E91: 0x8CC7,\n 0x8E92: 0x8CDC,\n 0x8E93: 0x96CC,\n 0x8E94: 0x98FC,\n 0x8E95: 0x6B6F,\n 0x8E96: 0x4E8B,\n 0x8E97: 0x4F3C,\n 0x8E98: 0x4F8D,\n 0x8E99: 0x5150,\n 0x8E9A: 0x5B57,\n 0x8E9B: 0x5BFA,\n 0x8E9C: 0x6148,\n 0x8E9D: 0x6301,\n 0x8E9E: 0x6642,\n 0x8E9F: 0x6B21,\n 0x8EA0: 0x6ECB,\n 0x8EA1: 0x6CBB,\n 0x8EA2: 0x723E,\n 0x8EA3: 0x74BD,\n 0x8EA4: 0x75D4,\n 0x8EA5: 0x78C1,\n 0x8EA6: 0x793A,\n 0x8EA7: 0x800C,\n 0x8EA8: 0x8033,\n 0x8EA9: 0x81EA,\n 0x8EAA: 0x8494,\n 0x8EAB: 0x8F9E,\n 0x8EAC: 0x6C50,\n 0x8EAD: 0x9E7F,\n 0x8EAE: 0x5F0F,\n 0x8EAF: 0x8B58,\n 0x8EB0: 0x9D2B,\n 0x8EB1: 0x7AFA,\n 0x8EB2: 0x8EF8,\n 0x8EB3: 0x5B8D,\n 0x8EB4: 0x96EB,\n 0x8EB5: 0x4E03,\n 0x8EB6: 0x53F1,\n 0x8EB7: 0x57F7,\n 0x8EB8: 0x5931,\n 0x8EB9: 0x5AC9,\n 0x8EBA: 0x5BA4,\n 0x8EBB: 0x6089,\n 0x8EBC: 0x6E7F,\n 0x8EBD: 0x6F06,\n 0x8EBE: 0x75BE,\n 0x8EBF: 0x8CEA,\n 0x8EC0: 0x5B9F,\n 0x8EC1: 0x8500,\n 0x8EC2: 0x7BE0,\n 0x8EC3: 0x5072,\n 0x8EC4: 0x67F4,\n 0x8EC5: 0x829D,\n 0x8EC6: 0x5C61,\n 0x8EC7: 0x854A,\n 0x8EC8: 0x7E1E,\n 0x8EC9: 0x820E,\n 0x8ECA: 0x5199,\n 0x8ECB: 0x5C04,\n 0x8ECC: 0x6368,\n 0x8ECD: 0x8D66,\n 0x8ECE: 0x659C,\n 0x8ECF: 0x716E,\n 0x8ED0: 0x793E,\n 0x8ED1: 0x7D17,\n 0x8ED2: 0x8005,\n 0x8ED3: 0x8B1D,\n 0x8ED4: 0x8ECA,\n 0x8ED5: 0x906E,\n 0x8ED6: 0x86C7,\n 0x8ED7: 0x90AA,\n 0x8ED8: 0x501F,\n 0x8ED9: 0x52FA,\n 0x8EDA: 0x5C3A,\n 0x8EDB: 0x6753,\n 0x8EDC: 0x707C,\n 0x8EDD: 0x7235,\n 0x8EDE: 0x914C,\n 0x8EDF: 0x91C8,\n 0x8EE0: 0x932B,\n 0x8EE1: 0x82E5,\n 0x8EE2: 0x5BC2,\n 0x8EE3: 0x5F31,\n 0x8EE4: 0x60F9,\n 0x8EE5: 0x4E3B,\n 0x8EE6: 0x53D6,\n 0x8EE7: 0x5B88,\n 0x8EE8: 0x624B,\n 0x8EE9: 0x6731,\n 0x8EEA: 0x6B8A,\n 0x8EEB: 0x72E9,\n 0x8EEC: 0x73E0,\n 0x8EED: 0x7A2E,\n 0x8EEE: 0x816B,\n 0x8EEF: 0x8DA3,\n 0x8EF0: 0x9152,\n 0x8EF1: 0x9996,\n 0x8EF2: 0x5112,\n 0x8EF3: 0x53D7,\n 0x8EF4: 0x546A,\n 0x8EF5: 0x5BFF,\n 0x8EF6: 0x6388,\n 0x8EF7: 0x6A39,\n 0x8EF8: 0x7DAC,\n 0x8EF9: 0x9700,\n 0x8EFA: 0x56DA,\n 0x8EFB: 0x53CE,\n 0x8EFC: 0x5468,\n 0x8F40: 0x5B97,\n 0x8F41: 0x5C31,\n 0x8F42: 0x5DDE,\n 0x8F43: 0x4FEE,\n 0x8F44: 0x6101,\n 0x8F45: 0x62FE,\n 0x8F46: 0x6D32,\n 0x8F47: 0x79C0,\n 0x8F48: 0x79CB,\n 0x8F49: 0x7D42,\n 0x8F4A: 0x7E4D,\n 0x8F4B: 0x7FD2,\n 0x8F4C: 0x81ED,\n 0x8F4D: 0x821F,\n 0x8F4E: 0x8490,\n 0x8F4F: 0x8846,\n 0x8F50: 0x8972,\n 0x8F51: 0x8B90,\n 0x8F52: 0x8E74,\n 0x8F53: 0x8F2F,\n 0x8F54: 0x9031,\n 0x8F55: 0x914B,\n 0x8F56: 0x916C,\n 0x8F57: 0x96C6,\n 0x8F58: 0x919C,\n 0x8F59: 0x4EC0,\n 0x8F5A: 0x4F4F,\n 0x8F5B: 0x5145,\n 0x8F5C: 0x5341,\n 0x8F5D: 0x5F93,\n 0x8F5E: 0x620E,\n 0x8F5F: 0x67D4,\n 0x8F60: 0x6C41,\n 0x8F61: 0x6E0B,\n 0x8F62: 0x7363,\n 0x8F63: 0x7E26,\n 0x8F64: 0x91CD,\n 0x8F65: 0x9283,\n 0x8F66: 0x53D4,\n 0x8F67: 0x5919,\n 0x8F68: 0x5BBF,\n 0x8F69: 0x6DD1,\n 0x8F6A: 0x795D,\n 0x8F6B: 0x7E2E,\n 0x8F6C: 0x7C9B,\n 0x8F6D: 0x587E,\n 0x8F6E: 0x719F,\n 0x8F6F: 0x51FA,\n 0x8F70: 0x8853,\n 0x8F71: 0x8FF0,\n 0x8F72: 0x4FCA,\n 0x8F73: 0x5CFB,\n 0x8F74: 0x6625,\n 0x8F75: 0x77AC,\n 0x8F76: 0x7AE3,\n 0x8F77: 0x821C,\n 0x8F78: 0x99FF,\n 0x8F79: 0x51C6,\n 0x8F7A: 0x5FAA,\n 0x8F7B: 0x65EC,\n 0x8F7C: 0x696F,\n 0x8F7D: 0x6B89,\n 0x8F7E: 0x6DF3,\n 0x8F80: 0x6E96,\n 0x8F81: 0x6F64,\n 0x8F82: 0x76FE,\n 0x8F83: 0x7D14,\n 0x8F84: 0x5DE1,\n 0x8F85: 0x9075,\n 0x8F86: 0x9187,\n 0x8F87: 0x9806,\n 0x8F88: 0x51E6,\n 0x8F89: 0x521D,\n 0x8F8A: 0x6240,\n 0x8F8B: 0x6691,\n 0x8F8C: 0x66D9,\n 0x8F8D: 0x6E1A,\n 0x8F8E: 0x5EB6,\n 0x8F8F: 0x7DD2,\n 0x8F90: 0x7F72,\n 0x8F91: 0x66F8,\n 0x8F92: 0x85AF,\n 0x8F93: 0x85F7,\n 0x8F94: 0x8AF8,\n 0x8F95: 0x52A9,\n 0x8F96: 0x53D9,\n 0x8F97: 0x5973,\n 0x8F98: 0x5E8F,\n 0x8F99: 0x5F90,\n 0x8F9A: 0x6055,\n 0x8F9B: 0x92E4,\n 0x8F9C: 0x9664,\n 0x8F9D: 0x50B7,\n 0x8F9E: 0x511F,\n 0x8F9F: 0x52DD,\n 0x8FA0: 0x5320,\n 0x8FA1: 0x5347,\n 0x8FA2: 0x53EC,\n 0x8FA3: 0x54E8,\n 0x8FA4: 0x5546,\n 0x8FA5: 0x5531,\n 0x8FA6: 0x5617,\n 0x8FA7: 0x5968,\n 0x8FA8: 0x59BE,\n 0x8FA9: 0x5A3C,\n 0x8FAA: 0x5BB5,\n 0x8FAB: 0x5C06,\n 0x8FAC: 0x5C0F,\n 0x8FAD: 0x5C11,\n 0x8FAE: 0x5C1A,\n 0x8FAF: 0x5E84,\n 0x8FB0: 0x5E8A,\n 0x8FB1: 0x5EE0,\n 0x8FB2: 0x5F70,\n 0x8FB3: 0x627F,\n 0x8FB4: 0x6284,\n 0x8FB5: 0x62DB,\n 0x8FB6: 0x638C,\n 0x8FB7: 0x6377,\n 0x8FB8: 0x6607,\n 0x8FB9: 0x660C,\n 0x8FBA: 0x662D,\n 0x8FBB: 0x6676,\n 0x8FBC: 0x677E,\n 0x8FBD: 0x68A2,\n 0x8FBE: 0x6A1F,\n 0x8FBF: 0x6A35,\n 0x8FC0: 0x6CBC,\n 0x8FC1: 0x6D88,\n 0x8FC2: 0x6E09,\n 0x8FC3: 0x6E58,\n 0x8FC4: 0x713C,\n 0x8FC5: 0x7126,\n 0x8FC6: 0x7167,\n 0x8FC7: 0x75C7,\n 0x8FC8: 0x7701,\n 0x8FC9: 0x785D,\n 0x8FCA: 0x7901,\n 0x8FCB: 0x7965,\n 0x8FCC: 0x79F0,\n 0x8FCD: 0x7AE0,\n 0x8FCE: 0x7B11,\n 0x8FCF: 0x7CA7,\n 0x8FD0: 0x7D39,\n 0x8FD1: 0x8096,\n 0x8FD2: 0x83D6,\n 0x8FD3: 0x848B,\n 0x8FD4: 0x8549,\n 0x8FD5: 0x885D,\n 0x8FD6: 0x88F3,\n 0x8FD7: 0x8A1F,\n 0x8FD8: 0x8A3C,\n 0x8FD9: 0x8A54,\n 0x8FDA: 0x8A73,\n 0x8FDB: 0x8C61,\n 0x8FDC: 0x8CDE,\n 0x8FDD: 0x91A4,\n 0x8FDE: 0x9266,\n 0x8FDF: 0x937E,\n 0x8FE0: 0x9418,\n 0x8FE1: 0x969C,\n 0x8FE2: 0x9798,\n 0x8FE3: 0x4E0A,\n 0x8FE4: 0x4E08,\n 0x8FE5: 0x4E1E,\n 0x8FE6: 0x4E57,\n 0x8FE7: 0x5197,\n 0x8FE8: 0x5270,\n 0x8FE9: 0x57CE,\n 0x8FEA: 0x5834,\n 0x8FEB: 0x58CC,\n 0x8FEC: 0x5B22,\n 0x8FED: 0x5E38,\n 0x8FEE: 0x60C5,\n 0x8FEF: 0x64FE,\n 0x8FF0: 0x6761,\n 0x8FF1: 0x6756,\n 0x8FF2: 0x6D44,\n 0x8FF3: 0x72B6,\n 0x8FF4: 0x7573,\n 0x8FF5: 0x7A63,\n 0x8FF6: 0x84B8,\n 0x8FF7: 0x8B72,\n 0x8FF8: 0x91B8,\n 0x8FF9: 0x9320,\n 0x8FFA: 0x5631,\n 0x8FFB: 0x57F4,\n 0x8FFC: 0x98FE,\n 0x9040: 0x62ED,\n 0x9041: 0x690D,\n 0x9042: 0x6B96,\n 0x9043: 0x71ED,\n 0x9044: 0x7E54,\n 0x9045: 0x8077,\n 0x9046: 0x8272,\n 0x9047: 0x89E6,\n 0x9048: 0x98DF,\n 0x9049: 0x8755,\n 0x904A: 0x8FB1,\n 0x904B: 0x5C3B,\n 0x904C: 0x4F38,\n 0x904D: 0x4FE1,\n 0x904E: 0x4FB5,\n 0x904F: 0x5507,\n 0x9050: 0x5A20,\n 0x9051: 0x5BDD,\n 0x9052: 0x5BE9,\n 0x9053: 0x5FC3,\n 0x9054: 0x614E,\n 0x9055: 0x632F,\n 0x9056: 0x65B0,\n 0x9057: 0x664B,\n 0x9058: 0x68EE,\n 0x9059: 0x699B,\n 0x905A: 0x6D78,\n 0x905B: 0x6DF1,\n 0x905C: 0x7533,\n 0x905D: 0x75B9,\n 0x905E: 0x771F,\n 0x905F: 0x795E,\n 0x9060: 0x79E6,\n 0x9061: 0x7D33,\n 0x9062: 0x81E3,\n 0x9063: 0x82AF,\n 0x9064: 0x85AA,\n 0x9065: 0x89AA,\n 0x9066: 0x8A3A,\n 0x9067: 0x8EAB,\n 0x9068: 0x8F9B,\n 0x9069: 0x9032,\n 0x906A: 0x91DD,\n 0x906B: 0x9707,\n 0x906C: 0x4EBA,\n 0x906D: 0x4EC1,\n 0x906E: 0x5203,\n 0x906F: 0x5875,\n 0x9070: 0x58EC,\n 0x9071: 0x5C0B,\n 0x9072: 0x751A,\n 0x9073: 0x5C3D,\n 0x9074: 0x814E,\n 0x9075: 0x8A0A,\n 0x9076: 0x8FC5,\n 0x9077: 0x9663,\n 0x9078: 0x976D,\n 0x9079: 0x7B25,\n 0x907A: 0x8ACF,\n 0x907B: 0x9808,\n 0x907C: 0x9162,\n 0x907D: 0x56F3,\n 0x907E: 0x53A8,\n 0x9080: 0x9017,\n 0x9081: 0x5439,\n 0x9082: 0x5782,\n 0x9083: 0x5E25,\n 0x9084: 0x63A8,\n 0x9085: 0x6C34,\n 0x9086: 0x708A,\n 0x9087: 0x7761,\n 0x9088: 0x7C8B,\n 0x9089: 0x7FE0,\n 0x908A: 0x8870,\n 0x908B: 0x9042,\n 0x908C: 0x9154,\n 0x908D: 0x9310,\n 0x908E: 0x9318,\n 0x908F: 0x968F,\n 0x9090: 0x745E,\n 0x9091: 0x9AC4,\n 0x9092: 0x5D07,\n 0x9093: 0x5D69,\n 0x9094: 0x6570,\n 0x9095: 0x67A2,\n 0x9096: 0x8DA8,\n 0x9097: 0x96DB,\n 0x9098: 0x636E,\n 0x9099: 0x6749,\n 0x909A: 0x6919,\n 0x909B: 0x83C5,\n 0x909C: 0x9817,\n 0x909D: 0x96C0,\n 0x909E: 0x88FE,\n 0x909F: 0x6F84,\n 0x90A0: 0x647A,\n 0x90A1: 0x5BF8,\n 0x90A2: 0x4E16,\n 0x90A3: 0x702C,\n 0x90A4: 0x755D,\n 0x90A5: 0x662F,\n 0x90A6: 0x51C4,\n 0x90A7: 0x5236,\n 0x90A8: 0x52E2,\n 0x90A9: 0x59D3,\n 0x90AA: 0x5F81,\n 0x90AB: 0x6027,\n 0x90AC: 0x6210,\n 0x90AD: 0x653F,\n 0x90AE: 0x6574,\n 0x90AF: 0x661F,\n 0x90B0: 0x6674,\n 0x90B1: 0x68F2,\n 0x90B2: 0x6816,\n 0x90B3: 0x6B63,\n 0x90B4: 0x6E05,\n 0x90B5: 0x7272,\n 0x90B6: 0x751F,\n 0x90B7: 0x76DB,\n 0x90B8: 0x7CBE,\n 0x90B9: 0x8056,\n 0x90BA: 0x58F0,\n 0x90BB: 0x88FD,\n 0x90BC: 0x897F,\n 0x90BD: 0x8AA0,\n 0x90BE: 0x8A93,\n 0x90BF: 0x8ACB,\n 0x90C0: 0x901D,\n 0x90C1: 0x9192,\n 0x90C2: 0x9752,\n 0x90C3: 0x9759,\n 0x90C4: 0x6589,\n 0x90C5: 0x7A0E,\n 0x90C6: 0x8106,\n 0x90C7: 0x96BB,\n 0x90C8: 0x5E2D,\n 0x90C9: 0x60DC,\n 0x90CA: 0x621A,\n 0x90CB: 0x65A5,\n 0x90CC: 0x6614,\n 0x90CD: 0x6790,\n 0x90CE: 0x77F3,\n 0x90CF: 0x7A4D,\n 0x90D0: 0x7C4D,\n 0x90D1: 0x7E3E,\n 0x90D2: 0x810A,\n 0x90D3: 0x8CAC,\n 0x90D4: 0x8D64,\n 0x90D5: 0x8DE1,\n 0x90D6: 0x8E5F,\n 0x90D7: 0x78A9,\n 0x90D8: 0x5207,\n 0x90D9: 0x62D9,\n 0x90DA: 0x63A5,\n 0x90DB: 0x6442,\n 0x90DC: 0x6298,\n 0x90DD: 0x8A2D,\n 0x90DE: 0x7A83,\n 0x90DF: 0x7BC0,\n 0x90E0: 0x8AAC,\n 0x90E1: 0x96EA,\n 0x90E2: 0x7D76,\n 0x90E3: 0x820C,\n 0x90E4: 0x8749,\n 0x90E5: 0x4ED9,\n 0x90E6: 0x5148,\n 0x90E7: 0x5343,\n 0x90E8: 0x5360,\n 0x90E9: 0x5BA3,\n 0x90EA: 0x5C02,\n 0x90EB: 0x5C16,\n 0x90EC: 0x5DDD,\n 0x90ED: 0x6226,\n 0x90EE: 0x6247,\n 0x90EF: 0x64B0,\n 0x90F0: 0x6813,\n 0x90F1: 0x6834,\n 0x90F2: 0x6CC9,\n 0x90F3: 0x6D45,\n 0x90F4: 0x6D17,\n 0x90F5: 0x67D3,\n 0x90F6: 0x6F5C,\n 0x90F7: 0x714E,\n 0x90F8: 0x717D,\n 0x90F9: 0x65CB,\n 0x90FA: 0x7A7F,\n 0x90FB: 0x7BAD,\n 0x90FC: 0x7DDA,\n 0x9140: 0x7E4A,\n 0x9141: 0x7FA8,\n 0x9142: 0x817A,\n 0x9143: 0x821B,\n 0x9144: 0x8239,\n 0x9145: 0x85A6,\n 0x9146: 0x8A6E,\n 0x9147: 0x8CCE,\n 0x9148: 0x8DF5,\n 0x9149: 0x9078,\n 0x914A: 0x9077,\n 0x914B: 0x92AD,\n 0x914C: 0x9291,\n 0x914D: 0x9583,\n 0x914E: 0x9BAE,\n 0x914F: 0x524D,\n 0x9150: 0x5584,\n 0x9151: 0x6F38,\n 0x9152: 0x7136,\n 0x9153: 0x5168,\n 0x9154: 0x7985,\n 0x9155: 0x7E55,\n 0x9156: 0x81B3,\n 0x9157: 0x7CCE,\n 0x9158: 0x564C,\n 0x9159: 0x5851,\n 0x915A: 0x5CA8,\n 0x915B: 0x63AA,\n 0x915C: 0x66FE,\n 0x915D: 0x66FD,\n 0x915E: 0x695A,\n 0x915F: 0x72D9,\n 0x9160: 0x758F,\n 0x9161: 0x758E,\n 0x9162: 0x790E,\n 0x9163: 0x7956,\n 0x9164: 0x79DF,\n 0x9165: 0x7C97,\n 0x9166: 0x7D20,\n 0x9167: 0x7D44,\n 0x9168: 0x8607,\n 0x9169: 0x8A34,\n 0x916A: 0x963B,\n 0x916B: 0x9061,\n 0x916C: 0x9F20,\n 0x916D: 0x50E7,\n 0x916E: 0x5275,\n 0x916F: 0x53CC,\n 0x9170: 0x53E2,\n 0x9171: 0x5009,\n 0x9172: 0x55AA,\n 0x9173: 0x58EE,\n 0x9174: 0x594F,\n 0x9175: 0x723D,\n 0x9176: 0x5B8B,\n 0x9177: 0x5C64,\n 0x9178: 0x531D,\n 0x9179: 0x60E3,\n 0x917A: 0x60F3,\n 0x917B: 0x635C,\n 0x917C: 0x6383,\n 0x917D: 0x633F,\n 0x917E: 0x63BB,\n 0x9180: 0x64CD,\n 0x9181: 0x65E9,\n 0x9182: 0x66F9,\n 0x9183: 0x5DE3,\n 0x9184: 0x69CD,\n 0x9185: 0x69FD,\n 0x9186: 0x6F15,\n 0x9187: 0x71E5,\n 0x9188: 0x4E89,\n 0x9189: 0x75E9,\n 0x918A: 0x76F8,\n 0x918B: 0x7A93,\n 0x918C: 0x7CDF,\n 0x918D: 0x7DCF,\n 0x918E: 0x7D9C,\n 0x918F: 0x8061,\n 0x9190: 0x8349,\n 0x9191: 0x8358,\n 0x9192: 0x846C,\n 0x9193: 0x84BC,\n 0x9194: 0x85FB,\n 0x9195: 0x88C5,\n 0x9196: 0x8D70,\n 0x9197: 0x9001,\n 0x9198: 0x906D,\n 0x9199: 0x9397,\n 0x919A: 0x971C,\n 0x919B: 0x9A12,\n 0x919C: 0x50CF,\n 0x919D: 0x5897,\n 0x919E: 0x618E,\n 0x919F: 0x81D3,\n 0x91A0: 0x8535,\n 0x91A1: 0x8D08,\n 0x91A2: 0x9020,\n 0x91A3: 0x4FC3,\n 0x91A4: 0x5074,\n 0x91A5: 0x5247,\n 0x91A6: 0x5373,\n 0x91A7: 0x606F,\n 0x91A8: 0x6349,\n 0x91A9: 0x675F,\n 0x91AA: 0x6E2C,\n 0x91AB: 0x8DB3,\n 0x91AC: 0x901F,\n 0x91AD: 0x4FD7,\n 0x91AE: 0x5C5E,\n 0x91AF: 0x8CCA,\n 0x91B0: 0x65CF,\n 0x91B1: 0x7D9A,\n 0x91B2: 0x5352,\n 0x91B3: 0x8896,\n 0x91B4: 0x5176,\n 0x91B5: 0x63C3,\n 0x91B6: 0x5B58,\n 0x91B7: 0x5B6B,\n 0x91B8: 0x5C0A,\n 0x91B9: 0x640D,\n 0x91BA: 0x6751,\n 0x91BB: 0x905C,\n 0x91BC: 0x4ED6,\n 0x91BD: 0x591A,\n 0x91BE: 0x592A,\n 0x91BF: 0x6C70,\n 0x91C0: 0x8A51,\n 0x91C1: 0x553E,\n 0x91C2: 0x5815,\n 0x91C3: 0x59A5,\n 0x91C4: 0x60F0,\n 0x91C5: 0x6253,\n 0x91C6: 0x67C1,\n 0x91C7: 0x8235,\n 0x91C8: 0x6955,\n 0x91C9: 0x9640,\n 0x91CA: 0x99C4,\n 0x91CB: 0x9A28,\n 0x91CC: 0x4F53,\n 0x91CD: 0x5806,\n 0x91CE: 0x5BFE,\n 0x91CF: 0x8010,\n 0x91D0: 0x5CB1,\n 0x91D1: 0x5E2F,\n 0x91D2: 0x5F85,\n 0x91D3: 0x6020,\n 0x91D4: 0x614B,\n 0x91D5: 0x6234,\n 0x91D6: 0x66FF,\n 0x91D7: 0x6CF0,\n 0x91D8: 0x6EDE,\n 0x91D9: 0x80CE,\n 0x91DA: 0x817F,\n 0x91DB: 0x82D4,\n 0x91DC: 0x888B,\n 0x91DD: 0x8CB8,\n 0x91DE: 0x9000,\n 0x91DF: 0x902E,\n 0x91E0: 0x968A,\n 0x91E1: 0x9EDB,\n 0x91E2: 0x9BDB,\n 0x91E3: 0x4EE3,\n 0x91E4: 0x53F0,\n 0x91E5: 0x5927,\n 0x91E6: 0x7B2C,\n 0x91E7: 0x918D,\n 0x91E8: 0x984C,\n 0x91E9: 0x9DF9,\n 0x91EA: 0x6EDD,\n 0x91EB: 0x7027,\n 0x91EC: 0x5353,\n 0x91ED: 0x5544,\n 0x91EE: 0x5B85,\n 0x91EF: 0x6258,\n 0x91F0: 0x629E,\n 0x91F1: 0x62D3,\n 0x91F2: 0x6CA2,\n 0x91F3: 0x6FEF,\n 0x91F4: 0x7422,\n 0x91F5: 0x8A17,\n 0x91F6: 0x9438,\n 0x91F7: 0x6FC1,\n 0x91F8: 0x8AFE,\n 0x91F9: 0x8338,\n 0x91FA: 0x51E7,\n 0x91FB: 0x86F8,\n 0x91FC: 0x53EA,\n 0x9240: 0x53E9,\n 0x9241: 0x4F46,\n 0x9242: 0x9054,\n 0x9243: 0x8FB0,\n 0x9244: 0x596A,\n 0x9245: 0x8131,\n 0x9246: 0x5DFD,\n 0x9247: 0x7AEA,\n 0x9248: 0x8FBF,\n 0x9249: 0x68DA,\n 0x924A: 0x8C37,\n 0x924B: 0x72F8,\n 0x924C: 0x9C48,\n 0x924D: 0x6A3D,\n 0x924E: 0x8AB0,\n 0x924F: 0x4E39,\n 0x9250: 0x5358,\n 0x9251: 0x5606,\n 0x9252: 0x5766,\n 0x9253: 0x62C5,\n 0x9254: 0x63A2,\n 0x9255: 0x65E6,\n 0x9256: 0x6B4E,\n 0x9257: 0x6DE1,\n 0x9258: 0x6E5B,\n 0x9259: 0x70AD,\n 0x925A: 0x77ED,\n 0x925B: 0x7AEF,\n 0x925C: 0x7BAA,\n 0x925D: 0x7DBB,\n 0x925E: 0x803D,\n 0x925F: 0x80C6,\n 0x9260: 0x86CB,\n 0x9261: 0x8A95,\n 0x9262: 0x935B,\n 0x9263: 0x56E3,\n 0x9264: 0x58C7,\n 0x9265: 0x5F3E,\n 0x9266: 0x65AD,\n 0x9267: 0x6696,\n 0x9268: 0x6A80,\n 0x9269: 0x6BB5,\n 0x926A: 0x7537,\n 0x926B: 0x8AC7,\n 0x926C: 0x5024,\n 0x926D: 0x77E5,\n 0x926E: 0x5730,\n 0x926F: 0x5F1B,\n 0x9270: 0x6065,\n 0x9271: 0x667A,\n 0x9272: 0x6C60,\n 0x9273: 0x75F4,\n 0x9274: 0x7A1A,\n 0x9275: 0x7F6E,\n 0x9276: 0x81F4,\n 0x9277: 0x8718,\n 0x9278: 0x9045,\n 0x9279: 0x99B3,\n 0x927A: 0x7BC9,\n 0x927B: 0x755C,\n 0x927C: 0x7AF9,\n 0x927D: 0x7B51,\n 0x927E: 0x84C4,\n 0x9280: 0x9010,\n 0x9281: 0x79E9,\n 0x9282: 0x7A92,\n 0x9283: 0x8336,\n 0x9284: 0x5AE1,\n 0x9285: 0x7740,\n 0x9286: 0x4E2D,\n 0x9287: 0x4EF2,\n 0x9288: 0x5B99,\n 0x9289: 0x5FE0,\n 0x928A: 0x62BD,\n 0x928B: 0x663C,\n 0x928C: 0x67F1,\n 0x928D: 0x6CE8,\n 0x928E: 0x866B,\n 0x928F: 0x8877,\n 0x9290: 0x8A3B,\n 0x9291: 0x914E,\n 0x9292: 0x92F3,\n 0x9293: 0x99D0,\n 0x9294: 0x6A17,\n 0x9295: 0x7026,\n 0x9296: 0x732A,\n 0x9297: 0x82E7,\n 0x9298: 0x8457,\n 0x9299: 0x8CAF,\n 0x929A: 0x4E01,\n 0x929B: 0x5146,\n 0x929C: 0x51CB,\n 0x929D: 0x558B,\n 0x929E: 0x5BF5,\n 0x929F: 0x5E16,\n 0x92A0: 0x5E33,\n 0x92A1: 0x5E81,\n 0x92A2: 0x5F14,\n 0x92A3: 0x5F35,\n 0x92A4: 0x5F6B,\n 0x92A5: 0x5FB4,\n 0x92A6: 0x61F2,\n 0x92A7: 0x6311,\n 0x92A8: 0x66A2,\n 0x92A9: 0x671D,\n 0x92AA: 0x6F6E,\n 0x92AB: 0x7252,\n 0x92AC: 0x753A,\n 0x92AD: 0x773A,\n 0x92AE: 0x8074,\n 0x92AF: 0x8139,\n 0x92B0: 0x8178,\n 0x92B1: 0x8776,\n 0x92B2: 0x8ABF,\n 0x92B3: 0x8ADC,\n 0x92B4: 0x8D85,\n 0x92B5: 0x8DF3,\n 0x92B6: 0x929A,\n 0x92B7: 0x9577,\n 0x92B8: 0x9802,\n 0x92B9: 0x9CE5,\n 0x92BA: 0x52C5,\n 0x92BB: 0x6357,\n 0x92BC: 0x76F4,\n 0x92BD: 0x6715,\n 0x92BE: 0x6C88,\n 0x92BF: 0x73CD,\n 0x92C0: 0x8CC3,\n 0x92C1: 0x93AE,\n 0x92C2: 0x9673,\n 0x92C3: 0x6D25,\n 0x92C4: 0x589C,\n 0x92C5: 0x690E,\n 0x92C6: 0x69CC,\n 0x92C7: 0x8FFD,\n 0x92C8: 0x939A,\n 0x92C9: 0x75DB,\n 0x92CA: 0x901A,\n 0x92CB: 0x585A,\n 0x92CC: 0x6802,\n 0x92CD: 0x63B4,\n 0x92CE: 0x69FB,\n 0x92CF: 0x4F43,\n 0x92D0: 0x6F2C,\n 0x92D1: 0x67D8,\n 0x92D2: 0x8FBB,\n 0x92D3: 0x8526,\n 0x92D4: 0x7DB4,\n 0x92D5: 0x9354,\n 0x92D6: 0x693F,\n 0x92D7: 0x6F70,\n 0x92D8: 0x576A,\n 0x92D9: 0x58F7,\n 0x92DA: 0x5B2C,\n 0x92DB: 0x7D2C,\n 0x92DC: 0x722A,\n 0x92DD: 0x540A,\n 0x92DE: 0x91E3,\n 0x92DF: 0x9DB4,\n 0x92E0: 0x4EAD,\n 0x92E1: 0x4F4E,\n 0x92E2: 0x505C,\n 0x92E3: 0x5075,\n 0x92E4: 0x5243,\n 0x92E5: 0x8C9E,\n 0x92E6: 0x5448,\n 0x92E7: 0x5824,\n 0x92E8: 0x5B9A,\n 0x92E9: 0x5E1D,\n 0x92EA: 0x5E95,\n 0x92EB: 0x5EAD,\n 0x92EC: 0x5EF7,\n 0x92ED: 0x5F1F,\n 0x92EE: 0x608C,\n 0x92EF: 0x62B5,\n 0x92F0: 0x633A,\n 0x92F1: 0x63D0,\n 0x92F2: 0x68AF,\n 0x92F3: 0x6C40,\n 0x92F4: 0x7887,\n 0x92F5: 0x798E,\n 0x92F6: 0x7A0B,\n 0x92F7: 0x7DE0,\n 0x92F8: 0x8247,\n 0x92F9: 0x8A02,\n 0x92FA: 0x8AE6,\n 0x92FB: 0x8E44,\n 0x92FC: 0x9013,\n 0x9340: 0x90B8,\n 0x9341: 0x912D,\n 0x9342: 0x91D8,\n 0x9343: 0x9F0E,\n 0x9344: 0x6CE5,\n 0x9345: 0x6458,\n 0x9346: 0x64E2,\n 0x9347: 0x6575,\n 0x9348: 0x6EF4,\n 0x9349: 0x7684,\n 0x934A: 0x7B1B,\n 0x934B: 0x9069,\n 0x934C: 0x93D1,\n 0x934D: 0x6EBA,\n 0x934E: 0x54F2,\n 0x934F: 0x5FB9,\n 0x9350: 0x64A4,\n 0x9351: 0x8F4D,\n 0x9352: 0x8FED,\n 0x9353: 0x9244,\n 0x9354: 0x5178,\n 0x9355: 0x586B,\n 0x9356: 0x5929,\n 0x9357: 0x5C55,\n 0x9358: 0x5E97,\n 0x9359: 0x6DFB,\n 0x935A: 0x7E8F,\n 0x935B: 0x751C,\n 0x935C: 0x8CBC,\n 0x935D: 0x8EE2,\n 0x935E: 0x985B,\n 0x935F: 0x70B9,\n 0x9360: 0x4F1D,\n 0x9361: 0x6BBF,\n 0x9362: 0x6FB1,\n 0x9363: 0x7530,\n 0x9364: 0x96FB,\n 0x9365: 0x514E,\n 0x9366: 0x5410,\n 0x9367: 0x5835,\n 0x9368: 0x5857,\n 0x9369: 0x59AC,\n 0x936A: 0x5C60,\n 0x936B: 0x5F92,\n 0x936C: 0x6597,\n 0x936D: 0x675C,\n 0x936E: 0x6E21,\n 0x936F: 0x767B,\n 0x9370: 0x83DF,\n 0x9371: 0x8CED,\n 0x9372: 0x9014,\n 0x9373: 0x90FD,\n 0x9374: 0x934D,\n 0x9375: 0x7825,\n 0x9376: 0x783A,\n 0x9377: 0x52AA,\n 0x9378: 0x5EA6,\n 0x9379: 0x571F,\n 0x937A: 0x5974,\n 0x937B: 0x6012,\n 0x937C: 0x5012,\n 0x937D: 0x515A,\n 0x937E: 0x51AC,\n 0x9380: 0x51CD,\n 0x9381: 0x5200,\n 0x9382: 0x5510,\n 0x9383: 0x5854,\n 0x9384: 0x5858,\n 0x9385: 0x5957,\n 0x9386: 0x5B95,\n 0x9387: 0x5CF6,\n 0x9388: 0x5D8B,\n 0x9389: 0x60BC,\n 0x938A: 0x6295,\n 0x938B: 0x642D,\n 0x938C: 0x6771,\n 0x938D: 0x6843,\n 0x938E: 0x68BC,\n 0x938F: 0x68DF,\n 0x9390: 0x76D7,\n 0x9391: 0x6DD8,\n 0x9392: 0x6E6F,\n 0x9393: 0x6D9B,\n 0x9394: 0x706F,\n 0x9395: 0x71C8,\n 0x9396: 0x5F53,\n 0x9397: 0x75D8,\n 0x9398: 0x7977,\n 0x9399: 0x7B49,\n 0x939A: 0x7B54,\n 0x939B: 0x7B52,\n 0x939C: 0x7CD6,\n 0x939D: 0x7D71,\n 0x939E: 0x5230,\n 0x939F: 0x8463,\n 0x93A0: 0x8569,\n 0x93A1: 0x85E4,\n 0x93A2: 0x8A0E,\n 0x93A3: 0x8B04,\n 0x93A4: 0x8C46,\n 0x93A5: 0x8E0F,\n 0x93A6: 0x9003,\n 0x93A7: 0x900F,\n 0x93A8: 0x9419,\n 0x93A9: 0x9676,\n 0x93AA: 0x982D,\n 0x93AB: 0x9A30,\n 0x93AC: 0x95D8,\n 0x93AD: 0x50CD,\n 0x93AE: 0x52D5,\n 0x93AF: 0x540C,\n 0x93B0: 0x5802,\n 0x93B1: 0x5C0E,\n 0x93B2: 0x61A7,\n 0x93B3: 0x649E,\n 0x93B4: 0x6D1E,\n 0x93B5: 0x77B3,\n 0x93B6: 0x7AE5,\n 0x93B7: 0x80F4,\n 0x93B8: 0x8404,\n 0x93B9: 0x9053,\n 0x93BA: 0x9285,\n 0x93BB: 0x5CE0,\n 0x93BC: 0x9D07,\n 0x93BD: 0x533F,\n 0x93BE: 0x5F97,\n 0x93BF: 0x5FB3,\n 0x93C0: 0x6D9C,\n 0x93C1: 0x7279,\n 0x93C2: 0x7763,\n 0x93C3: 0x79BF,\n 0x93C4: 0x7BE4,\n 0x93C5: 0x6BD2,\n 0x93C6: 0x72EC,\n 0x93C7: 0x8AAD,\n 0x93C8: 0x6803,\n 0x93C9: 0x6A61,\n 0x93CA: 0x51F8,\n 0x93CB: 0x7A81,\n 0x93CC: 0x6934,\n 0x93CD: 0x5C4A,\n 0x93CE: 0x9CF6,\n 0x93CF: 0x82EB,\n 0x93D0: 0x5BC5,\n 0x93D1: 0x9149,\n 0x93D2: 0x701E,\n 0x93D3: 0x5678,\n 0x93D4: 0x5C6F,\n 0x93D5: 0x60C7,\n 0x93D6: 0x6566,\n 0x93D7: 0x6C8C,\n 0x93D8: 0x8C5A,\n 0x93D9: 0x9041,\n 0x93DA: 0x9813,\n 0x93DB: 0x5451,\n 0x93DC: 0x66C7,\n 0x93DD: 0x920D,\n 0x93DE: 0x5948,\n 0x93DF: 0x90A3,\n 0x93E0: 0x5185,\n 0x93E1: 0x4E4D,\n 0x93E2: 0x51EA,\n 0x93E3: 0x8599,\n 0x93E4: 0x8B0E,\n 0x93E5: 0x7058,\n 0x93E6: 0x637A,\n 0x93E7: 0x934B,\n 0x93E8: 0x6962,\n 0x93E9: 0x99B4,\n 0x93EA: 0x7E04,\n 0x93EB: 0x7577,\n 0x93EC: 0x5357,\n 0x93ED: 0x6960,\n 0x93EE: 0x8EDF,\n 0x93EF: 0x96E3,\n 0x93F0: 0x6C5D,\n 0x93F1: 0x4E8C,\n 0x93F2: 0x5C3C,\n 0x93F3: 0x5F10,\n 0x93F4: 0x8FE9,\n 0x93F5: 0x5302,\n 0x93F6: 0x8CD1,\n 0x93F7: 0x8089,\n 0x93F8: 0x8679,\n 0x93F9: 0x5EFF,\n 0x93FA: 0x65E5,\n 0x93FB: 0x4E73,\n 0x93FC: 0x5165,\n 0x9440: 0x5982,\n 0x9441: 0x5C3F,\n 0x9442: 0x97EE,\n 0x9443: 0x4EFB,\n 0x9444: 0x598A,\n 0x9445: 0x5FCD,\n 0x9446: 0x8A8D,\n 0x9447: 0x6FE1,\n 0x9448: 0x79B0,\n 0x9449: 0x7962,\n 0x944A: 0x5BE7,\n 0x944B: 0x8471,\n 0x944C: 0x732B,\n 0x944D: 0x71B1,\n 0x944E: 0x5E74,\n 0x944F: 0x5FF5,\n 0x9450: 0x637B,\n 0x9451: 0x649A,\n 0x9452: 0x71C3,\n 0x9453: 0x7C98,\n 0x9454: 0x4E43,\n 0x9455: 0x5EFC,\n 0x9456: 0x4E4B,\n 0x9457: 0x57DC,\n 0x9458: 0x56A2,\n 0x9459: 0x60A9,\n 0x945A: 0x6FC3,\n 0x945B: 0x7D0D,\n 0x945C: 0x80FD,\n 0x945D: 0x8133,\n 0x945E: 0x81BF,\n 0x945F: 0x8FB2,\n 0x9460: 0x8997,\n 0x9461: 0x86A4,\n 0x9462: 0x5DF4,\n 0x9463: 0x628A,\n 0x9464: 0x64AD,\n 0x9465: 0x8987,\n 0x9466: 0x6777,\n 0x9467: 0x6CE2,\n 0x9468: 0x6D3E,\n 0x9469: 0x7436,\n 0x946A: 0x7834,\n 0x946B: 0x5A46,\n 0x946C: 0x7F75,\n 0x946D: 0x82AD,\n 0x946E: 0x99AC,\n 0x946F: 0x4FF3,\n 0x9470: 0x5EC3,\n 0x9471: 0x62DD,\n 0x9472: 0x6392,\n 0x9473: 0x6557,\n 0x9474: 0x676F,\n 0x9475: 0x76C3,\n 0x9476: 0x724C,\n 0x9477: 0x80CC,\n 0x9478: 0x80BA,\n 0x9479: 0x8F29,\n 0x947A: 0x914D,\n 0x947B: 0x500D,\n 0x947C: 0x57F9,\n 0x947D: 0x5A92,\n 0x947E: 0x6885,\n 0x9480: 0x6973,\n 0x9481: 0x7164,\n 0x9482: 0x72FD,\n 0x9483: 0x8CB7,\n 0x9484: 0x58F2,\n 0x9485: 0x8CE0,\n 0x9486: 0x966A,\n 0x9487: 0x9019,\n 0x9488: 0x877F,\n 0x9489: 0x79E4,\n 0x948A: 0x77E7,\n 0x948B: 0x8429,\n 0x948C: 0x4F2F,\n 0x948D: 0x5265,\n 0x948E: 0x535A,\n 0x948F: 0x62CD,\n 0x9490: 0x67CF,\n 0x9491: 0x6CCA,\n 0x9492: 0x767D,\n 0x9493: 0x7B94,\n 0x9494: 0x7C95,\n 0x9495: 0x8236,\n 0x9496: 0x8584,\n 0x9497: 0x8FEB,\n 0x9498: 0x66DD,\n 0x9499: 0x6F20,\n 0x949A: 0x7206,\n 0x949B: 0x7E1B,\n 0x949C: 0x83AB,\n 0x949D: 0x99C1,\n 0x949E: 0x9EA6,\n 0x949F: 0x51FD,\n 0x94A0: 0x7BB1,\n 0x94A1: 0x7872,\n 0x94A2: 0x7BB8,\n 0x94A3: 0x8087,\n 0x94A4: 0x7B48,\n 0x94A5: 0x6AE8,\n 0x94A6: 0x5E61,\n 0x94A7: 0x808C,\n 0x94A8: 0x7551,\n 0x94A9: 0x7560,\n 0x94AA: 0x516B,\n 0x94AB: 0x9262,\n 0x94AC: 0x6E8C,\n 0x94AD: 0x767A,\n 0x94AE: 0x9197,\n 0x94AF: 0x9AEA,\n 0x94B0: 0x4F10,\n 0x94B1: 0x7F70,\n 0x94B2: 0x629C,\n 0x94B3: 0x7B4F,\n 0x94B4: 0x95A5,\n 0x94B5: 0x9CE9,\n 0x94B6: 0x567A,\n 0x94B7: 0x5859,\n 0x94B8: 0x86E4,\n 0x94B9: 0x96BC,\n 0x94BA: 0x4F34,\n 0x94BB: 0x5224,\n 0x94BC: 0x534A,\n 0x94BD: 0x53CD,\n 0x94BE: 0x53DB,\n 0x94BF: 0x5E06,\n 0x94C0: 0x642C,\n 0x94C1: 0x6591,\n 0x94C2: 0x677F,\n 0x94C3: 0x6C3E,\n 0x94C4: 0x6C4E,\n 0x94C5: 0x7248,\n 0x94C6: 0x72AF,\n 0x94C7: 0x73ED,\n 0x94C8: 0x7554,\n 0x94C9: 0x7E41,\n 0x94CA: 0x822C,\n 0x94CB: 0x85E9,\n 0x94CC: 0x8CA9,\n 0x94CD: 0x7BC4,\n 0x94CE: 0x91C6,\n 0x94CF: 0x7169,\n 0x94D0: 0x9812,\n 0x94D1: 0x98EF,\n 0x94D2: 0x633D,\n 0x94D3: 0x6669,\n 0x94D4: 0x756A,\n 0x94D5: 0x76E4,\n 0x94D6: 0x78D0,\n 0x94D7: 0x8543,\n 0x94D8: 0x86EE,\n 0x94D9: 0x532A,\n 0x94DA: 0x5351,\n 0x94DB: 0x5426,\n 0x94DC: 0x5983,\n 0x94DD: 0x5E87,\n 0x94DE: 0x5F7C,\n 0x94DF: 0x60B2,\n 0x94E0: 0x6249,\n 0x94E1: 0x6279,\n 0x94E2: 0x62AB,\n 0x94E3: 0x6590,\n 0x94E4: 0x6BD4,\n 0x94E5: 0x6CCC,\n 0x94E6: 0x75B2,\n 0x94E7: 0x76AE,\n 0x94E8: 0x7891,\n 0x94E9: 0x79D8,\n 0x94EA: 0x7DCB,\n 0x94EB: 0x7F77,\n 0x94EC: 0x80A5,\n 0x94ED: 0x88AB,\n 0x94EE: 0x8AB9,\n 0x94EF: 0x8CBB,\n 0x94F0: 0x907F,\n 0x94F1: 0x975E,\n 0x94F2: 0x98DB,\n 0x94F3: 0x6A0B,\n 0x94F4: 0x7C38,\n 0x94F5: 0x5099,\n 0x94F6: 0x5C3E,\n 0x94F7: 0x5FAE,\n 0x94F8: 0x6787,\n 0x94F9: 0x6BD8,\n 0x94FA: 0x7435,\n 0x94FB: 0x7709,\n 0x94FC: 0x7F8E,\n 0x9540: 0x9F3B,\n 0x9541: 0x67CA,\n 0x9542: 0x7A17,\n 0x9543: 0x5339,\n 0x9544: 0x758B,\n 0x9545: 0x9AED,\n 0x9546: 0x5F66,\n 0x9547: 0x819D,\n 0x9548: 0x83F1,\n 0x9549: 0x8098,\n 0x954A: 0x5F3C,\n 0x954B: 0x5FC5,\n 0x954C: 0x7562,\n 0x954D: 0x7B46,\n 0x954E: 0x903C,\n 0x954F: 0x6867,\n 0x9550: 0x59EB,\n 0x9551: 0x5A9B,\n 0x9552: 0x7D10,\n 0x9553: 0x767E,\n 0x9554: 0x8B2C,\n 0x9555: 0x4FF5,\n 0x9556: 0x5F6A,\n 0x9557: 0x6A19,\n 0x9558: 0x6C37,\n 0x9559: 0x6F02,\n 0x955A: 0x74E2,\n 0x955B: 0x7968,\n 0x955C: 0x8868,\n 0x955D: 0x8A55,\n 0x955E: 0x8C79,\n 0x955F: 0x5EDF,\n 0x9560: 0x63CF,\n 0x9561: 0x75C5,\n 0x9562: 0x79D2,\n 0x9563: 0x82D7,\n 0x9564: 0x9328,\n 0x9565: 0x92F2,\n 0x9566: 0x849C,\n 0x9567: 0x86ED,\n 0x9568: 0x9C2D,\n 0x9569: 0x54C1,\n 0x956A: 0x5F6C,\n 0x956B: 0x658C,\n 0x956C: 0x6D5C,\n 0x956D: 0x7015,\n 0x956E: 0x8CA7,\n 0x956F: 0x8CD3,\n 0x9570: 0x983B,\n 0x9571: 0x654F,\n 0x9572: 0x74F6,\n 0x9573: 0x4E0D,\n 0x9574: 0x4ED8,\n 0x9575: 0x57E0,\n 0x9576: 0x592B,\n 0x9577: 0x5A66,\n 0x9578: 0x5BCC,\n 0x9579: 0x51A8,\n 0x957A: 0x5E03,\n 0x957B: 0x5E9C,\n 0x957C: 0x6016,\n 0x957D: 0x6276,\n 0x957E: 0x6577,\n 0x9580: 0x65A7,\n 0x9581: 0x666E,\n 0x9582: 0x6D6E,\n 0x9583: 0x7236,\n 0x9584: 0x7B26,\n 0x9585: 0x8150,\n 0x9586: 0x819A,\n 0x9587: 0x8299,\n 0x9588: 0x8B5C,\n 0x9589: 0x8CA0,\n 0x958A: 0x8CE6,\n 0x958B: 0x8D74,\n 0x958C: 0x961C,\n 0x958D: 0x9644,\n 0x958E: 0x4FAE,\n 0x958F: 0x64AB,\n 0x9590: 0x6B66,\n 0x9591: 0x821E,\n 0x9592: 0x8461,\n 0x9593: 0x856A,\n 0x9594: 0x90E8,\n 0x9595: 0x5C01,\n 0x9596: 0x6953,\n 0x9597: 0x98A8,\n 0x9598: 0x847A,\n 0x9599: 0x8557,\n 0x959A: 0x4F0F,\n 0x959B: 0x526F,\n 0x959C: 0x5FA9,\n 0x959D: 0x5E45,\n 0x959E: 0x670D,\n 0x959F: 0x798F,\n 0x95A0: 0x8179,\n 0x95A1: 0x8907,\n 0x95A2: 0x8986,\n 0x95A3: 0x6DF5,\n 0x95A4: 0x5F17,\n 0x95A5: 0x6255,\n 0x95A6: 0x6CB8,\n 0x95A7: 0x4ECF,\n 0x95A8: 0x7269,\n 0x95A9: 0x9B92,\n 0x95AA: 0x5206,\n 0x95AB: 0x543B,\n 0x95AC: 0x5674,\n 0x95AD: 0x58B3,\n 0x95AE: 0x61A4,\n 0x95AF: 0x626E,\n 0x95B0: 0x711A,\n 0x95B1: 0x596E,\n 0x95B2: 0x7C89,\n 0x95B3: 0x7CDE,\n 0x95B4: 0x7D1B,\n 0x95B5: 0x96F0,\n 0x95B6: 0x6587,\n 0x95B7: 0x805E,\n 0x95B8: 0x4E19,\n 0x95B9: 0x4F75,\n 0x95BA: 0x5175,\n 0x95BB: 0x5840,\n 0x95BC: 0x5E63,\n 0x95BD: 0x5E73,\n 0x95BE: 0x5F0A,\n 0x95BF: 0x67C4,\n 0x95C0: 0x4E26,\n 0x95C1: 0x853D,\n 0x95C2: 0x9589,\n 0x95C3: 0x965B,\n 0x95C4: 0x7C73,\n 0x95C5: 0x9801,\n 0x95C6: 0x50FB,\n 0x95C7: 0x58C1,\n 0x95C8: 0x7656,\n 0x95C9: 0x78A7,\n 0x95CA: 0x5225,\n 0x95CB: 0x77A5,\n 0x95CC: 0x8511,\n 0x95CD: 0x7B86,\n 0x95CE: 0x504F,\n 0x95CF: 0x5909,\n 0x95D0: 0x7247,\n 0x95D1: 0x7BC7,\n 0x95D2: 0x7DE8,\n 0x95D3: 0x8FBA,\n 0x95D4: 0x8FD4,\n 0x95D5: 0x904D,\n 0x95D6: 0x4FBF,\n 0x95D7: 0x52C9,\n 0x95D8: 0x5A29,\n 0x95D9: 0x5F01,\n 0x95DA: 0x97AD,\n 0x95DB: 0x4FDD,\n 0x95DC: 0x8217,\n 0x95DD: 0x92EA,\n 0x95DE: 0x5703,\n 0x95DF: 0x6355,\n 0x95E0: 0x6B69,\n 0x95E1: 0x752B,\n 0x95E2: 0x88DC,\n 0x95E3: 0x8F14,\n 0x95E4: 0x7A42,\n 0x95E5: 0x52DF,\n 0x95E6: 0x5893,\n 0x95E7: 0x6155,\n 0x95E8: 0x620A,\n 0x95E9: 0x66AE,\n 0x95EA: 0x6BCD,\n 0x95EB: 0x7C3F,\n 0x95EC: 0x83E9,\n 0x95ED: 0x5023,\n 0x95EE: 0x4FF8,\n 0x95EF: 0x5305,\n 0x95F0: 0x5446,\n 0x95F1: 0x5831,\n 0x95F2: 0x5949,\n 0x95F3: 0x5B9D,\n 0x95F4: 0x5CF0,\n 0x95F5: 0x5CEF,\n 0x95F6: 0x5D29,\n 0x95F7: 0x5E96,\n 0x95F8: 0x62B1,\n 0x95F9: 0x6367,\n 0x95FA: 0x653E,\n 0x95FB: 0x65B9,\n 0x95FC: 0x670B,\n 0x9640: 0x6CD5,\n 0x9641: 0x6CE1,\n 0x9642: 0x70F9,\n 0x9643: 0x7832,\n 0x9644: 0x7E2B,\n 0x9645: 0x80DE,\n 0x9646: 0x82B3,\n 0x9647: 0x840C,\n 0x9648: 0x84EC,\n 0x9649: 0x8702,\n 0x964A: 0x8912,\n 0x964B: 0x8A2A,\n 0x964C: 0x8C4A,\n 0x964D: 0x90A6,\n 0x964E: 0x92D2,\n 0x964F: 0x98FD,\n 0x9650: 0x9CF3,\n 0x9651: 0x9D6C,\n 0x9652: 0x4E4F,\n 0x9653: 0x4EA1,\n 0x9654: 0x508D,\n 0x9655: 0x5256,\n 0x9656: 0x574A,\n 0x9657: 0x59A8,\n 0x9658: 0x5E3D,\n 0x9659: 0x5FD8,\n 0x965A: 0x5FD9,\n 0x965B: 0x623F,\n 0x965C: 0x66B4,\n 0x965D: 0x671B,\n 0x965E: 0x67D0,\n 0x965F: 0x68D2,\n 0x9660: 0x5192,\n 0x9661: 0x7D21,\n 0x9662: 0x80AA,\n 0x9663: 0x81A8,\n 0x9664: 0x8B00,\n 0x9665: 0x8C8C,\n 0x9666: 0x8CBF,\n 0x9667: 0x927E,\n 0x9668: 0x9632,\n 0x9669: 0x5420,\n 0x966A: 0x982C,\n 0x966B: 0x5317,\n 0x966C: 0x50D5,\n 0x966D: 0x535C,\n 0x966E: 0x58A8,\n 0x966F: 0x64B2,\n 0x9670: 0x6734,\n 0x9671: 0x7267,\n 0x9672: 0x7766,\n 0x9673: 0x7A46,\n 0x9674: 0x91E6,\n 0x9675: 0x52C3,\n 0x9676: 0x6CA1,\n 0x9677: 0x6B86,\n 0x9678: 0x5800,\n 0x9679: 0x5E4C,\n 0x967A: 0x5954,\n 0x967B: 0x672C,\n 0x967C: 0x7FFB,\n 0x967D: 0x51E1,\n 0x967E: 0x76C6,\n 0x9680: 0x6469,\n 0x9681: 0x78E8,\n 0x9682: 0x9B54,\n 0x9683: 0x9EBB,\n 0x9684: 0x57CB,\n 0x9685: 0x59B9,\n 0x9686: 0x6627,\n 0x9687: 0x679A,\n 0x9688: 0x6BCE,\n 0x9689: 0x54E9,\n 0x968A: 0x69D9,\n 0x968B: 0x5E55,\n 0x968C: 0x819C,\n 0x968D: 0x6795,\n 0x968E: 0x9BAA,\n 0x968F: 0x67FE,\n 0x9690: 0x9C52,\n 0x9691: 0x685D,\n 0x9692: 0x4EA6,\n 0x9693: 0x4FE3,\n 0x9694: 0x53C8,\n 0x9695: 0x62B9,\n 0x9696: 0x672B,\n 0x9697: 0x6CAB,\n 0x9698: 0x8FC4,\n 0x9699: 0x4FAD,\n 0x969A: 0x7E6D,\n 0x969B: 0x9EBF,\n 0x969C: 0x4E07,\n 0x969D: 0x6162,\n 0x969E: 0x6E80,\n 0x969F: 0x6F2B,\n 0x96A0: 0x8513,\n 0x96A1: 0x5473,\n 0x96A2: 0x672A,\n 0x96A3: 0x9B45,\n 0x96A4: 0x5DF3,\n 0x96A5: 0x7B95,\n 0x96A6: 0x5CAC,\n 0x96A7: 0x5BC6,\n 0x96A8: 0x871C,\n 0x96A9: 0x6E4A,\n 0x96AA: 0x84D1,\n 0x96AB: 0x7A14,\n 0x96AC: 0x8108,\n 0x96AD: 0x5999,\n 0x96AE: 0x7C8D,\n 0x96AF: 0x6C11,\n 0x96B0: 0x7720,\n 0x96B1: 0x52D9,\n 0x96B2: 0x5922,\n 0x96B3: 0x7121,\n 0x96B4: 0x725F,\n 0x96B5: 0x77DB,\n 0x96B6: 0x9727,\n 0x96B7: 0x9D61,\n 0x96B8: 0x690B,\n 0x96B9: 0x5A7F,\n 0x96BA: 0x5A18,\n 0x96BB: 0x51A5,\n 0x96BC: 0x540D,\n 0x96BD: 0x547D,\n 0x96BE: 0x660E,\n 0x96BF: 0x76DF,\n 0x96C0: 0x8FF7,\n 0x96C1: 0x9298,\n 0x96C2: 0x9CF4,\n 0x96C3: 0x59EA,\n 0x96C4: 0x725D,\n 0x96C5: 0x6EC5,\n 0x96C6: 0x514D,\n 0x96C7: 0x68C9,\n 0x96C8: 0x7DBF,\n 0x96C9: 0x7DEC,\n 0x96CA: 0x9762,\n 0x96CB: 0x9EBA,\n 0x96CC: 0x6478,\n 0x96CD: 0x6A21,\n 0x96CE: 0x8302,\n 0x96CF: 0x5984,\n 0x96D0: 0x5B5F,\n 0x96D1: 0x6BDB,\n 0x96D2: 0x731B,\n 0x96D3: 0x76F2,\n 0x96D4: 0x7DB2,\n 0x96D5: 0x8017,\n 0x96D6: 0x8499,\n 0x96D7: 0x5132,\n 0x96D8: 0x6728,\n 0x96D9: 0x9ED9,\n 0x96DA: 0x76EE,\n 0x96DB: 0x6762,\n 0x96DC: 0x52FF,\n 0x96DD: 0x9905,\n 0x96DE: 0x5C24,\n 0x96DF: 0x623B,\n 0x96E0: 0x7C7E,\n 0x96E1: 0x8CB0,\n 0x96E2: 0x554F,\n 0x96E3: 0x60B6,\n 0x96E4: 0x7D0B,\n 0x96E5: 0x9580,\n 0x96E6: 0x5301,\n 0x96E7: 0x4E5F,\n 0x96E8: 0x51B6,\n 0x96E9: 0x591C,\n 0x96EA: 0x723A,\n 0x96EB: 0x8036,\n 0x96EC: 0x91CE,\n 0x96ED: 0x5F25,\n 0x96EE: 0x77E2,\n 0x96EF: 0x5384,\n 0x96F0: 0x5F79,\n 0x96F1: 0x7D04,\n 0x96F2: 0x85AC,\n 0x96F3: 0x8A33,\n 0x96F4: 0x8E8D,\n 0x96F5: 0x9756,\n 0x96F6: 0x67F3,\n 0x96F7: 0x85AE,\n 0x96F8: 0x9453,\n 0x96F9: 0x6109,\n 0x96FA: 0x6108,\n 0x96FB: 0x6CB9,\n 0x96FC: 0x7652,\n 0x9740: 0x8AED,\n 0x9741: 0x8F38,\n 0x9742: 0x552F,\n 0x9743: 0x4F51,\n 0x9744: 0x512A,\n 0x9745: 0x52C7,\n 0x9746: 0x53CB,\n 0x9747: 0x5BA5,\n 0x9748: 0x5E7D,\n 0x9749: 0x60A0,\n 0x974A: 0x6182,\n 0x974B: 0x63D6,\n 0x974C: 0x6709,\n 0x974D: 0x67DA,\n 0x974E: 0x6E67,\n 0x974F: 0x6D8C,\n 0x9750: 0x7336,\n 0x9751: 0x7337,\n 0x9752: 0x7531,\n 0x9753: 0x7950,\n 0x9754: 0x88D5,\n 0x9755: 0x8A98,\n 0x9756: 0x904A,\n 0x9757: 0x9091,\n 0x9758: 0x90F5,\n 0x9759: 0x96C4,\n 0x975A: 0x878D,\n 0x975B: 0x5915,\n 0x975C: 0x4E88,\n 0x975D: 0x4F59,\n 0x975E: 0x4E0E,\n 0x975F: 0x8A89,\n 0x9760: 0x8F3F,\n 0x9761: 0x9810,\n 0x9762: 0x50AD,\n 0x9763: 0x5E7C,\n 0x9764: 0x5996,\n 0x9765: 0x5BB9,\n 0x9766: 0x5EB8,\n 0x9767: 0x63DA,\n 0x9768: 0x63FA,\n 0x9769: 0x64C1,\n 0x976A: 0x66DC,\n 0x976B: 0x694A,\n 0x976C: 0x69D8,\n 0x976D: 0x6D0B,\n 0x976E: 0x6EB6,\n 0x976F: 0x7194,\n 0x9770: 0x7528,\n 0x9771: 0x7AAF,\n 0x9772: 0x7F8A,\n 0x9773: 0x8000,\n 0x9774: 0x8449,\n 0x9775: 0x84C9,\n 0x9776: 0x8981,\n 0x9777: 0x8B21,\n 0x9778: 0x8E0A,\n 0x9779: 0x9065,\n 0x977A: 0x967D,\n 0x977B: 0x990A,\n 0x977C: 0x617E,\n 0x977D: 0x6291,\n 0x977E: 0x6B32,\n 0x9780: 0x6C83,\n 0x9781: 0x6D74,\n 0x9782: 0x7FCC,\n 0x9783: 0x7FFC,\n 0x9784: 0x6DC0,\n 0x9785: 0x7F85,\n 0x9786: 0x87BA,\n 0x9787: 0x88F8,\n 0x9788: 0x6765,\n 0x9789: 0x83B1,\n 0x978A: 0x983C,\n 0x978B: 0x96F7,\n 0x978C: 0x6D1B,\n 0x978D: 0x7D61,\n 0x978E: 0x843D,\n 0x978F: 0x916A,\n 0x9790: 0x4E71,\n 0x9791: 0x5375,\n 0x9792: 0x5D50,\n 0x9793: 0x6B04,\n 0x9794: 0x6FEB,\n 0x9795: 0x85CD,\n 0x9796: 0x862D,\n 0x9797: 0x89A7,\n 0x9798: 0x5229,\n 0x9799: 0x540F,\n 0x979A: 0x5C65,\n 0x979B: 0x674E,\n 0x979C: 0x68A8,\n 0x979D: 0x7406,\n 0x979E: 0x7483,\n 0x979F: 0x75E2,\n 0x97A0: 0x88CF,\n 0x97A1: 0x88E1,\n 0x97A2: 0x91CC,\n 0x97A3: 0x96E2,\n 0x97A4: 0x9678,\n 0x97A5: 0x5F8B,\n 0x97A6: 0x7387,\n 0x97A7: 0x7ACB,\n 0x97A8: 0x844E,\n 0x97A9: 0x63A0,\n 0x97AA: 0x7565,\n 0x97AB: 0x5289,\n 0x97AC: 0x6D41,\n 0x97AD: 0x6E9C,\n 0x97AE: 0x7409,\n 0x97AF: 0x7559,\n 0x97B0: 0x786B,\n 0x97B1: 0x7C92,\n 0x97B2: 0x9686,\n 0x97B3: 0x7ADC,\n 0x97B4: 0x9F8D,\n 0x97B5: 0x4FB6,\n 0x97B6: 0x616E,\n 0x97B7: 0x65C5,\n 0x97B8: 0x865C,\n 0x97B9: 0x4E86,\n 0x97BA: 0x4EAE,\n 0x97BB: 0x50DA,\n 0x97BC: 0x4E21,\n 0x97BD: 0x51CC,\n 0x97BE: 0x5BEE,\n 0x97BF: 0x6599,\n 0x97C0: 0x6881,\n 0x97C1: 0x6DBC,\n 0x97C2: 0x731F,\n 0x97C3: 0x7642,\n 0x97C4: 0x77AD,\n 0x97C5: 0x7A1C,\n 0x97C6: 0x7CE7,\n 0x97C7: 0x826F,\n 0x97C8: 0x8AD2,\n 0x97C9: 0x907C,\n 0x97CA: 0x91CF,\n 0x97CB: 0x9675,\n 0x97CC: 0x9818,\n 0x97CD: 0x529B,\n 0x97CE: 0x7DD1,\n 0x97CF: 0x502B,\n 0x97D0: 0x5398,\n 0x97D1: 0x6797,\n 0x97D2: 0x6DCB,\n 0x97D3: 0x71D0,\n 0x97D4: 0x7433,\n 0x97D5: 0x81E8,\n 0x97D6: 0x8F2A,\n 0x97D7: 0x96A3,\n 0x97D8: 0x9C57,\n 0x97D9: 0x9E9F,\n 0x97DA: 0x7460,\n 0x97DB: 0x5841,\n 0x97DC: 0x6D99,\n 0x97DD: 0x7D2F,\n 0x97DE: 0x985E,\n 0x97DF: 0x4EE4,\n 0x97E0: 0x4F36,\n 0x97E1: 0x4F8B,\n 0x97E2: 0x51B7,\n 0x97E3: 0x52B1,\n 0x97E4: 0x5DBA,\n 0x97E5: 0x601C,\n 0x97E6: 0x73B2,\n 0x97E7: 0x793C,\n 0x97E8: 0x82D3,\n 0x97E9: 0x9234,\n 0x97EA: 0x96B7,\n 0x97EB: 0x96F6,\n 0x97EC: 0x970A,\n 0x97ED: 0x9E97,\n 0x97EE: 0x9F62,\n 0x97EF: 0x66A6,\n 0x97F0: 0x6B74,\n 0x97F1: 0x5217,\n 0x97F2: 0x52A3,\n 0x97F3: 0x70C8,\n 0x97F4: 0x88C2,\n 0x97F5: 0x5EC9,\n 0x97F6: 0x604B,\n 0x97F7: 0x6190,\n 0x97F8: 0x6F23,\n 0x97F9: 0x7149,\n 0x97FA: 0x7C3E,\n 0x97FB: 0x7DF4,\n 0x97FC: 0x806F,\n 0x9840: 0x84EE,\n 0x9841: 0x9023,\n 0x9842: 0x932C,\n 0x9843: 0x5442,\n 0x9844: 0x9B6F,\n 0x9845: 0x6AD3,\n 0x9846: 0x7089,\n 0x9847: 0x8CC2,\n 0x9848: 0x8DEF,\n 0x9849: 0x9732,\n 0x984A: 0x52B4,\n 0x984B: 0x5A41,\n 0x984C: 0x5ECA,\n 0x984D: 0x5F04,\n 0x984E: 0x6717,\n 0x984F: 0x697C,\n 0x9850: 0x6994,\n 0x9851: 0x6D6A,\n 0x9852: 0x6F0F,\n 0x9853: 0x7262,\n 0x9854: 0x72FC,\n 0x9855: 0x7BED,\n 0x9856: 0x8001,\n 0x9857: 0x807E,\n 0x9858: 0x874B,\n 0x9859: 0x90CE,\n 0x985A: 0x516D,\n 0x985B: 0x9E93,\n 0x985C: 0x7984,\n 0x985D: 0x808B,\n 0x985E: 0x9332,\n 0x985F: 0x8AD6,\n 0x9860: 0x502D,\n 0x9861: 0x548C,\n 0x9862: 0x8A71,\n 0x9863: 0x6B6A,\n 0x9864: 0x8CC4,\n 0x9865: 0x8107,\n 0x9866: 0x60D1,\n 0x9867: 0x67A0,\n 0x9868: 0x9DF2,\n 0x9869: 0x4E99,\n 0x986A: 0x4E98,\n 0x986B: 0x9C10,\n 0x986C: 0x8A6B,\n 0x986D: 0x85C1,\n 0x986E: 0x8568,\n 0x986F: 0x6900,\n 0x9870: 0x6E7E,\n 0x9871: 0x7897,\n 0x9872: 0x8155,\n 0x989F: 0x5F0C,\n 0x98A0: 0x4E10,\n 0x98A1: 0x4E15,\n 0x98A2: 0x4E2A,\n 0x98A3: 0x4E31,\n 0x98A4: 0x4E36,\n 0x98A5: 0x4E3C,\n 0x98A6: 0x4E3F,\n 0x98A7: 0x4E42,\n 0x98A8: 0x4E56,\n 0x98A9: 0x4E58,\n 0x98AA: 0x4E82,\n 0x98AB: 0x4E85,\n 0x98AC: 0x8C6B,\n 0x98AD: 0x4E8A,\n 0x98AE: 0x8212,\n 0x98AF: 0x5F0D,\n 0x98B0: 0x4E8E,\n 0x98B1: 0x4E9E,\n 0x98B2: 0x4E9F,\n 0x98B3: 0x4EA0,\n 0x98B4: 0x4EA2,\n 0x98B5: 0x4EB0,\n 0x98B6: 0x4EB3,\n 0x98B7: 0x4EB6,\n 0x98B8: 0x4ECE,\n 0x98B9: 0x4ECD,\n 0x98BA: 0x4EC4,\n 0x98BB: 0x4EC6,\n 0x98BC: 0x4EC2,\n 0x98BD: 0x4ED7,\n 0x98BE: 0x4EDE,\n 0x98BF: 0x4EED,\n 0x98C0: 0x4EDF,\n 0x98C1: 0x4EF7,\n 0x98C2: 0x4F09,\n 0x98C3: 0x4F5A,\n 0x98C4: 0x4F30,\n 0x98C5: 0x4F5B,\n 0x98C6: 0x4F5D,\n 0x98C7: 0x4F57,\n 0x98C8: 0x4F47,\n 0x98C9: 0x4F76,\n 0x98CA: 0x4F88,\n 0x98CB: 0x4F8F,\n 0x98CC: 0x4F98,\n 0x98CD: 0x4F7B,\n 0x98CE: 0x4F69,\n 0x98CF: 0x4F70,\n 0x98D0: 0x4F91,\n 0x98D1: 0x4F6F,\n 0x98D2: 0x4F86,\n 0x98D3: 0x4F96,\n 0x98D4: 0x5118,\n 0x98D5: 0x4FD4,\n 0x98D6: 0x4FDF,\n 0x98D7: 0x4FCE,\n 0x98D8: 0x4FD8,\n 0x98D9: 0x4FDB,\n 0x98DA: 0x4FD1,\n 0x98DB: 0x4FDA,\n 0x98DC: 0x4FD0,\n 0x98DD: 0x4FE4,\n 0x98DE: 0x4FE5,\n 0x98DF: 0x501A,\n 0x98E0: 0x5028,\n 0x98E1: 0x5014,\n 0x98E2: 0x502A,\n 0x98E3: 0x5025,\n 0x98E4: 0x5005,\n 0x98E5: 0x4F1C,\n 0x98E6: 0x4FF6,\n 0x98E7: 0x5021,\n 0x98E8: 0x5029,\n 0x98E9: 0x502C,\n 0x98EA: 0x4FFE,\n 0x98EB: 0x4FEF,\n 0x98EC: 0x5011,\n 0x98ED: 0x5006,\n 0x98EE: 0x5043,\n 0x98EF: 0x5047,\n 0x98F0: 0x6703,\n 0x98F1: 0x5055,\n 0x98F2: 0x5050,\n 0x98F3: 0x5048,\n 0x98F4: 0x505A,\n 0x98F5: 0x5056,\n 0x98F6: 0x506C,\n 0x98F7: 0x5078,\n 0x98F8: 0x5080,\n 0x98F9: 0x509A,\n 0x98FA: 0x5085,\n 0x98FB: 0x50B4,\n 0x98FC: 0x50B2,\n 0x9940: 0x50C9,\n 0x9941: 0x50CA,\n 0x9942: 0x50B3,\n 0x9943: 0x50C2,\n 0x9944: 0x50D6,\n 0x9945: 0x50DE,\n 0x9946: 0x50E5,\n 0x9947: 0x50ED,\n 0x9948: 0x50E3,\n 0x9949: 0x50EE,\n 0x994A: 0x50F9,\n 0x994B: 0x50F5,\n 0x994C: 0x5109,\n 0x994D: 0x5101,\n 0x994E: 0x5102,\n 0x994F: 0x5116,\n 0x9950: 0x5115,\n 0x9951: 0x5114,\n 0x9952: 0x511A,\n 0x9953: 0x5121,\n 0x9954: 0x513A,\n 0x9955: 0x5137,\n 0x9956: 0x513C,\n 0x9957: 0x513B,\n 0x9958: 0x513F,\n 0x9959: 0x5140,\n 0x995A: 0x5152,\n 0x995B: 0x514C,\n 0x995C: 0x5154,\n 0x995D: 0x5162,\n 0x995E: 0x7AF8,\n 0x995F: 0x5169,\n 0x9960: 0x516A,\n 0x9961: 0x516E,\n 0x9962: 0x5180,\n 0x9963: 0x5182,\n 0x9964: 0x56D8,\n 0x9965: 0x518C,\n 0x9966: 0x5189,\n 0x9967: 0x518F,\n 0x9968: 0x5191,\n 0x9969: 0x5193,\n 0x996A: 0x5195,\n 0x996B: 0x5196,\n 0x996C: 0x51A4,\n 0x996D: 0x51A6,\n 0x996E: 0x51A2,\n 0x996F: 0x51A9,\n 0x9970: 0x51AA,\n 0x9971: 0x51AB,\n 0x9972: 0x51B3,\n 0x9973: 0x51B1,\n 0x9974: 0x51B2,\n 0x9975: 0x51B0,\n 0x9976: 0x51B5,\n 0x9977: 0x51BD,\n 0x9978: 0x51C5,\n 0x9979: 0x51C9,\n 0x997A: 0x51DB,\n 0x997B: 0x51E0,\n 0x997C: 0x8655,\n 0x997D: 0x51E9,\n 0x997E: 0x51ED,\n 0x9980: 0x51F0,\n 0x9981: 0x51F5,\n 0x9982: 0x51FE,\n 0x9983: 0x5204,\n 0x9984: 0x520B,\n 0x9985: 0x5214,\n 0x9986: 0x520E,\n 0x9987: 0x5227,\n 0x9988: 0x522A,\n 0x9989: 0x522E,\n 0x998A: 0x5233,\n 0x998B: 0x5239,\n 0x998C: 0x524F,\n 0x998D: 0x5244,\n 0x998E: 0x524B,\n 0x998F: 0x524C,\n 0x9990: 0x525E,\n 0x9991: 0x5254,\n 0x9992: 0x526A,\n 0x9993: 0x5274,\n 0x9994: 0x5269,\n 0x9995: 0x5273,\n 0x9996: 0x527F,\n 0x9997: 0x527D,\n 0x9998: 0x528D,\n 0x9999: 0x5294,\n 0x999A: 0x5292,\n 0x999B: 0x5271,\n 0x999C: 0x5288,\n 0x999D: 0x5291,\n 0x999E: 0x8FA8,\n 0x999F: 0x8FA7,\n 0x99A0: 0x52AC,\n 0x99A1: 0x52AD,\n 0x99A2: 0x52BC,\n 0x99A3: 0x52B5,\n 0x99A4: 0x52C1,\n 0x99A5: 0x52CD,\n 0x99A6: 0x52D7,\n 0x99A7: 0x52DE,\n 0x99A8: 0x52E3,\n 0x99A9: 0x52E6,\n 0x99AA: 0x98ED,\n 0x99AB: 0x52E0,\n 0x99AC: 0x52F3,\n 0x99AD: 0x52F5,\n 0x99AE: 0x52F8,\n 0x99AF: 0x52F9,\n 0x99B0: 0x5306,\n 0x99B1: 0x5308,\n 0x99B2: 0x7538,\n 0x99B3: 0x530D,\n 0x99B4: 0x5310,\n 0x99B5: 0x530F,\n 0x99B6: 0x5315,\n 0x99B7: 0x531A,\n 0x99B8: 0x5323,\n 0x99B9: 0x532F,\n 0x99BA: 0x5331,\n 0x99BB: 0x5333,\n 0x99BC: 0x5338,\n 0x99BD: 0x5340,\n 0x99BE: 0x5346,\n 0x99BF: 0x5345,\n 0x99C0: 0x4E17,\n 0x99C1: 0x5349,\n 0x99C2: 0x534D,\n 0x99C3: 0x51D6,\n 0x99C4: 0x535E,\n 0x99C5: 0x5369,\n 0x99C6: 0x536E,\n 0x99C7: 0x5918,\n 0x99C8: 0x537B,\n 0x99C9: 0x5377,\n 0x99CA: 0x5382,\n 0x99CB: 0x5396,\n 0x99CC: 0x53A0,\n 0x99CD: 0x53A6,\n 0x99CE: 0x53A5,\n 0x99CF: 0x53AE,\n 0x99D0: 0x53B0,\n 0x99D1: 0x53B6,\n 0x99D2: 0x53C3,\n 0x99D3: 0x7C12,\n 0x99D4: 0x96D9,\n 0x99D5: 0x53DF,\n 0x99D6: 0x66FC,\n 0x99D7: 0x71EE,\n 0x99D8: 0x53EE,\n 0x99D9: 0x53E8,\n 0x99DA: 0x53ED,\n 0x99DB: 0x53FA,\n 0x99DC: 0x5401,\n 0x99DD: 0x543D,\n 0x99DE: 0x5440,\n 0x99DF: 0x542C,\n 0x99E0: 0x542D,\n 0x99E1: 0x543C,\n 0x99E2: 0x542E,\n 0x99E3: 0x5436,\n 0x99E4: 0x5429,\n 0x99E5: 0x541D,\n 0x99E6: 0x544E,\n 0x99E7: 0x548F,\n 0x99E8: 0x5475,\n 0x99E9: 0x548E,\n 0x99EA: 0x545F,\n 0x99EB: 0x5471,\n 0x99EC: 0x5477,\n 0x99ED: 0x5470,\n 0x99EE: 0x5492,\n 0x99EF: 0x547B,\n 0x99F0: 0x5480,\n 0x99F1: 0x5476,\n 0x99F2: 0x5484,\n 0x99F3: 0x5490,\n 0x99F4: 0x5486,\n 0x99F5: 0x54C7,\n 0x99F6: 0x54A2,\n 0x99F7: 0x54B8,\n 0x99F8: 0x54A5,\n 0x99F9: 0x54AC,\n 0x99FA: 0x54C4,\n 0x99FB: 0x54C8,\n 0x99FC: 0x54A8,\n 0x9A40: 0x54AB,\n 0x9A41: 0x54C2,\n 0x9A42: 0x54A4,\n 0x9A43: 0x54BE,\n 0x9A44: 0x54BC,\n 0x9A45: 0x54D8,\n 0x9A46: 0x54E5,\n 0x9A47: 0x54E6,\n 0x9A48: 0x550F,\n 0x9A49: 0x5514,\n 0x9A4A: 0x54FD,\n 0x9A4B: 0x54EE,\n 0x9A4C: 0x54ED,\n 0x9A4D: 0x54FA,\n 0x9A4E: 0x54E2,\n 0x9A4F: 0x5539,\n 0x9A50: 0x5540,\n 0x9A51: 0x5563,\n 0x9A52: 0x554C,\n 0x9A53: 0x552E,\n 0x9A54: 0x555C,\n 0x9A55: 0x5545,\n 0x9A56: 0x5556,\n 0x9A57: 0x5557,\n 0x9A58: 0x5538,\n 0x9A59: 0x5533,\n 0x9A5A: 0x555D,\n 0x9A5B: 0x5599,\n 0x9A5C: 0x5580,\n 0x9A5D: 0x54AF,\n 0x9A5E: 0x558A,\n 0x9A5F: 0x559F,\n 0x9A60: 0x557B,\n 0x9A61: 0x557E,\n 0x9A62: 0x5598,\n 0x9A63: 0x559E,\n 0x9A64: 0x55AE,\n 0x9A65: 0x557C,\n 0x9A66: 0x5583,\n 0x9A67: 0x55A9,\n 0x9A68: 0x5587,\n 0x9A69: 0x55A8,\n 0x9A6A: 0x55DA,\n 0x9A6B: 0x55C5,\n 0x9A6C: 0x55DF,\n 0x9A6D: 0x55C4,\n 0x9A6E: 0x55DC,\n 0x9A6F: 0x55E4,\n 0x9A70: 0x55D4,\n 0x9A71: 0x5614,\n 0x9A72: 0x55F7,\n 0x9A73: 0x5616,\n 0x9A74: 0x55FE,\n 0x9A75: 0x55FD,\n 0x9A76: 0x561B,\n 0x9A77: 0x55F9,\n 0x9A78: 0x564E,\n 0x9A79: 0x5650,\n 0x9A7A: 0x71DF,\n 0x9A7B: 0x5634,\n 0x9A7C: 0x5636,\n 0x9A7D: 0x5632,\n 0x9A7E: 0x5638,\n 0x9A80: 0x566B,\n 0x9A81: 0x5664,\n 0x9A82: 0x562F,\n 0x9A83: 0x566C,\n 0x9A84: 0x566A,\n 0x9A85: 0x5686,\n 0x9A86: 0x5680,\n 0x9A87: 0x568A,\n 0x9A88: 0x56A0,\n 0x9A89: 0x5694,\n 0x9A8A: 0x568F,\n 0x9A8B: 0x56A5,\n 0x9A8C: 0x56AE,\n 0x9A8D: 0x56B6,\n 0x9A8E: 0x56B4,\n 0x9A8F: 0x56C2,\n 0x9A90: 0x56BC,\n 0x9A91: 0x56C1,\n 0x9A92: 0x56C3,\n 0x9A93: 0x56C0,\n 0x9A94: 0x56C8,\n 0x9A95: 0x56CE,\n 0x9A96: 0x56D1,\n 0x9A97: 0x56D3,\n 0x9A98: 0x56D7,\n 0x9A99: 0x56EE,\n 0x9A9A: 0x56F9,\n 0x9A9B: 0x5700,\n 0x9A9C: 0x56FF,\n 0x9A9D: 0x5704,\n 0x9A9E: 0x5709,\n 0x9A9F: 0x5708,\n 0x9AA0: 0x570B,\n 0x9AA1: 0x570D,\n 0x9AA2: 0x5713,\n 0x9AA3: 0x5718,\n 0x9AA4: 0x5716,\n 0x9AA5: 0x55C7,\n 0x9AA6: 0x571C,\n 0x9AA7: 0x5726,\n 0x9AA8: 0x5737,\n 0x9AA9: 0x5738,\n 0x9AAA: 0x574E,\n 0x9AAB: 0x573B,\n 0x9AAC: 0x5740,\n 0x9AAD: 0x574F,\n 0x9AAE: 0x5769,\n 0x9AAF: 0x57C0,\n 0x9AB0: 0x5788,\n 0x9AB1: 0x5761,\n 0x9AB2: 0x577F,\n 0x9AB3: 0x5789,\n 0x9AB4: 0x5793,\n 0x9AB5: 0x57A0,\n 0x9AB6: 0x57B3,\n 0x9AB7: 0x57A4,\n 0x9AB8: 0x57AA,\n 0x9AB9: 0x57B0,\n 0x9ABA: 0x57C3,\n 0x9ABB: 0x57C6,\n 0x9ABC: 0x57D4,\n 0x9ABD: 0x57D2,\n 0x9ABE: 0x57D3,\n 0x9ABF: 0x580A,\n 0x9AC0: 0x57D6,\n 0x9AC1: 0x57E3,\n 0x9AC2: 0x580B,\n 0x9AC3: 0x5819,\n 0x9AC4: 0x581D,\n 0x9AC5: 0x5872,\n 0x9AC6: 0x5821,\n 0x9AC7: 0x5862,\n 0x9AC8: 0x584B,\n 0x9AC9: 0x5870,\n 0x9ACA: 0x6BC0,\n 0x9ACB: 0x5852,\n 0x9ACC: 0x583D,\n 0x9ACD: 0x5879,\n 0x9ACE: 0x5885,\n 0x9ACF: 0x58B9,\n 0x9AD0: 0x589F,\n 0x9AD1: 0x58AB,\n 0x9AD2: 0x58BA,\n 0x9AD3: 0x58DE,\n 0x9AD4: 0x58BB,\n 0x9AD5: 0x58B8,\n 0x9AD6: 0x58AE,\n 0x9AD7: 0x58C5,\n 0x9AD8: 0x58D3,\n 0x9AD9: 0x58D1,\n 0x9ADA: 0x58D7,\n 0x9ADB: 0x58D9,\n 0x9ADC: 0x58D8,\n 0x9ADD: 0x58E5,\n 0x9ADE: 0x58DC,\n 0x9ADF: 0x58E4,\n 0x9AE0: 0x58DF,\n 0x9AE1: 0x58EF,\n 0x9AE2: 0x58FA,\n 0x9AE3: 0x58F9,\n 0x9AE4: 0x58FB,\n 0x9AE5: 0x58FC,\n 0x9AE6: 0x58FD,\n 0x9AE7: 0x5902,\n 0x9AE8: 0x590A,\n 0x9AE9: 0x5910,\n 0x9AEA: 0x591B,\n 0x9AEB: 0x68A6,\n 0x9AEC: 0x5925,\n 0x9AED: 0x592C,\n 0x9AEE: 0x592D,\n 0x9AEF: 0x5932,\n 0x9AF0: 0x5938,\n 0x9AF1: 0x593E,\n 0x9AF2: 0x7AD2,\n 0x9AF3: 0x5955,\n 0x9AF4: 0x5950,\n 0x9AF5: 0x594E,\n 0x9AF6: 0x595A,\n 0x9AF7: 0x5958,\n 0x9AF8: 0x5962,\n 0x9AF9: 0x5960,\n 0x9AFA: 0x5967,\n 0x9AFB: 0x596C,\n 0x9AFC: 0x5969,\n 0x9B40: 0x5978,\n 0x9B41: 0x5981,\n 0x9B42: 0x599D,\n 0x9B43: 0x4F5E,\n 0x9B44: 0x4FAB,\n 0x9B45: 0x59A3,\n 0x9B46: 0x59B2,\n 0x9B47: 0x59C6,\n 0x9B48: 0x59E8,\n 0x9B49: 0x59DC,\n 0x9B4A: 0x598D,\n 0x9B4B: 0x59D9,\n 0x9B4C: 0x59DA,\n 0x9B4D: 0x5A25,\n 0x9B4E: 0x5A1F,\n 0x9B4F: 0x5A11,\n 0x9B50: 0x5A1C,\n 0x9B51: 0x5A09,\n 0x9B52: 0x5A1A,\n 0x9B53: 0x5A40,\n 0x9B54: 0x5A6C,\n 0x9B55: 0x5A49,\n 0x9B56: 0x5A35,\n 0x9B57: 0x5A36,\n 0x9B58: 0x5A62,\n 0x9B59: 0x5A6A,\n 0x9B5A: 0x5A9A,\n 0x9B5B: 0x5ABC,\n 0x9B5C: 0x5ABE,\n 0x9B5D: 0x5ACB,\n 0x9B5E: 0x5AC2,\n 0x9B5F: 0x5ABD,\n 0x9B60: 0x5AE3,\n 0x9B61: 0x5AD7,\n 0x9B62: 0x5AE6,\n 0x9B63: 0x5AE9,\n 0x9B64: 0x5AD6,\n 0x9B65: 0x5AFA,\n 0x9B66: 0x5AFB,\n 0x9B67: 0x5B0C,\n 0x9B68: 0x5B0B,\n 0x9B69: 0x5B16,\n 0x9B6A: 0x5B32,\n 0x9B6B: 0x5AD0,\n 0x9B6C: 0x5B2A,\n 0x9B6D: 0x5B36,\n 0x9B6E: 0x5B3E,\n 0x9B6F: 0x5B43,\n 0x9B70: 0x5B45,\n 0x9B71: 0x5B40,\n 0x9B72: 0x5B51,\n 0x9B73: 0x5B55,\n 0x9B74: 0x5B5A,\n 0x9B75: 0x5B5B,\n 0x9B76: 0x5B65,\n 0x9B77: 0x5B69,\n 0x9B78: 0x5B70,\n 0x9B79: 0x5B73,\n 0x9B7A: 0x5B75,\n 0x9B7B: 0x5B78,\n 0x9B7C: 0x6588,\n 0x9B7D: 0x5B7A,\n 0x9B7E: 0x5B80,\n 0x9B80: 0x5B83,\n 0x9B81: 0x5BA6,\n 0x9B82: 0x5BB8,\n 0x9B83: 0x5BC3,\n 0x9B84: 0x5BC7,\n 0x9B85: 0x5BC9,\n 0x9B86: 0x5BD4,\n 0x9B87: 0x5BD0,\n 0x9B88: 0x5BE4,\n 0x9B89: 0x5BE6,\n 0x9B8A: 0x5BE2,\n 0x9B8B: 0x5BDE,\n 0x9B8C: 0x5BE5,\n 0x9B8D: 0x5BEB,\n 0x9B8E: 0x5BF0,\n 0x9B8F: 0x5BF6,\n 0x9B90: 0x5BF3,\n 0x9B91: 0x5C05,\n 0x9B92: 0x5C07,\n 0x9B93: 0x5C08,\n 0x9B94: 0x5C0D,\n 0x9B95: 0x5C13,\n 0x9B96: 0x5C20,\n 0x9B97: 0x5C22,\n 0x9B98: 0x5C28,\n 0x9B99: 0x5C38,\n 0x9B9A: 0x5C39,\n 0x9B9B: 0x5C41,\n 0x9B9C: 0x5C46,\n 0x9B9D: 0x5C4E,\n 0x9B9E: 0x5C53,\n 0x9B9F: 0x5C50,\n 0x9BA0: 0x5C4F,\n 0x9BA1: 0x5B71,\n 0x9BA2: 0x5C6C,\n 0x9BA3: 0x5C6E,\n 0x9BA4: 0x4E62,\n 0x9BA5: 0x5C76,\n 0x9BA6: 0x5C79,\n 0x9BA7: 0x5C8C,\n 0x9BA8: 0x5C91,\n 0x9BA9: 0x5C94,\n 0x9BAA: 0x599B,\n 0x9BAB: 0x5CAB,\n 0x9BAC: 0x5CBB,\n 0x9BAD: 0x5CB6,\n 0x9BAE: 0x5CBC,\n 0x9BAF: 0x5CB7,\n 0x9BB0: 0x5CC5,\n 0x9BB1: 0x5CBE,\n 0x9BB2: 0x5CC7,\n 0x9BB3: 0x5CD9,\n 0x9BB4: 0x5CE9,\n 0x9BB5: 0x5CFD,\n 0x9BB6: 0x5CFA,\n 0x9BB7: 0x5CED,\n 0x9BB8: 0x5D8C,\n 0x9BB9: 0x5CEA,\n 0x9BBA: 0x5D0B,\n 0x9BBB: 0x5D15,\n 0x9BBC: 0x5D17,\n 0x9BBD: 0x5D5C,\n 0x9BBE: 0x5D1F,\n 0x9BBF: 0x5D1B,\n 0x9BC0: 0x5D11,\n 0x9BC1: 0x5D14,\n 0x9BC2: 0x5D22,\n 0x9BC3: 0x5D1A,\n 0x9BC4: 0x5D19,\n 0x9BC5: 0x5D18,\n 0x9BC6: 0x5D4C,\n 0x9BC7: 0x5D52,\n 0x9BC8: 0x5D4E,\n 0x9BC9: 0x5D4B,\n 0x9BCA: 0x5D6C,\n 0x9BCB: 0x5D73,\n 0x9BCC: 0x5D76,\n 0x9BCD: 0x5D87,\n 0x9BCE: 0x5D84,\n 0x9BCF: 0x5D82,\n 0x9BD0: 0x5DA2,\n 0x9BD1: 0x5D9D,\n 0x9BD2: 0x5DAC,\n 0x9BD3: 0x5DAE,\n 0x9BD4: 0x5DBD,\n 0x9BD5: 0x5D90,\n 0x9BD6: 0x5DB7,\n 0x9BD7: 0x5DBC,\n 0x9BD8: 0x5DC9,\n 0x9BD9: 0x5DCD,\n 0x9BDA: 0x5DD3,\n 0x9BDB: 0x5DD2,\n 0x9BDC: 0x5DD6,\n 0x9BDD: 0x5DDB,\n 0x9BDE: 0x5DEB,\n 0x9BDF: 0x5DF2,\n 0x9BE0: 0x5DF5,\n 0x9BE1: 0x5E0B,\n 0x9BE2: 0x5E1A,\n 0x9BE3: 0x5E19,\n 0x9BE4: 0x5E11,\n 0x9BE5: 0x5E1B,\n 0x9BE6: 0x5E36,\n 0x9BE7: 0x5E37,\n 0x9BE8: 0x5E44,\n 0x9BE9: 0x5E43,\n 0x9BEA: 0x5E40,\n 0x9BEB: 0x5E4E,\n 0x9BEC: 0x5E57,\n 0x9BED: 0x5E54,\n 0x9BEE: 0x5E5F,\n 0x9BEF: 0x5E62,\n 0x9BF0: 0x5E64,\n 0x9BF1: 0x5E47,\n 0x9BF2: 0x5E75,\n 0x9BF3: 0x5E76,\n 0x9BF4: 0x5E7A,\n 0x9BF5: 0x9EBC,\n 0x9BF6: 0x5E7F,\n 0x9BF7: 0x5EA0,\n 0x9BF8: 0x5EC1,\n 0x9BF9: 0x5EC2,\n 0x9BFA: 0x5EC8,\n 0x9BFB: 0x5ED0,\n 0x9BFC: 0x5ECF,\n 0x9C40: 0x5ED6,\n 0x9C41: 0x5EE3,\n 0x9C42: 0x5EDD,\n 0x9C43: 0x5EDA,\n 0x9C44: 0x5EDB,\n 0x9C45: 0x5EE2,\n 0x9C46: 0x5EE1,\n 0x9C47: 0x5EE8,\n 0x9C48: 0x5EE9,\n 0x9C49: 0x5EEC,\n 0x9C4A: 0x5EF1,\n 0x9C4B: 0x5EF3,\n 0x9C4C: 0x5EF0,\n 0x9C4D: 0x5EF4,\n 0x9C4E: 0x5EF8,\n 0x9C4F: 0x5EFE,\n 0x9C50: 0x5F03,\n 0x9C51: 0x5F09,\n 0x9C52: 0x5F5D,\n 0x9C53: 0x5F5C,\n 0x9C54: 0x5F0B,\n 0x9C55: 0x5F11,\n 0x9C56: 0x5F16,\n 0x9C57: 0x5F29,\n 0x9C58: 0x5F2D,\n 0x9C59: 0x5F38,\n 0x9C5A: 0x5F41,\n 0x9C5B: 0x5F48,\n 0x9C5C: 0x5F4C,\n 0x9C5D: 0x5F4E,\n 0x9C5E: 0x5F2F,\n 0x9C5F: 0x5F51,\n 0x9C60: 0x5F56,\n 0x9C61: 0x5F57,\n 0x9C62: 0x5F59,\n 0x9C63: 0x5F61,\n 0x9C64: 0x5F6D,\n 0x9C65: 0x5F73,\n 0x9C66: 0x5F77,\n 0x9C67: 0x5F83,\n 0x9C68: 0x5F82,\n 0x9C69: 0x5F7F,\n 0x9C6A: 0x5F8A,\n 0x9C6B: 0x5F88,\n 0x9C6C: 0x5F91,\n 0x9C6D: 0x5F87,\n 0x9C6E: 0x5F9E,\n 0x9C6F: 0x5F99,\n 0x9C70: 0x5F98,\n 0x9C71: 0x5FA0,\n 0x9C72: 0x5FA8,\n 0x9C73: 0x5FAD,\n 0x9C74: 0x5FBC,\n 0x9C75: 0x5FD6,\n 0x9C76: 0x5FFB,\n 0x9C77: 0x5FE4,\n 0x9C78: 0x5FF8,\n 0x9C79: 0x5FF1,\n 0x9C7A: 0x5FDD,\n 0x9C7B: 0x60B3,\n 0x9C7C: 0x5FFF,\n 0x9C7D: 0x6021,\n 0x9C7E: 0x6060,\n 0x9C80: 0x6019,\n 0x9C81: 0x6010,\n 0x9C82: 0x6029,\n 0x9C83: 0x600E,\n 0x9C84: 0x6031,\n 0x9C85: 0x601B,\n 0x9C86: 0x6015,\n 0x9C87: 0x602B,\n 0x9C88: 0x6026,\n 0x9C89: 0x600F,\n 0x9C8A: 0x603A,\n 0x9C8B: 0x605A,\n 0x9C8C: 0x6041,\n 0x9C8D: 0x606A,\n 0x9C8E: 0x6077,\n 0x9C8F: 0x605F,\n 0x9C90: 0x604A,\n 0x9C91: 0x6046,\n 0x9C92: 0x604D,\n 0x9C93: 0x6063,\n 0x9C94: 0x6043,\n 0x9C95: 0x6064,\n 0x9C96: 0x6042,\n 0x9C97: 0x606C,\n 0x9C98: 0x606B,\n 0x9C99: 0x6059,\n 0x9C9A: 0x6081,\n 0x9C9B: 0x608D,\n 0x9C9C: 0x60E7,\n 0x9C9D: 0x6083,\n 0x9C9E: 0x609A,\n 0x9C9F: 0x6084,\n 0x9CA0: 0x609B,\n 0x9CA1: 0x6096,\n 0x9CA2: 0x6097,\n 0x9CA3: 0x6092,\n 0x9CA4: 0x60A7,\n 0x9CA5: 0x608B,\n 0x9CA6: 0x60E1,\n 0x9CA7: 0x60B8,\n 0x9CA8: 0x60E0,\n 0x9CA9: 0x60D3,\n 0x9CAA: 0x60B4,\n 0x9CAB: 0x5FF0,\n 0x9CAC: 0x60BD,\n 0x9CAD: 0x60C6,\n 0x9CAE: 0x60B5,\n 0x9CAF: 0x60D8,\n 0x9CB0: 0x614D,\n 0x9CB1: 0x6115,\n 0x9CB2: 0x6106,\n 0x9CB3: 0x60F6,\n 0x9CB4: 0x60F7,\n 0x9CB5: 0x6100,\n 0x9CB6: 0x60F4,\n 0x9CB7: 0x60FA,\n 0x9CB8: 0x6103,\n 0x9CB9: 0x6121,\n 0x9CBA: 0x60FB,\n 0x9CBB: 0x60F1,\n 0x9CBC: 0x610D,\n 0x9CBD: 0x610E,\n 0x9CBE: 0x6147,\n 0x9CBF: 0x613E,\n 0x9CC0: 0x6128,\n 0x9CC1: 0x6127,\n 0x9CC2: 0x614A,\n 0x9CC3: 0x613F,\n 0x9CC4: 0x613C,\n 0x9CC5: 0x612C,\n 0x9CC6: 0x6134,\n 0x9CC7: 0x613D,\n 0x9CC8: 0x6142,\n 0x9CC9: 0x6144,\n 0x9CCA: 0x6173,\n 0x9CCB: 0x6177,\n 0x9CCC: 0x6158,\n 0x9CCD: 0x6159,\n 0x9CCE: 0x615A,\n 0x9CCF: 0x616B,\n 0x9CD0: 0x6174,\n 0x9CD1: 0x616F,\n 0x9CD2: 0x6165,\n 0x9CD3: 0x6171,\n 0x9CD4: 0x615F,\n 0x9CD5: 0x615D,\n 0x9CD6: 0x6153,\n 0x9CD7: 0x6175,\n 0x9CD8: 0x6199,\n 0x9CD9: 0x6196,\n 0x9CDA: 0x6187,\n 0x9CDB: 0x61AC,\n 0x9CDC: 0x6194,\n 0x9CDD: 0x619A,\n 0x9CDE: 0x618A,\n 0x9CDF: 0x6191,\n 0x9CE0: 0x61AB,\n 0x9CE1: 0x61AE,\n 0x9CE2: 0x61CC,\n 0x9CE3: 0x61CA,\n 0x9CE4: 0x61C9,\n 0x9CE5: 0x61F7,\n 0x9CE6: 0x61C8,\n 0x9CE7: 0x61C3,\n 0x9CE8: 0x61C6,\n 0x9CE9: 0x61BA,\n 0x9CEA: 0x61CB,\n 0x9CEB: 0x7F79,\n 0x9CEC: 0x61CD,\n 0x9CED: 0x61E6,\n 0x9CEE: 0x61E3,\n 0x9CEF: 0x61F6,\n 0x9CF0: 0x61FA,\n 0x9CF1: 0x61F4,\n 0x9CF2: 0x61FF,\n 0x9CF3: 0x61FD,\n 0x9CF4: 0x61FC,\n 0x9CF5: 0x61FE,\n 0x9CF6: 0x6200,\n 0x9CF7: 0x6208,\n 0x9CF8: 0x6209,\n 0x9CF9: 0x620D,\n 0x9CFA: 0x620C,\n 0x9CFB: 0x6214,\n 0x9CFC: 0x621B,\n 0x9D40: 0x621E,\n 0x9D41: 0x6221,\n 0x9D42: 0x622A,\n 0x9D43: 0x622E,\n 0x9D44: 0x6230,\n 0x9D45: 0x6232,\n 0x9D46: 0x6233,\n 0x9D47: 0x6241,\n 0x9D48: 0x624E,\n 0x9D49: 0x625E,\n 0x9D4A: 0x6263,\n 0x9D4B: 0x625B,\n 0x9D4C: 0x6260,\n 0x9D4D: 0x6268,\n 0x9D4E: 0x627C,\n 0x9D4F: 0x6282,\n 0x9D50: 0x6289,\n 0x9D51: 0x627E,\n 0x9D52: 0x6292,\n 0x9D53: 0x6293,\n 0x9D54: 0x6296,\n 0x9D55: 0x62D4,\n 0x9D56: 0x6283,\n 0x9D57: 0x6294,\n 0x9D58: 0x62D7,\n 0x9D59: 0x62D1,\n 0x9D5A: 0x62BB,\n 0x9D5B: 0x62CF,\n 0x9D5C: 0x62FF,\n 0x9D5D: 0x62C6,\n 0x9D5E: 0x64D4,\n 0x9D5F: 0x62C8,\n 0x9D60: 0x62DC,\n 0x9D61: 0x62CC,\n 0x9D62: 0x62CA,\n 0x9D63: 0x62C2,\n 0x9D64: 0x62C7,\n 0x9D65: 0x629B,\n 0x9D66: 0x62C9,\n 0x9D67: 0x630C,\n 0x9D68: 0x62EE,\n 0x9D69: 0x62F1,\n 0x9D6A: 0x6327,\n 0x9D6B: 0x6302,\n 0x9D6C: 0x6308,\n 0x9D6D: 0x62EF,\n 0x9D6E: 0x62F5,\n 0x9D6F: 0x6350,\n 0x9D70: 0x633E,\n 0x9D71: 0x634D,\n 0x9D72: 0x641C,\n 0x9D73: 0x634F,\n 0x9D74: 0x6396,\n 0x9D75: 0x638E,\n 0x9D76: 0x6380,\n 0x9D77: 0x63AB,\n 0x9D78: 0x6376,\n 0x9D79: 0x63A3,\n 0x9D7A: 0x638F,\n 0x9D7B: 0x6389,\n 0x9D7C: 0x639F,\n 0x9D7D: 0x63B5,\n 0x9D7E: 0x636B,\n 0x9D80: 0x6369,\n 0x9D81: 0x63BE,\n 0x9D82: 0x63E9,\n 0x9D83: 0x63C0,\n 0x9D84: 0x63C6,\n 0x9D85: 0x63E3,\n 0x9D86: 0x63C9,\n 0x9D87: 0x63D2,\n 0x9D88: 0x63F6,\n 0x9D89: 0x63C4,\n 0x9D8A: 0x6416,\n 0x9D8B: 0x6434,\n 0x9D8C: 0x6406,\n 0x9D8D: 0x6413,\n 0x9D8E: 0x6426,\n 0x9D8F: 0x6436,\n 0x9D90: 0x651D,\n 0x9D91: 0x6417,\n 0x9D92: 0x6428,\n 0x9D93: 0x640F,\n 0x9D94: 0x6467,\n 0x9D95: 0x646F,\n 0x9D96: 0x6476,\n 0x9D97: 0x644E,\n 0x9D98: 0x652A,\n 0x9D99: 0x6495,\n 0x9D9A: 0x6493,\n 0x9D9B: 0x64A5,\n 0x9D9C: 0x64A9,\n 0x9D9D: 0x6488,\n 0x9D9E: 0x64BC,\n 0x9D9F: 0x64DA,\n 0x9DA0: 0x64D2,\n 0x9DA1: 0x64C5,\n 0x9DA2: 0x64C7,\n 0x9DA3: 0x64BB,\n 0x9DA4: 0x64D8,\n 0x9DA5: 0x64C2,\n 0x9DA6: 0x64F1,\n 0x9DA7: 0x64E7,\n 0x9DA8: 0x8209,\n 0x9DA9: 0x64E0,\n 0x9DAA: 0x64E1,\n 0x9DAB: 0x62AC,\n 0x9DAC: 0x64E3,\n 0x9DAD: 0x64EF,\n 0x9DAE: 0x652C,\n 0x9DAF: 0x64F6,\n 0x9DB0: 0x64F4,\n 0x9DB1: 0x64F2,\n 0x9DB2: 0x64FA,\n 0x9DB3: 0x6500,\n 0x9DB4: 0x64FD,\n 0x9DB5: 0x6518,\n 0x9DB6: 0x651C,\n 0x9DB7: 0x6505,\n 0x9DB8: 0x6524,\n 0x9DB9: 0x6523,\n 0x9DBA: 0x652B,\n 0x9DBB: 0x6534,\n 0x9DBC: 0x6535,\n 0x9DBD: 0x6537,\n 0x9DBE: 0x6536,\n 0x9DBF: 0x6538,\n 0x9DC0: 0x754B,\n 0x9DC1: 0x6548,\n 0x9DC2: 0x6556,\n 0x9DC3: 0x6555,\n 0x9DC4: 0x654D,\n 0x9DC5: 0x6558,\n 0x9DC6: 0x655E,\n 0x9DC7: 0x655D,\n 0x9DC8: 0x6572,\n 0x9DC9: 0x6578,\n 0x9DCA: 0x6582,\n 0x9DCB: 0x6583,\n 0x9DCC: 0x8B8A,\n 0x9DCD: 0x659B,\n 0x9DCE: 0x659F,\n 0x9DCF: 0x65AB,\n 0x9DD0: 0x65B7,\n 0x9DD1: 0x65C3,\n 0x9DD2: 0x65C6,\n 0x9DD3: 0x65C1,\n 0x9DD4: 0x65C4,\n 0x9DD5: 0x65CC,\n 0x9DD6: 0x65D2,\n 0x9DD7: 0x65DB,\n 0x9DD8: 0x65D9,\n 0x9DD9: 0x65E0,\n 0x9DDA: 0x65E1,\n 0x9DDB: 0x65F1,\n 0x9DDC: 0x6772,\n 0x9DDD: 0x660A,\n 0x9DDE: 0x6603,\n 0x9DDF: 0x65FB,\n 0x9DE0: 0x6773,\n 0x9DE1: 0x6635,\n 0x9DE2: 0x6636,\n 0x9DE3: 0x6634,\n 0x9DE4: 0x661C,\n 0x9DE5: 0x664F,\n 0x9DE6: 0x6644,\n 0x9DE7: 0x6649,\n 0x9DE8: 0x6641,\n 0x9DE9: 0x665E,\n 0x9DEA: 0x665D,\n 0x9DEB: 0x6664,\n 0x9DEC: 0x6667,\n 0x9DED: 0x6668,\n 0x9DEE: 0x665F,\n 0x9DEF: 0x6662,\n 0x9DF0: 0x6670,\n 0x9DF1: 0x6683,\n 0x9DF2: 0x6688,\n 0x9DF3: 0x668E,\n 0x9DF4: 0x6689,\n 0x9DF5: 0x6684,\n 0x9DF6: 0x6698,\n 0x9DF7: 0x669D,\n 0x9DF8: 0x66C1,\n 0x9DF9: 0x66B9,\n 0x9DFA: 0x66C9,\n 0x9DFB: 0x66BE,\n 0x9DFC: 0x66BC,\n 0x9E40: 0x66C4,\n 0x9E41: 0x66B8,\n 0x9E42: 0x66D6,\n 0x9E43: 0x66DA,\n 0x9E44: 0x66E0,\n 0x9E45: 0x663F,\n 0x9E46: 0x66E6,\n 0x9E47: 0x66E9,\n 0x9E48: 0x66F0,\n 0x9E49: 0x66F5,\n 0x9E4A: 0x66F7,\n 0x9E4B: 0x670F,\n 0x9E4C: 0x6716,\n 0x9E4D: 0x671E,\n 0x9E4E: 0x6726,\n 0x9E4F: 0x6727,\n 0x9E50: 0x9738,\n 0x9E51: 0x672E,\n 0x9E52: 0x673F,\n 0x9E53: 0x6736,\n 0x9E54: 0x6741,\n 0x9E55: 0x6738,\n 0x9E56: 0x6737,\n 0x9E57: 0x6746,\n 0x9E58: 0x675E,\n 0x9E59: 0x6760,\n 0x9E5A: 0x6759,\n 0x9E5B: 0x6763,\n 0x9E5C: 0x6764,\n 0x9E5D: 0x6789,\n 0x9E5E: 0x6770,\n 0x9E5F: 0x67A9,\n 0x9E60: 0x677C,\n 0x9E61: 0x676A,\n 0x9E62: 0x678C,\n 0x9E63: 0x678B,\n 0x9E64: 0x67A6,\n 0x9E65: 0x67A1,\n 0x9E66: 0x6785,\n 0x9E67: 0x67B7,\n 0x9E68: 0x67EF,\n 0x9E69: 0x67B4,\n 0x9E6A: 0x67EC,\n 0x9E6B: 0x67B3,\n 0x9E6C: 0x67E9,\n 0x9E6D: 0x67B8,\n 0x9E6E: 0x67E4,\n 0x9E6F: 0x67DE,\n 0x9E70: 0x67DD,\n 0x9E71: 0x67E2,\n 0x9E72: 0x67EE,\n 0x9E73: 0x67B9,\n 0x9E74: 0x67CE,\n 0x9E75: 0x67C6,\n 0x9E76: 0x67E7,\n 0x9E77: 0x6A9C,\n 0x9E78: 0x681E,\n 0x9E79: 0x6846,\n 0x9E7A: 0x6829,\n 0x9E7B: 0x6840,\n 0x9E7C: 0x684D,\n 0x9E7D: 0x6832,\n 0x9E7E: 0x684E,\n 0x9E80: 0x68B3,\n 0x9E81: 0x682B,\n 0x9E82: 0x6859,\n 0x9E83: 0x6863,\n 0x9E84: 0x6877,\n 0x9E85: 0x687F,\n 0x9E86: 0x689F,\n 0x9E87: 0x688F,\n 0x9E88: 0x68AD,\n 0x9E89: 0x6894,\n 0x9E8A: 0x689D,\n 0x9E8B: 0x689B,\n 0x9E8C: 0x6883,\n 0x9E8D: 0x6AAE,\n 0x9E8E: 0x68B9,\n 0x9E8F: 0x6874,\n 0x9E90: 0x68B5,\n 0x9E91: 0x68A0,\n 0x9E92: 0x68BA,\n 0x9E93: 0x690F,\n 0x9E94: 0x688D,\n 0x9E95: 0x687E,\n 0x9E96: 0x6901,\n 0x9E97: 0x68CA,\n 0x9E98: 0x6908,\n 0x9E99: 0x68D8,\n 0x9E9A: 0x6922,\n 0x9E9B: 0x6926,\n 0x9E9C: 0x68E1,\n 0x9E9D: 0x690C,\n 0x9E9E: 0x68CD,\n 0x9E9F: 0x68D4,\n 0x9EA0: 0x68E7,\n 0x9EA1: 0x68D5,\n 0x9EA2: 0x6936,\n 0x9EA3: 0x6912,\n 0x9EA4: 0x6904,\n 0x9EA5: 0x68D7,\n 0x9EA6: 0x68E3,\n 0x9EA7: 0x6925,\n 0x9EA8: 0x68F9,\n 0x9EA9: 0x68E0,\n 0x9EAA: 0x68EF,\n 0x9EAB: 0x6928,\n 0x9EAC: 0x692A,\n 0x9EAD: 0x691A,\n 0x9EAE: 0x6923,\n 0x9EAF: 0x6921,\n 0x9EB0: 0x68C6,\n 0x9EB1: 0x6979,\n 0x9EB2: 0x6977,\n 0x9EB3: 0x695C,\n 0x9EB4: 0x6978,\n 0x9EB5: 0x696B,\n 0x9EB6: 0x6954,\n 0x9EB7: 0x697E,\n 0x9EB8: 0x696E,\n 0x9EB9: 0x6939,\n 0x9EBA: 0x6974,\n 0x9EBB: 0x693D,\n 0x9EBC: 0x6959,\n 0x9EBD: 0x6930,\n 0x9EBE: 0x6961,\n 0x9EBF: 0x695E,\n 0x9EC0: 0x695D,\n 0x9EC1: 0x6981,\n 0x9EC2: 0x696A,\n 0x9EC3: 0x69B2,\n 0x9EC4: 0x69AE,\n 0x9EC5: 0x69D0,\n 0x9EC6: 0x69BF,\n 0x9EC7: 0x69C1,\n 0x9EC8: 0x69D3,\n 0x9EC9: 0x69BE,\n 0x9ECA: 0x69CE,\n 0x9ECB: 0x5BE8,\n 0x9ECC: 0x69CA,\n 0x9ECD: 0x69DD,\n 0x9ECE: 0x69BB,\n 0x9ECF: 0x69C3,\n 0x9ED0: 0x69A7,\n 0x9ED1: 0x6A2E,\n 0x9ED2: 0x6991,\n 0x9ED3: 0x69A0,\n 0x9ED4: 0x699C,\n 0x9ED5: 0x6995,\n 0x9ED6: 0x69B4,\n 0x9ED7: 0x69DE,\n 0x9ED8: 0x69E8,\n 0x9ED9: 0x6A02,\n 0x9EDA: 0x6A1B,\n 0x9EDB: 0x69FF,\n 0x9EDC: 0x6B0A,\n 0x9EDD: 0x69F9,\n 0x9EDE: 0x69F2,\n 0x9EDF: 0x69E7,\n 0x9EE0: 0x6A05,\n 0x9EE1: 0x69B1,\n 0x9EE2: 0x6A1E,\n 0x9EE3: 0x69ED,\n 0x9EE4: 0x6A14,\n 0x9EE5: 0x69EB,\n 0x9EE6: 0x6A0A,\n 0x9EE7: 0x6A12,\n 0x9EE8: 0x6AC1,\n 0x9EE9: 0x6A23,\n 0x9EEA: 0x6A13,\n 0x9EEB: 0x6A44,\n 0x9EEC: 0x6A0C,\n 0x9EED: 0x6A72,\n 0x9EEE: 0x6A36,\n 0x9EEF: 0x6A78,\n 0x9EF0: 0x6A47,\n 0x9EF1: 0x6A62,\n 0x9EF2: 0x6A59,\n 0x9EF3: 0x6A66,\n 0x9EF4: 0x6A48,\n 0x9EF5: 0x6A38,\n 0x9EF6: 0x6A22,\n 0x9EF7: 0x6A90,\n 0x9EF8: 0x6A8D,\n 0x9EF9: 0x6AA0,\n 0x9EFA: 0x6A84,\n 0x9EFB: 0x6AA2,\n 0x9EFC: 0x6AA3,\n 0x9F40: 0x6A97,\n 0x9F41: 0x8617,\n 0x9F42: 0x6ABB,\n 0x9F43: 0x6AC3,\n 0x9F44: 0x6AC2,\n 0x9F45: 0x6AB8,\n 0x9F46: 0x6AB3,\n 0x9F47: 0x6AAC,\n 0x9F48: 0x6ADE,\n 0x9F49: 0x6AD1,\n 0x9F4A: 0x6ADF,\n 0x9F4B: 0x6AAA,\n 0x9F4C: 0x6ADA,\n 0x9F4D: 0x6AEA,\n 0x9F4E: 0x6AFB,\n 0x9F4F: 0x6B05,\n 0x9F50: 0x8616,\n 0x9F51: 0x6AFA,\n 0x9F52: 0x6B12,\n 0x9F53: 0x6B16,\n 0x9F54: 0x9B31,\n 0x9F55: 0x6B1F,\n 0x9F56: 0x6B38,\n 0x9F57: 0x6B37,\n 0x9F58: 0x76DC,\n 0x9F59: 0x6B39,\n 0x9F5A: 0x98EE,\n 0x9F5B: 0x6B47,\n 0x9F5C: 0x6B43,\n 0x9F5D: 0x6B49,\n 0x9F5E: 0x6B50,\n 0x9F5F: 0x6B59,\n 0x9F60: 0x6B54,\n 0x9F61: 0x6B5B,\n 0x9F62: 0x6B5F,\n 0x9F63: 0x6B61,\n 0x9F64: 0x6B78,\n 0x9F65: 0x6B79,\n 0x9F66: 0x6B7F,\n 0x9F67: 0x6B80,\n 0x9F68: 0x6B84,\n 0x9F69: 0x6B83,\n 0x9F6A: 0x6B8D,\n 0x9F6B: 0x6B98,\n 0x9F6C: 0x6B95,\n 0x9F6D: 0x6B9E,\n 0x9F6E: 0x6BA4,\n 0x9F6F: 0x6BAA,\n 0x9F70: 0x6BAB,\n 0x9F71: 0x6BAF,\n 0x9F72: 0x6BB2,\n 0x9F73: 0x6BB1,\n 0x9F74: 0x6BB3,\n 0x9F75: 0x6BB7,\n 0x9F76: 0x6BBC,\n 0x9F77: 0x6BC6,\n 0x9F78: 0x6BCB,\n 0x9F79: 0x6BD3,\n 0x9F7A: 0x6BDF,\n 0x9F7B: 0x6BEC,\n 0x9F7C: 0x6BEB,\n 0x9F7D: 0x6BF3,\n 0x9F7E: 0x6BEF,\n 0x9F80: 0x9EBE,\n 0x9F81: 0x6C08,\n 0x9F82: 0x6C13,\n 0x9F83: 0x6C14,\n 0x9F84: 0x6C1B,\n 0x9F85: 0x6C24,\n 0x9F86: 0x6C23,\n 0x9F87: 0x6C5E,\n 0x9F88: 0x6C55,\n 0x9F89: 0x6C62,\n 0x9F8A: 0x6C6A,\n 0x9F8B: 0x6C82,\n 0x9F8C: 0x6C8D,\n 0x9F8D: 0x6C9A,\n 0x9F8E: 0x6C81,\n 0x9F8F: 0x6C9B,\n 0x9F90: 0x6C7E,\n 0x9F91: 0x6C68,\n 0x9F92: 0x6C73,\n 0x9F93: 0x6C92,\n 0x9F94: 0x6C90,\n 0x9F95: 0x6CC4,\n 0x9F96: 0x6CF1,\n 0x9F97: 0x6CD3,\n 0x9F98: 0x6CBD,\n 0x9F99: 0x6CD7,\n 0x9F9A: 0x6CC5,\n 0x9F9B: 0x6CDD,\n 0x9F9C: 0x6CAE,\n 0x9F9D: 0x6CB1,\n 0x9F9E: 0x6CBE,\n 0x9F9F: 0x6CBA,\n 0x9FA0: 0x6CDB,\n 0x9FA1: 0x6CEF,\n 0x9FA2: 0x6CD9,\n 0x9FA3: 0x6CEA,\n 0x9FA4: 0x6D1F,\n 0x9FA5: 0x884D,\n 0x9FA6: 0x6D36,\n 0x9FA7: 0x6D2B,\n 0x9FA8: 0x6D3D,\n 0x9FA9: 0x6D38,\n 0x9FAA: 0x6D19,\n 0x9FAB: 0x6D35,\n 0x9FAC: 0x6D33,\n 0x9FAD: 0x6D12,\n 0x9FAE: 0x6D0C,\n 0x9FAF: 0x6D63,\n 0x9FB0: 0x6D93,\n 0x9FB1: 0x6D64,\n 0x9FB2: 0x6D5A,\n 0x9FB3: 0x6D79,\n 0x9FB4: 0x6D59,\n 0x9FB5: 0x6D8E,\n 0x9FB6: 0x6D95,\n 0x9FB7: 0x6FE4,\n 0x9FB8: 0x6D85,\n 0x9FB9: 0x6DF9,\n 0x9FBA: 0x6E15,\n 0x9FBB: 0x6E0A,\n 0x9FBC: 0x6DB5,\n 0x9FBD: 0x6DC7,\n 0x9FBE: 0x6DE6,\n 0x9FBF: 0x6DB8,\n 0x9FC0: 0x6DC6,\n 0x9FC1: 0x6DEC,\n 0x9FC2: 0x6DDE,\n 0x9FC3: 0x6DCC,\n 0x9FC4: 0x6DE8,\n 0x9FC5: 0x6DD2,\n 0x9FC6: 0x6DC5,\n 0x9FC7: 0x6DFA,\n 0x9FC8: 0x6DD9,\n 0x9FC9: 0x6DE4,\n 0x9FCA: 0x6DD5,\n 0x9FCB: 0x6DEA,\n 0x9FCC: 0x6DEE,\n 0x9FCD: 0x6E2D,\n 0x9FCE: 0x6E6E,\n 0x9FCF: 0x6E2E,\n 0x9FD0: 0x6E19,\n 0x9FD1: 0x6E72,\n 0x9FD2: 0x6E5F,\n 0x9FD3: 0x6E3E,\n 0x9FD4: 0x6E23,\n 0x9FD5: 0x6E6B,\n 0x9FD6: 0x6E2B,\n 0x9FD7: 0x6E76,\n 0x9FD8: 0x6E4D,\n 0x9FD9: 0x6E1F,\n 0x9FDA: 0x6E43,\n 0x9FDB: 0x6E3A,\n 0x9FDC: 0x6E4E,\n 0x9FDD: 0x6E24,\n 0x9FDE: 0x6EFF,\n 0x9FDF: 0x6E1D,\n 0x9FE0: 0x6E38,\n 0x9FE1: 0x6E82,\n 0x9FE2: 0x6EAA,\n 0x9FE3: 0x6E98,\n 0x9FE4: 0x6EC9,\n 0x9FE5: 0x6EB7,\n 0x9FE6: 0x6ED3,\n 0x9FE7: 0x6EBD,\n 0x9FE8: 0x6EAF,\n 0x9FE9: 0x6EC4,\n 0x9FEA: 0x6EB2,\n 0x9FEB: 0x6ED4,\n 0x9FEC: 0x6ED5,\n 0x9FED: 0x6E8F,\n 0x9FEE: 0x6EA5,\n 0x9FEF: 0x6EC2,\n 0x9FF0: 0x6E9F,\n 0x9FF1: 0x6F41,\n 0x9FF2: 0x6F11,\n 0x9FF3: 0x704C,\n 0x9FF4: 0x6EEC,\n 0x9FF5: 0x6EF8,\n 0x9FF6: 0x6EFE,\n 0x9FF7: 0x6F3F,\n 0x9FF8: 0x6EF2,\n 0x9FF9: 0x6F31,\n 0x9FFA: 0x6EEF,\n 0x9FFB: 0x6F32,\n 0x9FFC: 0x6ECC,\n 0xA1: 0xFF61,\n 0xA2: 0xFF62,\n 0xA3: 0xFF63,\n 0xA4: 0xFF64,\n 0xA5: 0xFF65,\n 0xA6: 0xFF66,\n 0xA7: 0xFF67,\n 0xA8: 0xFF68,\n 0xA9: 0xFF69,\n 0xAA: 0xFF6A,\n 0xAB: 0xFF6B,\n 0xAC: 0xFF6C,\n 0xAD: 0xFF6D,\n 0xAE: 0xFF6E,\n 0xAF: 0xFF6F,\n 0xB0: 0xFF70,\n 0xB1: 0xFF71,\n 0xB2: 0xFF72,\n 0xB3: 0xFF73,\n 0xB4: 0xFF74,\n 0xB5: 0xFF75,\n 0xB6: 0xFF76,\n 0xB7: 0xFF77,\n 0xB8: 0xFF78,\n 0xB9: 0xFF79,\n 0xBA: 0xFF7A,\n 0xBB: 0xFF7B,\n 0xBC: 0xFF7C,\n 0xBD: 0xFF7D,\n 0xBE: 0xFF7E,\n 0xBF: 0xFF7F,\n 0xC0: 0xFF80,\n 0xC1: 0xFF81,\n 0xC2: 0xFF82,\n 0xC3: 0xFF83,\n 0xC4: 0xFF84,\n 0xC5: 0xFF85,\n 0xC6: 0xFF86,\n 0xC7: 0xFF87,\n 0xC8: 0xFF88,\n 0xC9: 0xFF89,\n 0xCA: 0xFF8A,\n 0xCB: 0xFF8B,\n 0xCC: 0xFF8C,\n 0xCD: 0xFF8D,\n 0xCE: 0xFF8E,\n 0xCF: 0xFF8F,\n 0xD0: 0xFF90,\n 0xD1: 0xFF91,\n 0xD2: 0xFF92,\n 0xD3: 0xFF93,\n 0xD4: 0xFF94,\n 0xD5: 0xFF95,\n 0xD6: 0xFF96,\n 0xD7: 0xFF97,\n 0xD8: 0xFF98,\n 0xD9: 0xFF99,\n 0xDA: 0xFF9A,\n 0xDB: 0xFF9B,\n 0xDC: 0xFF9C,\n 0xDD: 0xFF9D,\n 0xDE: 0xFF9E,\n 0xDF: 0xFF9F,\n 0xE040: 0x6F3E,\n 0xE041: 0x6F13,\n 0xE042: 0x6EF7,\n 0xE043: 0x6F86,\n 0xE044: 0x6F7A,\n 0xE045: 0x6F78,\n 0xE046: 0x6F81,\n 0xE047: 0x6F80,\n 0xE048: 0x6F6F,\n 0xE049: 0x6F5B,\n 0xE04A: 0x6FF3,\n 0xE04B: 0x6F6D,\n 0xE04C: 0x6F82,\n 0xE04D: 0x6F7C,\n 0xE04E: 0x6F58,\n 0xE04F: 0x6F8E,\n 0xE050: 0x6F91,\n 0xE051: 0x6FC2,\n 0xE052: 0x6F66,\n 0xE053: 0x6FB3,\n 0xE054: 0x6FA3,\n 0xE055: 0x6FA1,\n 0xE056: 0x6FA4,\n 0xE057: 0x6FB9,\n 0xE058: 0x6FC6,\n 0xE059: 0x6FAA,\n 0xE05A: 0x6FDF,\n 0xE05B: 0x6FD5,\n 0xE05C: 0x6FEC,\n 0xE05D: 0x6FD4,\n 0xE05E: 0x6FD8,\n 0xE05F: 0x6FF1,\n 0xE060: 0x6FEE,\n 0xE061: 0x6FDB,\n 0xE062: 0x7009,\n 0xE063: 0x700B,\n 0xE064: 0x6FFA,\n 0xE065: 0x7011,\n 0xE066: 0x7001,\n 0xE067: 0x700F,\n 0xE068: 0x6FFE,\n 0xE069: 0x701B,\n 0xE06A: 0x701A,\n 0xE06B: 0x6F74,\n 0xE06C: 0x701D,\n 0xE06D: 0x7018,\n 0xE06E: 0x701F,\n 0xE06F: 0x7030,\n 0xE070: 0x703E,\n 0xE071: 0x7032,\n 0xE072: 0x7051,\n 0xE073: 0x7063,\n 0xE074: 0x7099,\n 0xE075: 0x7092,\n 0xE076: 0x70AF,\n 0xE077: 0x70F1,\n 0xE078: 0x70AC,\n 0xE079: 0x70B8,\n 0xE07A: 0x70B3,\n 0xE07B: 0x70AE,\n 0xE07C: 0x70DF,\n 0xE07D: 0x70CB,\n 0xE07E: 0x70DD,\n 0xE080: 0x70D9,\n 0xE081: 0x7109,\n 0xE082: 0x70FD,\n 0xE083: 0x711C,\n 0xE084: 0x7119,\n 0xE085: 0x7165,\n 0xE086: 0x7155,\n 0xE087: 0x7188,\n 0xE088: 0x7166,\n 0xE089: 0x7162,\n 0xE08A: 0x714C,\n 0xE08B: 0x7156,\n 0xE08C: 0x716C,\n 0xE08D: 0x718F,\n 0xE08E: 0x71FB,\n 0xE08F: 0x7184,\n 0xE090: 0x7195,\n 0xE091: 0x71A8,\n 0xE092: 0x71AC,\n 0xE093: 0x71D7,\n 0xE094: 0x71B9,\n 0xE095: 0x71BE,\n 0xE096: 0x71D2,\n 0xE097: 0x71C9,\n 0xE098: 0x71D4,\n 0xE099: 0x71CE,\n 0xE09A: 0x71E0,\n 0xE09B: 0x71EC,\n 0xE09C: 0x71E7,\n 0xE09D: 0x71F5,\n 0xE09E: 0x71FC,\n 0xE09F: 0x71F9,\n 0xE0A0: 0x71FF,\n 0xE0A1: 0x720D,\n 0xE0A2: 0x7210,\n 0xE0A3: 0x721B,\n 0xE0A4: 0x7228,\n 0xE0A5: 0x722D,\n 0xE0A6: 0x722C,\n 0xE0A7: 0x7230,\n 0xE0A8: 0x7232,\n 0xE0A9: 0x723B,\n 0xE0AA: 0x723C,\n 0xE0AB: 0x723F,\n 0xE0AC: 0x7240,\n 0xE0AD: 0x7246,\n 0xE0AE: 0x724B,\n 0xE0AF: 0x7258,\n 0xE0B0: 0x7274,\n 0xE0B1: 0x727E,\n 0xE0B2: 0x7282,\n 0xE0B3: 0x7281,\n 0xE0B4: 0x7287,\n 0xE0B5: 0x7292,\n 0xE0B6: 0x7296,\n 0xE0B7: 0x72A2,\n 0xE0B8: 0x72A7,\n 0xE0B9: 0x72B9,\n 0xE0BA: 0x72B2,\n 0xE0BB: 0x72C3,\n 0xE0BC: 0x72C6,\n 0xE0BD: 0x72C4,\n 0xE0BE: 0x72CE,\n 0xE0BF: 0x72D2,\n 0xE0C0: 0x72E2,\n 0xE0C1: 0x72E0,\n 0xE0C2: 0x72E1,\n 0xE0C3: 0x72F9,\n 0xE0C4: 0x72F7,\n 0xE0C5: 0x500F,\n 0xE0C6: 0x7317,\n 0xE0C7: 0x730A,\n 0xE0C8: 0x731C,\n 0xE0C9: 0x7316,\n 0xE0CA: 0x731D,\n 0xE0CB: 0x7334,\n 0xE0CC: 0x732F,\n 0xE0CD: 0x7329,\n 0xE0CE: 0x7325,\n 0xE0CF: 0x733E,\n 0xE0D0: 0x734E,\n 0xE0D1: 0x734F,\n 0xE0D2: 0x9ED8,\n 0xE0D3: 0x7357,\n 0xE0D4: 0x736A,\n 0xE0D5: 0x7368,\n 0xE0D6: 0x7370,\n 0xE0D7: 0x7378,\n 0xE0D8: 0x7375,\n 0xE0D9: 0x737B,\n 0xE0DA: 0x737A,\n 0xE0DB: 0x73C8,\n 0xE0DC: 0x73B3,\n 0xE0DD: 0x73CE,\n 0xE0DE: 0x73BB,\n 0xE0DF: 0x73C0,\n 0xE0E0: 0x73E5,\n 0xE0E1: 0x73EE,\n 0xE0E2: 0x73DE,\n 0xE0E3: 0x74A2,\n 0xE0E4: 0x7405,\n 0xE0E5: 0x746F,\n 0xE0E6: 0x7425,\n 0xE0E7: 0x73F8,\n 0xE0E8: 0x7432,\n 0xE0E9: 0x743A,\n 0xE0EA: 0x7455,\n 0xE0EB: 0x743F,\n 0xE0EC: 0x745F,\n 0xE0ED: 0x7459,\n 0xE0EE: 0x7441,\n 0xE0EF: 0x745C,\n 0xE0F0: 0x7469,\n 0xE0F1: 0x7470,\n 0xE0F2: 0x7463,\n 0xE0F3: 0x746A,\n 0xE0F4: 0x7476,\n 0xE0F5: 0x747E,\n 0xE0F6: 0x748B,\n 0xE0F7: 0x749E,\n 0xE0F8: 0x74A7,\n 0xE0F9: 0x74CA,\n 0xE0FA: 0x74CF,\n 0xE0FB: 0x74D4,\n 0xE0FC: 0x73F1,\n 0xE140: 0x74E0,\n 0xE141: 0x74E3,\n 0xE142: 0x74E7,\n 0xE143: 0x74E9,\n 0xE144: 0x74EE,\n 0xE145: 0x74F2,\n 0xE146: 0x74F0,\n 0xE147: 0x74F1,\n 0xE148: 0x74F8,\n 0xE149: 0x74F7,\n 0xE14A: 0x7504,\n 0xE14B: 0x7503,\n 0xE14C: 0x7505,\n 0xE14D: 0x750C,\n 0xE14E: 0x750E,\n 0xE14F: 0x750D,\n 0xE150: 0x7515,\n 0xE151: 0x7513,\n 0xE152: 0x751E,\n 0xE153: 0x7526,\n 0xE154: 0x752C,\n 0xE155: 0x753C,\n 0xE156: 0x7544,\n 0xE157: 0x754D,\n 0xE158: 0x754A,\n 0xE159: 0x7549,\n 0xE15A: 0x755B,\n 0xE15B: 0x7546,\n 0xE15C: 0x755A,\n 0xE15D: 0x7569,\n 0xE15E: 0x7564,\n 0xE15F: 0x7567,\n 0xE160: 0x756B,\n 0xE161: 0x756D,\n 0xE162: 0x7578,\n 0xE163: 0x7576,\n 0xE164: 0x7586,\n 0xE165: 0x7587,\n 0xE166: 0x7574,\n 0xE167: 0x758A,\n 0xE168: 0x7589,\n 0xE169: 0x7582,\n 0xE16A: 0x7594,\n 0xE16B: 0x759A,\n 0xE16C: 0x759D,\n 0xE16D: 0x75A5,\n 0xE16E: 0x75A3,\n 0xE16F: 0x75C2,\n 0xE170: 0x75B3,\n 0xE171: 0x75C3,\n 0xE172: 0x75B5,\n 0xE173: 0x75BD,\n 0xE174: 0x75B8,\n 0xE175: 0x75BC,\n 0xE176: 0x75B1,\n 0xE177: 0x75CD,\n 0xE178: 0x75CA,\n 0xE179: 0x75D2,\n 0xE17A: 0x75D9,\n 0xE17B: 0x75E3,\n 0xE17C: 0x75DE,\n 0xE17D: 0x75FE,\n 0xE17E: 0x75FF,\n 0xE180: 0x75FC,\n 0xE181: 0x7601,\n 0xE182: 0x75F0,\n 0xE183: 0x75FA,\n 0xE184: 0x75F2,\n 0xE185: 0x75F3,\n 0xE186: 0x760B,\n 0xE187: 0x760D,\n 0xE188: 0x7609,\n 0xE189: 0x761F,\n 0xE18A: 0x7627,\n 0xE18B: 0x7620,\n 0xE18C: 0x7621,\n 0xE18D: 0x7622,\n 0xE18E: 0x7624,\n 0xE18F: 0x7634,\n 0xE190: 0x7630,\n 0xE191: 0x763B,\n 0xE192: 0x7647,\n 0xE193: 0x7648,\n 0xE194: 0x7646,\n 0xE195: 0x765C,\n 0xE196: 0x7658,\n 0xE197: 0x7661,\n 0xE198: 0x7662,\n 0xE199: 0x7668,\n 0xE19A: 0x7669,\n 0xE19B: 0x766A,\n 0xE19C: 0x7667,\n 0xE19D: 0x766C,\n 0xE19E: 0x7670,\n 0xE19F: 0x7672,\n 0xE1A0: 0x7676,\n 0xE1A1: 0x7678,\n 0xE1A2: 0x767C,\n 0xE1A3: 0x7680,\n 0xE1A4: 0x7683,\n 0xE1A5: 0x7688,\n 0xE1A6: 0x768B,\n 0xE1A7: 0x768E,\n 0xE1A8: 0x7696,\n 0xE1A9: 0x7693,\n 0xE1AA: 0x7699,\n 0xE1AB: 0x769A,\n 0xE1AC: 0x76B0,\n 0xE1AD: 0x76B4,\n 0xE1AE: 0x76B8,\n 0xE1AF: 0x76B9,\n 0xE1B0: 0x76BA,\n 0xE1B1: 0x76C2,\n 0xE1B2: 0x76CD,\n 0xE1B3: 0x76D6,\n 0xE1B4: 0x76D2,\n 0xE1B5: 0x76DE,\n 0xE1B6: 0x76E1,\n 0xE1B7: 0x76E5,\n 0xE1B8: 0x76E7,\n 0xE1B9: 0x76EA,\n 0xE1BA: 0x862F,\n 0xE1BB: 0x76FB,\n 0xE1BC: 0x7708,\n 0xE1BD: 0x7707,\n 0xE1BE: 0x7704,\n 0xE1BF: 0x7729,\n 0xE1C0: 0x7724,\n 0xE1C1: 0x771E,\n 0xE1C2: 0x7725,\n 0xE1C3: 0x7726,\n 0xE1C4: 0x771B,\n 0xE1C5: 0x7737,\n 0xE1C6: 0x7738,\n 0xE1C7: 0x7747,\n 0xE1C8: 0x775A,\n 0xE1C9: 0x7768,\n 0xE1CA: 0x776B,\n 0xE1CB: 0x775B,\n 0xE1CC: 0x7765,\n 0xE1CD: 0x777F,\n 0xE1CE: 0x777E,\n 0xE1CF: 0x7779,\n 0xE1D0: 0x778E,\n 0xE1D1: 0x778B,\n 0xE1D2: 0x7791,\n 0xE1D3: 0x77A0,\n 0xE1D4: 0x779E,\n 0xE1D5: 0x77B0,\n 0xE1D6: 0x77B6,\n 0xE1D7: 0x77B9,\n 0xE1D8: 0x77BF,\n 0xE1D9: 0x77BC,\n 0xE1DA: 0x77BD,\n 0xE1DB: 0x77BB,\n 0xE1DC: 0x77C7,\n 0xE1DD: 0x77CD,\n 0xE1DE: 0x77D7,\n 0xE1DF: 0x77DA,\n 0xE1E0: 0x77DC,\n 0xE1E1: 0x77E3,\n 0xE1E2: 0x77EE,\n 0xE1E3: 0x77FC,\n 0xE1E4: 0x780C,\n 0xE1E5: 0x7812,\n 0xE1E6: 0x7926,\n 0xE1E7: 0x7820,\n 0xE1E8: 0x792A,\n 0xE1E9: 0x7845,\n 0xE1EA: 0x788E,\n 0xE1EB: 0x7874,\n 0xE1EC: 0x7886,\n 0xE1ED: 0x787C,\n 0xE1EE: 0x789A,\n 0xE1EF: 0x788C,\n 0xE1F0: 0x78A3,\n 0xE1F1: 0x78B5,\n 0xE1F2: 0x78AA,\n 0xE1F3: 0x78AF,\n 0xE1F4: 0x78D1,\n 0xE1F5: 0x78C6,\n 0xE1F6: 0x78CB,\n 0xE1F7: 0x78D4,\n 0xE1F8: 0x78BE,\n 0xE1F9: 0x78BC,\n 0xE1FA: 0x78C5,\n 0xE1FB: 0x78CA,\n 0xE1FC: 0x78EC,\n 0xE240: 0x78E7,\n 0xE241: 0x78DA,\n 0xE242: 0x78FD,\n 0xE243: 0x78F4,\n 0xE244: 0x7907,\n 0xE245: 0x7912,\n 0xE246: 0x7911,\n 0xE247: 0x7919,\n 0xE248: 0x792C,\n 0xE249: 0x792B,\n 0xE24A: 0x7940,\n 0xE24B: 0x7960,\n 0xE24C: 0x7957,\n 0xE24D: 0x795F,\n 0xE24E: 0x795A,\n 0xE24F: 0x7955,\n 0xE250: 0x7953,\n 0xE251: 0x797A,\n 0xE252: 0x797F,\n 0xE253: 0x798A,\n 0xE254: 0x799D,\n 0xE255: 0x79A7,\n 0xE256: 0x9F4B,\n 0xE257: 0x79AA,\n 0xE258: 0x79AE,\n 0xE259: 0x79B3,\n 0xE25A: 0x79B9,\n 0xE25B: 0x79BA,\n 0xE25C: 0x79C9,\n 0xE25D: 0x79D5,\n 0xE25E: 0x79E7,\n 0xE25F: 0x79EC,\n 0xE260: 0x79E1,\n 0xE261: 0x79E3,\n 0xE262: 0x7A08,\n 0xE263: 0x7A0D,\n 0xE264: 0x7A18,\n 0xE265: 0x7A19,\n 0xE266: 0x7A20,\n 0xE267: 0x7A1F,\n 0xE268: 0x7980,\n 0xE269: 0x7A31,\n 0xE26A: 0x7A3B,\n 0xE26B: 0x7A3E,\n 0xE26C: 0x7A37,\n 0xE26D: 0x7A43,\n 0xE26E: 0x7A57,\n 0xE26F: 0x7A49,\n 0xE270: 0x7A61,\n 0xE271: 0x7A62,\n 0xE272: 0x7A69,\n 0xE273: 0x9F9D,\n 0xE274: 0x7A70,\n 0xE275: 0x7A79,\n 0xE276: 0x7A7D,\n 0xE277: 0x7A88,\n 0xE278: 0x7A97,\n 0xE279: 0x7A95,\n 0xE27A: 0x7A98,\n 0xE27B: 0x7A96,\n 0xE27C: 0x7AA9,\n 0xE27D: 0x7AC8,\n 0xE27E: 0x7AB0,\n 0xE280: 0x7AB6,\n 0xE281: 0x7AC5,\n 0xE282: 0x7AC4,\n 0xE283: 0x7ABF,\n 0xE284: 0x9083,\n 0xE285: 0x7AC7,\n 0xE286: 0x7ACA,\n 0xE287: 0x7ACD,\n 0xE288: 0x7ACF,\n 0xE289: 0x7AD5,\n 0xE28A: 0x7AD3,\n 0xE28B: 0x7AD9,\n 0xE28C: 0x7ADA,\n 0xE28D: 0x7ADD,\n 0xE28E: 0x7AE1,\n 0xE28F: 0x7AE2,\n 0xE290: 0x7AE6,\n 0xE291: 0x7AED,\n 0xE292: 0x7AF0,\n 0xE293: 0x7B02,\n 0xE294: 0x7B0F,\n 0xE295: 0x7B0A,\n 0xE296: 0x7B06,\n 0xE297: 0x7B33,\n 0xE298: 0x7B18,\n 0xE299: 0x7B19,\n 0xE29A: 0x7B1E,\n 0xE29B: 0x7B35,\n 0xE29C: 0x7B28,\n 0xE29D: 0x7B36,\n 0xE29E: 0x7B50,\n 0xE29F: 0x7B7A,\n 0xE2A0: 0x7B04,\n 0xE2A1: 0x7B4D,\n 0xE2A2: 0x7B0B,\n 0xE2A3: 0x7B4C,\n 0xE2A4: 0x7B45,\n 0xE2A5: 0x7B75,\n 0xE2A6: 0x7B65,\n 0xE2A7: 0x7B74,\n 0xE2A8: 0x7B67,\n 0xE2A9: 0x7B70,\n 0xE2AA: 0x7B71,\n 0xE2AB: 0x7B6C,\n 0xE2AC: 0x7B6E,\n 0xE2AD: 0x7B9D,\n 0xE2AE: 0x7B98,\n 0xE2AF: 0x7B9F,\n 0xE2B0: 0x7B8D,\n 0xE2B1: 0x7B9C,\n 0xE2B2: 0x7B9A,\n 0xE2B3: 0x7B8B,\n 0xE2B4: 0x7B92,\n 0xE2B5: 0x7B8F,\n 0xE2B6: 0x7B5D,\n 0xE2B7: 0x7B99,\n 0xE2B8: 0x7BCB,\n 0xE2B9: 0x7BC1,\n 0xE2BA: 0x7BCC,\n 0xE2BB: 0x7BCF,\n 0xE2BC: 0x7BB4,\n 0xE2BD: 0x7BC6,\n 0xE2BE: 0x7BDD,\n 0xE2BF: 0x7BE9,\n 0xE2C0: 0x7C11,\n 0xE2C1: 0x7C14,\n 0xE2C2: 0x7BE6,\n 0xE2C3: 0x7BE5,\n 0xE2C4: 0x7C60,\n 0xE2C5: 0x7C00,\n 0xE2C6: 0x7C07,\n 0xE2C7: 0x7C13,\n 0xE2C8: 0x7BF3,\n 0xE2C9: 0x7BF7,\n 0xE2CA: 0x7C17,\n 0xE2CB: 0x7C0D,\n 0xE2CC: 0x7BF6,\n 0xE2CD: 0x7C23,\n 0xE2CE: 0x7C27,\n 0xE2CF: 0x7C2A,\n 0xE2D0: 0x7C1F,\n 0xE2D1: 0x7C37,\n 0xE2D2: 0x7C2B,\n 0xE2D3: 0x7C3D,\n 0xE2D4: 0x7C4C,\n 0xE2D5: 0x7C43,\n 0xE2D6: 0x7C54,\n 0xE2D7: 0x7C4F,\n 0xE2D8: 0x7C40,\n 0xE2D9: 0x7C50,\n 0xE2DA: 0x7C58,\n 0xE2DB: 0x7C5F,\n 0xE2DC: 0x7C64,\n 0xE2DD: 0x7C56,\n 0xE2DE: 0x7C65,\n 0xE2DF: 0x7C6C,\n 0xE2E0: 0x7C75,\n 0xE2E1: 0x7C83,\n 0xE2E2: 0x7C90,\n 0xE2E3: 0x7CA4,\n 0xE2E4: 0x7CAD,\n 0xE2E5: 0x7CA2,\n 0xE2E6: 0x7CAB,\n 0xE2E7: 0x7CA1,\n 0xE2E8: 0x7CA8,\n 0xE2E9: 0x7CB3,\n 0xE2EA: 0x7CB2,\n 0xE2EB: 0x7CB1,\n 0xE2EC: 0x7CAE,\n 0xE2ED: 0x7CB9,\n 0xE2EE: 0x7CBD,\n 0xE2EF: 0x7CC0,\n 0xE2F0: 0x7CC5,\n 0xE2F1: 0x7CC2,\n 0xE2F2: 0x7CD8,\n 0xE2F3: 0x7CD2,\n 0xE2F4: 0x7CDC,\n 0xE2F5: 0x7CE2,\n 0xE2F6: 0x9B3B,\n 0xE2F7: 0x7CEF,\n 0xE2F8: 0x7CF2,\n 0xE2F9: 0x7CF4,\n 0xE2FA: 0x7CF6,\n 0xE2FB: 0x7CFA,\n 0xE2FC: 0x7D06,\n 0xE340: 0x7D02,\n 0xE341: 0x7D1C,\n 0xE342: 0x7D15,\n 0xE343: 0x7D0A,\n 0xE344: 0x7D45,\n 0xE345: 0x7D4B,\n 0xE346: 0x7D2E,\n 0xE347: 0x7D32,\n 0xE348: 0x7D3F,\n 0xE349: 0x7D35,\n 0xE34A: 0x7D46,\n 0xE34B: 0x7D73,\n 0xE34C: 0x7D56,\n 0xE34D: 0x7D4E,\n 0xE34E: 0x7D72,\n 0xE34F: 0x7D68,\n 0xE350: 0x7D6E,\n 0xE351: 0x7D4F,\n 0xE352: 0x7D63,\n 0xE353: 0x7D93,\n 0xE354: 0x7D89,\n 0xE355: 0x7D5B,\n 0xE356: 0x7D8F,\n 0xE357: 0x7D7D,\n 0xE358: 0x7D9B,\n 0xE359: 0x7DBA,\n 0xE35A: 0x7DAE,\n 0xE35B: 0x7DA3,\n 0xE35C: 0x7DB5,\n 0xE35D: 0x7DC7,\n 0xE35E: 0x7DBD,\n 0xE35F: 0x7DAB,\n 0xE360: 0x7E3D,\n 0xE361: 0x7DA2,\n 0xE362: 0x7DAF,\n 0xE363: 0x7DDC,\n 0xE364: 0x7DB8,\n 0xE365: 0x7D9F,\n 0xE366: 0x7DB0,\n 0xE367: 0x7DD8,\n 0xE368: 0x7DDD,\n 0xE369: 0x7DE4,\n 0xE36A: 0x7DDE,\n 0xE36B: 0x7DFB,\n 0xE36C: 0x7DF2,\n 0xE36D: 0x7DE1,\n 0xE36E: 0x7E05,\n 0xE36F: 0x7E0A,\n 0xE370: 0x7E23,\n 0xE371: 0x7E21,\n 0xE372: 0x7E12,\n 0xE373: 0x7E31,\n 0xE374: 0x7E1F,\n 0xE375: 0x7E09,\n 0xE376: 0x7E0B,\n 0xE377: 0x7E22,\n 0xE378: 0x7E46,\n 0xE379: 0x7E66,\n 0xE37A: 0x7E3B,\n 0xE37B: 0x7E35,\n 0xE37C: 0x7E39,\n 0xE37D: 0x7E43,\n 0xE37E: 0x7E37,\n 0xE380: 0x7E32,\n 0xE381: 0x7E3A,\n 0xE382: 0x7E67,\n 0xE383: 0x7E5D,\n 0xE384: 0x7E56,\n 0xE385: 0x7E5E,\n 0xE386: 0x7E59,\n 0xE387: 0x7E5A,\n 0xE388: 0x7E79,\n 0xE389: 0x7E6A,\n 0xE38A: 0x7E69,\n 0xE38B: 0x7E7C,\n 0xE38C: 0x7E7B,\n 0xE38D: 0x7E83,\n 0xE38E: 0x7DD5,\n 0xE38F: 0x7E7D,\n 0xE390: 0x8FAE,\n 0xE391: 0x7E7F,\n 0xE392: 0x7E88,\n 0xE393: 0x7E89,\n 0xE394: 0x7E8C,\n 0xE395: 0x7E92,\n 0xE396: 0x7E90,\n 0xE397: 0x7E93,\n 0xE398: 0x7E94,\n 0xE399: 0x7E96,\n 0xE39A: 0x7E8E,\n 0xE39B: 0x7E9B,\n 0xE39C: 0x7E9C,\n 0xE39D: 0x7F38,\n 0xE39E: 0x7F3A,\n 0xE39F: 0x7F45,\n 0xE3A0: 0x7F4C,\n 0xE3A1: 0x7F4D,\n 0xE3A2: 0x7F4E,\n 0xE3A3: 0x7F50,\n 0xE3A4: 0x7F51,\n 0xE3A5: 0x7F55,\n 0xE3A6: 0x7F54,\n 0xE3A7: 0x7F58,\n 0xE3A8: 0x7F5F,\n 0xE3A9: 0x7F60,\n 0xE3AA: 0x7F68,\n 0xE3AB: 0x7F69,\n 0xE3AC: 0x7F67,\n 0xE3AD: 0x7F78,\n 0xE3AE: 0x7F82,\n 0xE3AF: 0x7F86,\n 0xE3B0: 0x7F83,\n 0xE3B1: 0x7F88,\n 0xE3B2: 0x7F87,\n 0xE3B3: 0x7F8C,\n 0xE3B4: 0x7F94,\n 0xE3B5: 0x7F9E,\n 0xE3B6: 0x7F9D,\n 0xE3B7: 0x7F9A,\n 0xE3B8: 0x7FA3,\n 0xE3B9: 0x7FAF,\n 0xE3BA: 0x7FB2,\n 0xE3BB: 0x7FB9,\n 0xE3BC: 0x7FAE,\n 0xE3BD: 0x7FB6,\n 0xE3BE: 0x7FB8,\n 0xE3BF: 0x8B71,\n 0xE3C0: 0x7FC5,\n 0xE3C1: 0x7FC6,\n 0xE3C2: 0x7FCA,\n 0xE3C3: 0x7FD5,\n 0xE3C4: 0x7FD4,\n 0xE3C5: 0x7FE1,\n 0xE3C6: 0x7FE6,\n 0xE3C7: 0x7FE9,\n 0xE3C8: 0x7FF3,\n 0xE3C9: 0x7FF9,\n 0xE3CA: 0x98DC,\n 0xE3CB: 0x8006,\n 0xE3CC: 0x8004,\n 0xE3CD: 0x800B,\n 0xE3CE: 0x8012,\n 0xE3CF: 0x8018,\n 0xE3D0: 0x8019,\n 0xE3D1: 0x801C,\n 0xE3D2: 0x8021,\n 0xE3D3: 0x8028,\n 0xE3D4: 0x803F,\n 0xE3D5: 0x803B,\n 0xE3D6: 0x804A,\n 0xE3D7: 0x8046,\n 0xE3D8: 0x8052,\n 0xE3D9: 0x8058,\n 0xE3DA: 0x805A,\n 0xE3DB: 0x805F,\n 0xE3DC: 0x8062,\n 0xE3DD: 0x8068,\n 0xE3DE: 0x8073,\n 0xE3DF: 0x8072,\n 0xE3E0: 0x8070,\n 0xE3E1: 0x8076,\n 0xE3E2: 0x8079,\n 0xE3E3: 0x807D,\n 0xE3E4: 0x807F,\n 0xE3E5: 0x8084,\n 0xE3E6: 0x8086,\n 0xE3E7: 0x8085,\n 0xE3E8: 0x809B,\n 0xE3E9: 0x8093,\n 0xE3EA: 0x809A,\n 0xE3EB: 0x80AD,\n 0xE3EC: 0x5190,\n 0xE3ED: 0x80AC,\n 0xE3EE: 0x80DB,\n 0xE3EF: 0x80E5,\n 0xE3F0: 0x80D9,\n 0xE3F1: 0x80DD,\n 0xE3F2: 0x80C4,\n 0xE3F3: 0x80DA,\n 0xE3F4: 0x80D6,\n 0xE3F5: 0x8109,\n 0xE3F6: 0x80EF,\n 0xE3F7: 0x80F1,\n 0xE3F8: 0x811B,\n 0xE3F9: 0x8129,\n 0xE3FA: 0x8123,\n 0xE3FB: 0x812F,\n 0xE3FC: 0x814B,\n 0xE440: 0x968B,\n 0xE441: 0x8146,\n 0xE442: 0x813E,\n 0xE443: 0x8153,\n 0xE444: 0x8151,\n 0xE445: 0x80FC,\n 0xE446: 0x8171,\n 0xE447: 0x816E,\n 0xE448: 0x8165,\n 0xE449: 0x8166,\n 0xE44A: 0x8174,\n 0xE44B: 0x8183,\n 0xE44C: 0x8188,\n 0xE44D: 0x818A,\n 0xE44E: 0x8180,\n 0xE44F: 0x8182,\n 0xE450: 0x81A0,\n 0xE451: 0x8195,\n 0xE452: 0x81A4,\n 0xE453: 0x81A3,\n 0xE454: 0x815F,\n 0xE455: 0x8193,\n 0xE456: 0x81A9,\n 0xE457: 0x81B0,\n 0xE458: 0x81B5,\n 0xE459: 0x81BE,\n 0xE45A: 0x81B8,\n 0xE45B: 0x81BD,\n 0xE45C: 0x81C0,\n 0xE45D: 0x81C2,\n 0xE45E: 0x81BA,\n 0xE45F: 0x81C9,\n 0xE460: 0x81CD,\n 0xE461: 0x81D1,\n 0xE462: 0x81D9,\n 0xE463: 0x81D8,\n 0xE464: 0x81C8,\n 0xE465: 0x81DA,\n 0xE466: 0x81DF,\n 0xE467: 0x81E0,\n 0xE468: 0x81E7,\n 0xE469: 0x81FA,\n 0xE46A: 0x81FB,\n 0xE46B: 0x81FE,\n 0xE46C: 0x8201,\n 0xE46D: 0x8202,\n 0xE46E: 0x8205,\n 0xE46F: 0x8207,\n 0xE470: 0x820A,\n 0xE471: 0x820D,\n 0xE472: 0x8210,\n 0xE473: 0x8216,\n 0xE474: 0x8229,\n 0xE475: 0x822B,\n 0xE476: 0x8238,\n 0xE477: 0x8233,\n 0xE478: 0x8240,\n 0xE479: 0x8259,\n 0xE47A: 0x8258,\n 0xE47B: 0x825D,\n 0xE47C: 0x825A,\n 0xE47D: 0x825F,\n 0xE47E: 0x8264,\n 0xE480: 0x8262,\n 0xE481: 0x8268,\n 0xE482: 0x826A,\n 0xE483: 0x826B,\n 0xE484: 0x822E,\n 0xE485: 0x8271,\n 0xE486: 0x8277,\n 0xE487: 0x8278,\n 0xE488: 0x827E,\n 0xE489: 0x828D,\n 0xE48A: 0x8292,\n 0xE48B: 0x82AB,\n 0xE48C: 0x829F,\n 0xE48D: 0x82BB,\n 0xE48E: 0x82AC,\n 0xE48F: 0x82E1,\n 0xE490: 0x82E3,\n 0xE491: 0x82DF,\n 0xE492: 0x82D2,\n 0xE493: 0x82F4,\n 0xE494: 0x82F3,\n 0xE495: 0x82FA,\n 0xE496: 0x8393,\n 0xE497: 0x8303,\n 0xE498: 0x82FB,\n 0xE499: 0x82F9,\n 0xE49A: 0x82DE,\n 0xE49B: 0x8306,\n 0xE49C: 0x82DC,\n 0xE49D: 0x8309,\n 0xE49E: 0x82D9,\n 0xE49F: 0x8335,\n 0xE4A0: 0x8334,\n 0xE4A1: 0x8316,\n 0xE4A2: 0x8332,\n 0xE4A3: 0x8331,\n 0xE4A4: 0x8340,\n 0xE4A5: 0x8339,\n 0xE4A6: 0x8350,\n 0xE4A7: 0x8345,\n 0xE4A8: 0x832F,\n 0xE4A9: 0x832B,\n 0xE4AA: 0x8317,\n 0xE4AB: 0x8318,\n 0xE4AC: 0x8385,\n 0xE4AD: 0x839A,\n 0xE4AE: 0x83AA,\n 0xE4AF: 0x839F,\n 0xE4B0: 0x83A2,\n 0xE4B1: 0x8396,\n 0xE4B2: 0x8323,\n 0xE4B3: 0x838E,\n 0xE4B4: 0x8387,\n 0xE4B5: 0x838A,\n 0xE4B6: 0x837C,\n 0xE4B7: 0x83B5,\n 0xE4B8: 0x8373,\n 0xE4B9: 0x8375,\n 0xE4BA: 0x83A0,\n 0xE4BB: 0x8389,\n 0xE4BC: 0x83A8,\n 0xE4BD: 0x83F4,\n 0xE4BE: 0x8413,\n 0xE4BF: 0x83EB,\n 0xE4C0: 0x83CE,\n 0xE4C1: 0x83FD,\n 0xE4C2: 0x8403,\n 0xE4C3: 0x83D8,\n 0xE4C4: 0x840B,\n 0xE4C5: 0x83C1,\n 0xE4C6: 0x83F7,\n 0xE4C7: 0x8407,\n 0xE4C8: 0x83E0,\n 0xE4C9: 0x83F2,\n 0xE4CA: 0x840D,\n 0xE4CB: 0x8422,\n 0xE4CC: 0x8420,\n 0xE4CD: 0x83BD,\n 0xE4CE: 0x8438,\n 0xE4CF: 0x8506,\n 0xE4D0: 0x83FB,\n 0xE4D1: 0x846D,\n 0xE4D2: 0x842A,\n 0xE4D3: 0x843C,\n 0xE4D4: 0x855A,\n 0xE4D5: 0x8484,\n 0xE4D6: 0x8477,\n 0xE4D7: 0x846B,\n 0xE4D8: 0x84AD,\n 0xE4D9: 0x846E,\n 0xE4DA: 0x8482,\n 0xE4DB: 0x8469,\n 0xE4DC: 0x8446,\n 0xE4DD: 0x842C,\n 0xE4DE: 0x846F,\n 0xE4DF: 0x8479,\n 0xE4E0: 0x8435,\n 0xE4E1: 0x84CA,\n 0xE4E2: 0x8462,\n 0xE4E3: 0x84B9,\n 0xE4E4: 0x84BF,\n 0xE4E5: 0x849F,\n 0xE4E6: 0x84D9,\n 0xE4E7: 0x84CD,\n 0xE4E8: 0x84BB,\n 0xE4E9: 0x84DA,\n 0xE4EA: 0x84D0,\n 0xE4EB: 0x84C1,\n 0xE4EC: 0x84C6,\n 0xE4ED: 0x84D6,\n 0xE4EE: 0x84A1,\n 0xE4EF: 0x8521,\n 0xE4F0: 0x84FF,\n 0xE4F1: 0x84F4,\n 0xE4F2: 0x8517,\n 0xE4F3: 0x8518,\n 0xE4F4: 0x852C,\n 0xE4F5: 0x851F,\n 0xE4F6: 0x8515,\n 0xE4F7: 0x8514,\n 0xE4F8: 0x84FC,\n 0xE4F9: 0x8540,\n 0xE4FA: 0x8563,\n 0xE4FB: 0x8558,\n 0xE4FC: 0x8548,\n 0xE540: 0x8541,\n 0xE541: 0x8602,\n 0xE542: 0x854B,\n 0xE543: 0x8555,\n 0xE544: 0x8580,\n 0xE545: 0x85A4,\n 0xE546: 0x8588,\n 0xE547: 0x8591,\n 0xE548: 0x858A,\n 0xE549: 0x85A8,\n 0xE54A: 0x856D,\n 0xE54B: 0x8594,\n 0xE54C: 0x859B,\n 0xE54D: 0x85EA,\n 0xE54E: 0x8587,\n 0xE54F: 0x859C,\n 0xE550: 0x8577,\n 0xE551: 0x857E,\n 0xE552: 0x8590,\n 0xE553: 0x85C9,\n 0xE554: 0x85BA,\n 0xE555: 0x85CF,\n 0xE556: 0x85B9,\n 0xE557: 0x85D0,\n 0xE558: 0x85D5,\n 0xE559: 0x85DD,\n 0xE55A: 0x85E5,\n 0xE55B: 0x85DC,\n 0xE55C: 0x85F9,\n 0xE55D: 0x860A,\n 0xE55E: 0x8613,\n 0xE55F: 0x860B,\n 0xE560: 0x85FE,\n 0xE561: 0x85FA,\n 0xE562: 0x8606,\n 0xE563: 0x8622,\n 0xE564: 0x861A,\n 0xE565: 0x8630,\n 0xE566: 0x863F,\n 0xE567: 0x864D,\n 0xE568: 0x4E55,\n 0xE569: 0x8654,\n 0xE56A: 0x865F,\n 0xE56B: 0x8667,\n 0xE56C: 0x8671,\n 0xE56D: 0x8693,\n 0xE56E: 0x86A3,\n 0xE56F: 0x86A9,\n 0xE570: 0x86AA,\n 0xE571: 0x868B,\n 0xE572: 0x868C,\n 0xE573: 0x86B6,\n 0xE574: 0x86AF,\n 0xE575: 0x86C4,\n 0xE576: 0x86C6,\n 0xE577: 0x86B0,\n 0xE578: 0x86C9,\n 0xE579: 0x8823,\n 0xE57A: 0x86AB,\n 0xE57B: 0x86D4,\n 0xE57C: 0x86DE,\n 0xE57D: 0x86E9,\n 0xE57E: 0x86EC,\n 0xE580: 0x86DF,\n 0xE581: 0x86DB,\n 0xE582: 0x86EF,\n 0xE583: 0x8712,\n 0xE584: 0x8706,\n 0xE585: 0x8708,\n 0xE586: 0x8700,\n 0xE587: 0x8703,\n 0xE588: 0x86FB,\n 0xE589: 0x8711,\n 0xE58A: 0x8709,\n 0xE58B: 0x870D,\n 0xE58C: 0x86F9,\n 0xE58D: 0x870A,\n 0xE58E: 0x8734,\n 0xE58F: 0x873F,\n 0xE590: 0x8737,\n 0xE591: 0x873B,\n 0xE592: 0x8725,\n 0xE593: 0x8729,\n 0xE594: 0x871A,\n 0xE595: 0x8760,\n 0xE596: 0x875F,\n 0xE597: 0x8778,\n 0xE598: 0x874C,\n 0xE599: 0x874E,\n 0xE59A: 0x8774,\n 0xE59B: 0x8757,\n 0xE59C: 0x8768,\n 0xE59D: 0x876E,\n 0xE59E: 0x8759,\n 0xE59F: 0x8753,\n 0xE5A0: 0x8763,\n 0xE5A1: 0x876A,\n 0xE5A2: 0x8805,\n 0xE5A3: 0x87A2,\n 0xE5A4: 0x879F,\n 0xE5A5: 0x8782,\n 0xE5A6: 0x87AF,\n 0xE5A7: 0x87CB,\n 0xE5A8: 0x87BD,\n 0xE5A9: 0x87C0,\n 0xE5AA: 0x87D0,\n 0xE5AB: 0x96D6,\n 0xE5AC: 0x87AB,\n 0xE5AD: 0x87C4,\n 0xE5AE: 0x87B3,\n 0xE5AF: 0x87C7,\n 0xE5B0: 0x87C6,\n 0xE5B1: 0x87BB,\n 0xE5B2: 0x87EF,\n 0xE5B3: 0x87F2,\n 0xE5B4: 0x87E0,\n 0xE5B5: 0x880F,\n 0xE5B6: 0x880D,\n 0xE5B7: 0x87FE,\n 0xE5B8: 0x87F6,\n 0xE5B9: 0x87F7,\n 0xE5BA: 0x880E,\n 0xE5BB: 0x87D2,\n 0xE5BC: 0x8811,\n 0xE5BD: 0x8816,\n 0xE5BE: 0x8815,\n 0xE5BF: 0x8822,\n 0xE5C0: 0x8821,\n 0xE5C1: 0x8831,\n 0xE5C2: 0x8836,\n 0xE5C3: 0x8839,\n 0xE5C4: 0x8827,\n 0xE5C5: 0x883B,\n 0xE5C6: 0x8844,\n 0xE5C7: 0x8842,\n 0xE5C8: 0x8852,\n 0xE5C9: 0x8859,\n 0xE5CA: 0x885E,\n 0xE5CB: 0x8862,\n 0xE5CC: 0x886B,\n 0xE5CD: 0x8881,\n 0xE5CE: 0x887E,\n 0xE5CF: 0x889E,\n 0xE5D0: 0x8875,\n 0xE5D1: 0x887D,\n 0xE5D2: 0x88B5,\n 0xE5D3: 0x8872,\n 0xE5D4: 0x8882,\n 0xE5D5: 0x8897,\n 0xE5D6: 0x8892,\n 0xE5D7: 0x88AE,\n 0xE5D8: 0x8899,\n 0xE5D9: 0x88A2,\n 0xE5DA: 0x888D,\n 0xE5DB: 0x88A4,\n 0xE5DC: 0x88B0,\n 0xE5DD: 0x88BF,\n 0xE5DE: 0x88B1,\n 0xE5DF: 0x88C3,\n 0xE5E0: 0x88C4,\n 0xE5E1: 0x88D4,\n 0xE5E2: 0x88D8,\n 0xE5E3: 0x88D9,\n 0xE5E4: 0x88DD,\n 0xE5E5: 0x88F9,\n 0xE5E6: 0x8902,\n 0xE5E7: 0x88FC,\n 0xE5E8: 0x88F4,\n 0xE5E9: 0x88E8,\n 0xE5EA: 0x88F2,\n 0xE5EB: 0x8904,\n 0xE5EC: 0x890C,\n 0xE5ED: 0x890A,\n 0xE5EE: 0x8913,\n 0xE5EF: 0x8943,\n 0xE5F0: 0x891E,\n 0xE5F1: 0x8925,\n 0xE5F2: 0x892A,\n 0xE5F3: 0x892B,\n 0xE5F4: 0x8941,\n 0xE5F5: 0x8944,\n 0xE5F6: 0x893B,\n 0xE5F7: 0x8936,\n 0xE5F8: 0x8938,\n 0xE5F9: 0x894C,\n 0xE5FA: 0x891D,\n 0xE5FB: 0x8960,\n 0xE5FC: 0x895E,\n 0xE640: 0x8966,\n 0xE641: 0x8964,\n 0xE642: 0x896D,\n 0xE643: 0x896A,\n 0xE644: 0x896F,\n 0xE645: 0x8974,\n 0xE646: 0x8977,\n 0xE647: 0x897E,\n 0xE648: 0x8983,\n 0xE649: 0x8988,\n 0xE64A: 0x898A,\n 0xE64B: 0x8993,\n 0xE64C: 0x8998,\n 0xE64D: 0x89A1,\n 0xE64E: 0x89A9,\n 0xE64F: 0x89A6,\n 0xE650: 0x89AC,\n 0xE651: 0x89AF,\n 0xE652: 0x89B2,\n 0xE653: 0x89BA,\n 0xE654: 0x89BD,\n 0xE655: 0x89BF,\n 0xE656: 0x89C0,\n 0xE657: 0x89DA,\n 0xE658: 0x89DC,\n 0xE659: 0x89DD,\n 0xE65A: 0x89E7,\n 0xE65B: 0x89F4,\n 0xE65C: 0x89F8,\n 0xE65D: 0x8A03,\n 0xE65E: 0x8A16,\n 0xE65F: 0x8A10,\n 0xE660: 0x8A0C,\n 0xE661: 0x8A1B,\n 0xE662: 0x8A1D,\n 0xE663: 0x8A25,\n 0xE664: 0x8A36,\n 0xE665: 0x8A41,\n 0xE666: 0x8A5B,\n 0xE667: 0x8A52,\n 0xE668: 0x8A46,\n 0xE669: 0x8A48,\n 0xE66A: 0x8A7C,\n 0xE66B: 0x8A6D,\n 0xE66C: 0x8A6C,\n 0xE66D: 0x8A62,\n 0xE66E: 0x8A85,\n 0xE66F: 0x8A82,\n 0xE670: 0x8A84,\n 0xE671: 0x8AA8,\n 0xE672: 0x8AA1,\n 0xE673: 0x8A91,\n 0xE674: 0x8AA5,\n 0xE675: 0x8AA6,\n 0xE676: 0x8A9A,\n 0xE677: 0x8AA3,\n 0xE678: 0x8AC4,\n 0xE679: 0x8ACD,\n 0xE67A: 0x8AC2,\n 0xE67B: 0x8ADA,\n 0xE67C: 0x8AEB,\n 0xE67D: 0x8AF3,\n 0xE67E: 0x8AE7,\n 0xE680: 0x8AE4,\n 0xE681: 0x8AF1,\n 0xE682: 0x8B14,\n 0xE683: 0x8AE0,\n 0xE684: 0x8AE2,\n 0xE685: 0x8AF7,\n 0xE686: 0x8ADE,\n 0xE687: 0x8ADB,\n 0xE688: 0x8B0C,\n 0xE689: 0x8B07,\n 0xE68A: 0x8B1A,\n 0xE68B: 0x8AE1,\n 0xE68C: 0x8B16,\n 0xE68D: 0x8B10,\n 0xE68E: 0x8B17,\n 0xE68F: 0x8B20,\n 0xE690: 0x8B33,\n 0xE691: 0x97AB,\n 0xE692: 0x8B26,\n 0xE693: 0x8B2B,\n 0xE694: 0x8B3E,\n 0xE695: 0x8B28,\n 0xE696: 0x8B41,\n 0xE697: 0x8B4C,\n 0xE698: 0x8B4F,\n 0xE699: 0x8B4E,\n 0xE69A: 0x8B49,\n 0xE69B: 0x8B56,\n 0xE69C: 0x8B5B,\n 0xE69D: 0x8B5A,\n 0xE69E: 0x8B6B,\n 0xE69F: 0x8B5F,\n 0xE6A0: 0x8B6C,\n 0xE6A1: 0x8B6F,\n 0xE6A2: 0x8B74,\n 0xE6A3: 0x8B7D,\n 0xE6A4: 0x8B80,\n 0xE6A5: 0x8B8C,\n 0xE6A6: 0x8B8E,\n 0xE6A7: 0x8B92,\n 0xE6A8: 0x8B93,\n 0xE6A9: 0x8B96,\n 0xE6AA: 0x8B99,\n 0xE6AB: 0x8B9A,\n 0xE6AC: 0x8C3A,\n 0xE6AD: 0x8C41,\n 0xE6AE: 0x8C3F,\n 0xE6AF: 0x8C48,\n 0xE6B0: 0x8C4C,\n 0xE6B1: 0x8C4E,\n 0xE6B2: 0x8C50,\n 0xE6B3: 0x8C55,\n 0xE6B4: 0x8C62,\n 0xE6B5: 0x8C6C,\n 0xE6B6: 0x8C78,\n 0xE6B7: 0x8C7A,\n 0xE6B8: 0x8C82,\n 0xE6B9: 0x8C89,\n 0xE6BA: 0x8C85,\n 0xE6BB: 0x8C8A,\n 0xE6BC: 0x8C8D,\n 0xE6BD: 0x8C8E,\n 0xE6BE: 0x8C94,\n 0xE6BF: 0x8C7C,\n 0xE6C0: 0x8C98,\n 0xE6C1: 0x621D,\n 0xE6C2: 0x8CAD,\n 0xE6C3: 0x8CAA,\n 0xE6C4: 0x8CBD,\n 0xE6C5: 0x8CB2,\n 0xE6C6: 0x8CB3,\n 0xE6C7: 0x8CAE,\n 0xE6C8: 0x8CB6,\n 0xE6C9: 0x8CC8,\n 0xE6CA: 0x8CC1,\n 0xE6CB: 0x8CE4,\n 0xE6CC: 0x8CE3,\n 0xE6CD: 0x8CDA,\n 0xE6CE: 0x8CFD,\n 0xE6CF: 0x8CFA,\n 0xE6D0: 0x8CFB,\n 0xE6D1: 0x8D04,\n 0xE6D2: 0x8D05,\n 0xE6D3: 0x8D0A,\n 0xE6D4: 0x8D07,\n 0xE6D5: 0x8D0F,\n 0xE6D6: 0x8D0D,\n 0xE6D7: 0x8D10,\n 0xE6D8: 0x9F4E,\n 0xE6D9: 0x8D13,\n 0xE6DA: 0x8CCD,\n 0xE6DB: 0x8D14,\n 0xE6DC: 0x8D16,\n 0xE6DD: 0x8D67,\n 0xE6DE: 0x8D6D,\n 0xE6DF: 0x8D71,\n 0xE6E0: 0x8D73,\n 0xE6E1: 0x8D81,\n 0xE6E2: 0x8D99,\n 0xE6E3: 0x8DC2,\n 0xE6E4: 0x8DBE,\n 0xE6E5: 0x8DBA,\n 0xE6E6: 0x8DCF,\n 0xE6E7: 0x8DDA,\n 0xE6E8: 0x8DD6,\n 0xE6E9: 0x8DCC,\n 0xE6EA: 0x8DDB,\n 0xE6EB: 0x8DCB,\n 0xE6EC: 0x8DEA,\n 0xE6ED: 0x8DEB,\n 0xE6EE: 0x8DDF,\n 0xE6EF: 0x8DE3,\n 0xE6F0: 0x8DFC,\n 0xE6F1: 0x8E08,\n 0xE6F2: 0x8E09,\n 0xE6F3: 0x8DFF,\n 0xE6F4: 0x8E1D,\n 0xE6F5: 0x8E1E,\n 0xE6F6: 0x8E10,\n 0xE6F7: 0x8E1F,\n 0xE6F8: 0x8E42,\n 0xE6F9: 0x8E35,\n 0xE6FA: 0x8E30,\n 0xE6FB: 0x8E34,\n 0xE6FC: 0x8E4A,\n 0xE740: 0x8E47,\n 0xE741: 0x8E49,\n 0xE742: 0x8E4C,\n 0xE743: 0x8E50,\n 0xE744: 0x8E48,\n 0xE745: 0x8E59,\n 0xE746: 0x8E64,\n 0xE747: 0x8E60,\n 0xE748: 0x8E2A,\n 0xE749: 0x8E63,\n 0xE74A: 0x8E55,\n 0xE74B: 0x8E76,\n 0xE74C: 0x8E72,\n 0xE74D: 0x8E7C,\n 0xE74E: 0x8E81,\n 0xE74F: 0x8E87,\n 0xE750: 0x8E85,\n 0xE751: 0x8E84,\n 0xE752: 0x8E8B,\n 0xE753: 0x8E8A,\n 0xE754: 0x8E93,\n 0xE755: 0x8E91,\n 0xE756: 0x8E94,\n 0xE757: 0x8E99,\n 0xE758: 0x8EAA,\n 0xE759: 0x8EA1,\n 0xE75A: 0x8EAC,\n 0xE75B: 0x8EB0,\n 0xE75C: 0x8EC6,\n 0xE75D: 0x8EB1,\n 0xE75E: 0x8EBE,\n 0xE75F: 0x8EC5,\n 0xE760: 0x8EC8,\n 0xE761: 0x8ECB,\n 0xE762: 0x8EDB,\n 0xE763: 0x8EE3,\n 0xE764: 0x8EFC,\n 0xE765: 0x8EFB,\n 0xE766: 0x8EEB,\n 0xE767: 0x8EFE,\n 0xE768: 0x8F0A,\n 0xE769: 0x8F05,\n 0xE76A: 0x8F15,\n 0xE76B: 0x8F12,\n 0xE76C: 0x8F19,\n 0xE76D: 0x8F13,\n 0xE76E: 0x8F1C,\n 0xE76F: 0x8F1F,\n 0xE770: 0x8F1B,\n 0xE771: 0x8F0C,\n 0xE772: 0x8F26,\n 0xE773: 0x8F33,\n 0xE774: 0x8F3B,\n 0xE775: 0x8F39,\n 0xE776: 0x8F45,\n 0xE777: 0x8F42,\n 0xE778: 0x8F3E,\n 0xE779: 0x8F4C,\n 0xE77A: 0x8F49,\n 0xE77B: 0x8F46,\n 0xE77C: 0x8F4E,\n 0xE77D: 0x8F57,\n 0xE77E: 0x8F5C,\n 0xE780: 0x8F62,\n 0xE781: 0x8F63,\n 0xE782: 0x8F64,\n 0xE783: 0x8F9C,\n 0xE784: 0x8F9F,\n 0xE785: 0x8FA3,\n 0xE786: 0x8FAD,\n 0xE787: 0x8FAF,\n 0xE788: 0x8FB7,\n 0xE789: 0x8FDA,\n 0xE78A: 0x8FE5,\n 0xE78B: 0x8FE2,\n 0xE78C: 0x8FEA,\n 0xE78D: 0x8FEF,\n 0xE78E: 0x9087,\n 0xE78F: 0x8FF4,\n 0xE790: 0x9005,\n 0xE791: 0x8FF9,\n 0xE792: 0x8FFA,\n 0xE793: 0x9011,\n 0xE794: 0x9015,\n 0xE795: 0x9021,\n 0xE796: 0x900D,\n 0xE797: 0x901E,\n 0xE798: 0x9016,\n 0xE799: 0x900B,\n 0xE79A: 0x9027,\n 0xE79B: 0x9036,\n 0xE79C: 0x9035,\n 0xE79D: 0x9039,\n 0xE79E: 0x8FF8,\n 0xE79F: 0x904F,\n 0xE7A0: 0x9050,\n 0xE7A1: 0x9051,\n 0xE7A2: 0x9052,\n 0xE7A3: 0x900E,\n 0xE7A4: 0x9049,\n 0xE7A5: 0x903E,\n 0xE7A6: 0x9056,\n 0xE7A7: 0x9058,\n 0xE7A8: 0x905E,\n 0xE7A9: 0x9068,\n 0xE7AA: 0x906F,\n 0xE7AB: 0x9076,\n 0xE7AC: 0x96A8,\n 0xE7AD: 0x9072,\n 0xE7AE: 0x9082,\n 0xE7AF: 0x907D,\n 0xE7B0: 0x9081,\n 0xE7B1: 0x9080,\n 0xE7B2: 0x908A,\n 0xE7B3: 0x9089,\n 0xE7B4: 0x908F,\n 0xE7B5: 0x90A8,\n 0xE7B6: 0x90AF,\n 0xE7B7: 0x90B1,\n 0xE7B8: 0x90B5,\n 0xE7B9: 0x90E2,\n 0xE7BA: 0x90E4,\n 0xE7BB: 0x6248,\n 0xE7BC: 0x90DB,\n 0xE7BD: 0x9102,\n 0xE7BE: 0x9112,\n 0xE7BF: 0x9119,\n 0xE7C0: 0x9132,\n 0xE7C1: 0x9130,\n 0xE7C2: 0x914A,\n 0xE7C3: 0x9156,\n 0xE7C4: 0x9158,\n 0xE7C5: 0x9163,\n 0xE7C6: 0x9165,\n 0xE7C7: 0x9169,\n 0xE7C8: 0x9173,\n 0xE7C9: 0x9172,\n 0xE7CA: 0x918B,\n 0xE7CB: 0x9189,\n 0xE7CC: 0x9182,\n 0xE7CD: 0x91A2,\n 0xE7CE: 0x91AB,\n 0xE7CF: 0x91AF,\n 0xE7D0: 0x91AA,\n 0xE7D1: 0x91B5,\n 0xE7D2: 0x91B4,\n 0xE7D3: 0x91BA,\n 0xE7D4: 0x91C0,\n 0xE7D5: 0x91C1,\n 0xE7D6: 0x91C9,\n 0xE7D7: 0x91CB,\n 0xE7D8: 0x91D0,\n 0xE7D9: 0x91D6,\n 0xE7DA: 0x91DF,\n 0xE7DB: 0x91E1,\n 0xE7DC: 0x91DB,\n 0xE7DD: 0x91FC,\n 0xE7DE: 0x91F5,\n 0xE7DF: 0x91F6,\n 0xE7E0: 0x921E,\n 0xE7E1: 0x91FF,\n 0xE7E2: 0x9214,\n 0xE7E3: 0x922C,\n 0xE7E4: 0x9215,\n 0xE7E5: 0x9211,\n 0xE7E6: 0x925E,\n 0xE7E7: 0x9257,\n 0xE7E8: 0x9245,\n 0xE7E9: 0x9249,\n 0xE7EA: 0x9264,\n 0xE7EB: 0x9248,\n 0xE7EC: 0x9295,\n 0xE7ED: 0x923F,\n 0xE7EE: 0x924B,\n 0xE7EF: 0x9250,\n 0xE7F0: 0x929C,\n 0xE7F1: 0x9296,\n 0xE7F2: 0x9293,\n 0xE7F3: 0x929B,\n 0xE7F4: 0x925A,\n 0xE7F5: 0x92CF,\n 0xE7F6: 0x92B9,\n 0xE7F7: 0x92B7,\n 0xE7F8: 0x92E9,\n 0xE7F9: 0x930F,\n 0xE7FA: 0x92FA,\n 0xE7FB: 0x9344,\n 0xE7FC: 0x932E,\n 0xE840: 0x9319,\n 0xE841: 0x9322,\n 0xE842: 0x931A,\n 0xE843: 0x9323,\n 0xE844: 0x933A,\n 0xE845: 0x9335,\n 0xE846: 0x933B,\n 0xE847: 0x935C,\n 0xE848: 0x9360,\n 0xE849: 0x937C,\n 0xE84A: 0x936E,\n 0xE84B: 0x9356,\n 0xE84C: 0x93B0,\n 0xE84D: 0x93AC,\n 0xE84E: 0x93AD,\n 0xE84F: 0x9394,\n 0xE850: 0x93B9,\n 0xE851: 0x93D6,\n 0xE852: 0x93D7,\n 0xE853: 0x93E8,\n 0xE854: 0x93E5,\n 0xE855: 0x93D8,\n 0xE856: 0x93C3,\n 0xE857: 0x93DD,\n 0xE858: 0x93D0,\n 0xE859: 0x93C8,\n 0xE85A: 0x93E4,\n 0xE85B: 0x941A,\n 0xE85C: 0x9414,\n 0xE85D: 0x9413,\n 0xE85E: 0x9403,\n 0xE85F: 0x9407,\n 0xE860: 0x9410,\n 0xE861: 0x9436,\n 0xE862: 0x942B,\n 0xE863: 0x9435,\n 0xE864: 0x9421,\n 0xE865: 0x943A,\n 0xE866: 0x9441,\n 0xE867: 0x9452,\n 0xE868: 0x9444,\n 0xE869: 0x945B,\n 0xE86A: 0x9460,\n 0xE86B: 0x9462,\n 0xE86C: 0x945E,\n 0xE86D: 0x946A,\n 0xE86E: 0x9229,\n 0xE86F: 0x9470,\n 0xE870: 0x9475,\n 0xE871: 0x9477,\n 0xE872: 0x947D,\n 0xE873: 0x945A,\n 0xE874: 0x947C,\n 0xE875: 0x947E,\n 0xE876: 0x9481,\n 0xE877: 0x947F,\n 0xE878: 0x9582,\n 0xE879: 0x9587,\n 0xE87A: 0x958A,\n 0xE87B: 0x9594,\n 0xE87C: 0x9596,\n 0xE87D: 0x9598,\n 0xE87E: 0x9599,\n 0xE880: 0x95A0,\n 0xE881: 0x95A8,\n 0xE882: 0x95A7,\n 0xE883: 0x95AD,\n 0xE884: 0x95BC,\n 0xE885: 0x95BB,\n 0xE886: 0x95B9,\n 0xE887: 0x95BE,\n 0xE888: 0x95CA,\n 0xE889: 0x6FF6,\n 0xE88A: 0x95C3,\n 0xE88B: 0x95CD,\n 0xE88C: 0x95CC,\n 0xE88D: 0x95D5,\n 0xE88E: 0x95D4,\n 0xE88F: 0x95D6,\n 0xE890: 0x95DC,\n 0xE891: 0x95E1,\n 0xE892: 0x95E5,\n 0xE893: 0x95E2,\n 0xE894: 0x9621,\n 0xE895: 0x9628,\n 0xE896: 0x962E,\n 0xE897: 0x962F,\n 0xE898: 0x9642,\n 0xE899: 0x964C,\n 0xE89A: 0x964F,\n 0xE89B: 0x964B,\n 0xE89C: 0x9677,\n 0xE89D: 0x965C,\n 0xE89E: 0x965E,\n 0xE89F: 0x965D,\n 0xE8A0: 0x965F,\n 0xE8A1: 0x9666,\n 0xE8A2: 0x9672,\n 0xE8A3: 0x966C,\n 0xE8A4: 0x968D,\n 0xE8A5: 0x9698,\n 0xE8A6: 0x9695,\n 0xE8A7: 0x9697,\n 0xE8A8: 0x96AA,\n 0xE8A9: 0x96A7,\n 0xE8AA: 0x96B1,\n 0xE8AB: 0x96B2,\n 0xE8AC: 0x96B0,\n 0xE8AD: 0x96B4,\n 0xE8AE: 0x96B6,\n 0xE8AF: 0x96B8,\n 0xE8B0: 0x96B9,\n 0xE8B1: 0x96CE,\n 0xE8B2: 0x96CB,\n 0xE8B3: 0x96C9,\n 0xE8B4: 0x96CD,\n 0xE8B5: 0x894D,\n 0xE8B6: 0x96DC,\n 0xE8B7: 0x970D,\n 0xE8B8: 0x96D5,\n 0xE8B9: 0x96F9,\n 0xE8BA: 0x9704,\n 0xE8BB: 0x9706,\n 0xE8BC: 0x9708,\n 0xE8BD: 0x9713,\n 0xE8BE: 0x970E,\n 0xE8BF: 0x9711,\n 0xE8C0: 0x970F,\n 0xE8C1: 0x9716,\n 0xE8C2: 0x9719,\n 0xE8C3: 0x9724,\n 0xE8C4: 0x972A,\n 0xE8C5: 0x9730,\n 0xE8C6: 0x9739,\n 0xE8C7: 0x973D,\n 0xE8C8: 0x973E,\n 0xE8C9: 0x9744,\n 0xE8CA: 0x9746,\n 0xE8CB: 0x9748,\n 0xE8CC: 0x9742,\n 0xE8CD: 0x9749,\n 0xE8CE: 0x975C,\n 0xE8CF: 0x9760,\n 0xE8D0: 0x9764,\n 0xE8D1: 0x9766,\n 0xE8D2: 0x9768,\n 0xE8D3: 0x52D2,\n 0xE8D4: 0x976B,\n 0xE8D5: 0x9771,\n 0xE8D6: 0x9779,\n 0xE8D7: 0x9785,\n 0xE8D8: 0x977C,\n 0xE8D9: 0x9781,\n 0xE8DA: 0x977A,\n 0xE8DB: 0x9786,\n 0xE8DC: 0x978B,\n 0xE8DD: 0x978F,\n 0xE8DE: 0x9790,\n 0xE8DF: 0x979C,\n 0xE8E0: 0x97A8,\n 0xE8E1: 0x97A6,\n 0xE8E2: 0x97A3,\n 0xE8E3: 0x97B3,\n 0xE8E4: 0x97B4,\n 0xE8E5: 0x97C3,\n 0xE8E6: 0x97C6,\n 0xE8E7: 0x97C8,\n 0xE8E8: 0x97CB,\n 0xE8E9: 0x97DC,\n 0xE8EA: 0x97ED,\n 0xE8EB: 0x9F4F,\n 0xE8EC: 0x97F2,\n 0xE8ED: 0x7ADF,\n 0xE8EE: 0x97F6,\n 0xE8EF: 0x97F5,\n 0xE8F0: 0x980F,\n 0xE8F1: 0x980C,\n 0xE8F2: 0x9838,\n 0xE8F3: 0x9824,\n 0xE8F4: 0x9821,\n 0xE8F5: 0x9837,\n 0xE8F6: 0x983D,\n 0xE8F7: 0x9846,\n 0xE8F8: 0x984F,\n 0xE8F9: 0x984B,\n 0xE8FA: 0x986B,\n 0xE8FB: 0x986F,\n 0xE8FC: 0x9870,\n 0xE940: 0x9871,\n 0xE941: 0x9874,\n 0xE942: 0x9873,\n 0xE943: 0x98AA,\n 0xE944: 0x98AF,\n 0xE945: 0x98B1,\n 0xE946: 0x98B6,\n 0xE947: 0x98C4,\n 0xE948: 0x98C3,\n 0xE949: 0x98C6,\n 0xE94A: 0x98E9,\n 0xE94B: 0x98EB,\n 0xE94C: 0x9903,\n 0xE94D: 0x9909,\n 0xE94E: 0x9912,\n 0xE94F: 0x9914,\n 0xE950: 0x9918,\n 0xE951: 0x9921,\n 0xE952: 0x991D,\n 0xE953: 0x991E,\n 0xE954: 0x9924,\n 0xE955: 0x9920,\n 0xE956: 0x992C,\n 0xE957: 0x992E,\n 0xE958: 0x993D,\n 0xE959: 0x993E,\n 0xE95A: 0x9942,\n 0xE95B: 0x9949,\n 0xE95C: 0x9945,\n 0xE95D: 0x9950,\n 0xE95E: 0x994B,\n 0xE95F: 0x9951,\n 0xE960: 0x9952,\n 0xE961: 0x994C,\n 0xE962: 0x9955,\n 0xE963: 0x9997,\n 0xE964: 0x9998,\n 0xE965: 0x99A5,\n 0xE966: 0x99AD,\n 0xE967: 0x99AE,\n 0xE968: 0x99BC,\n 0xE969: 0x99DF,\n 0xE96A: 0x99DB,\n 0xE96B: 0x99DD,\n 0xE96C: 0x99D8,\n 0xE96D: 0x99D1,\n 0xE96E: 0x99ED,\n 0xE96F: 0x99EE,\n 0xE970: 0x99F1,\n 0xE971: 0x99F2,\n 0xE972: 0x99FB,\n 0xE973: 0x99F8,\n 0xE974: 0x9A01,\n 0xE975: 0x9A0F,\n 0xE976: 0x9A05,\n 0xE977: 0x99E2,\n 0xE978: 0x9A19,\n 0xE979: 0x9A2B,\n 0xE97A: 0x9A37,\n 0xE97B: 0x9A45,\n 0xE97C: 0x9A42,\n 0xE97D: 0x9A40,\n 0xE97E: 0x9A43,\n 0xE980: 0x9A3E,\n 0xE981: 0x9A55,\n 0xE982: 0x9A4D,\n 0xE983: 0x9A5B,\n 0xE984: 0x9A57,\n 0xE985: 0x9A5F,\n 0xE986: 0x9A62,\n 0xE987: 0x9A65,\n 0xE988: 0x9A64,\n 0xE989: 0x9A69,\n 0xE98A: 0x9A6B,\n 0xE98B: 0x9A6A,\n 0xE98C: 0x9AAD,\n 0xE98D: 0x9AB0,\n 0xE98E: 0x9ABC,\n 0xE98F: 0x9AC0,\n 0xE990: 0x9ACF,\n 0xE991: 0x9AD1,\n 0xE992: 0x9AD3,\n 0xE993: 0x9AD4,\n 0xE994: 0x9ADE,\n 0xE995: 0x9ADF,\n 0xE996: 0x9AE2,\n 0xE997: 0x9AE3,\n 0xE998: 0x9AE6,\n 0xE999: 0x9AEF,\n 0xE99A: 0x9AEB,\n 0xE99B: 0x9AEE,\n 0xE99C: 0x9AF4,\n 0xE99D: 0x9AF1,\n 0xE99E: 0x9AF7,\n 0xE99F: 0x9AFB,\n 0xE9A0: 0x9B06,\n 0xE9A1: 0x9B18,\n 0xE9A2: 0x9B1A,\n 0xE9A3: 0x9B1F,\n 0xE9A4: 0x9B22,\n 0xE9A5: 0x9B23,\n 0xE9A6: 0x9B25,\n 0xE9A7: 0x9B27,\n 0xE9A8: 0x9B28,\n 0xE9A9: 0x9B29,\n 0xE9AA: 0x9B2A,\n 0xE9AB: 0x9B2E,\n 0xE9AC: 0x9B2F,\n 0xE9AD: 0x9B32,\n 0xE9AE: 0x9B44,\n 0xE9AF: 0x9B43,\n 0xE9B0: 0x9B4F,\n 0xE9B1: 0x9B4D,\n 0xE9B2: 0x9B4E,\n 0xE9B3: 0x9B51,\n 0xE9B4: 0x9B58,\n 0xE9B5: 0x9B74,\n 0xE9B6: 0x9B93,\n 0xE9B7: 0x9B83,\n 0xE9B8: 0x9B91,\n 0xE9B9: 0x9B96,\n 0xE9BA: 0x9B97,\n 0xE9BB: 0x9B9F,\n 0xE9BC: 0x9BA0,\n 0xE9BD: 0x9BA8,\n 0xE9BE: 0x9BB4,\n 0xE9BF: 0x9BC0,\n 0xE9C0: 0x9BCA,\n 0xE9C1: 0x9BB9,\n 0xE9C2: 0x9BC6,\n 0xE9C3: 0x9BCF,\n 0xE9C4: 0x9BD1,\n 0xE9C5: 0x9BD2,\n 0xE9C6: 0x9BE3,\n 0xE9C7: 0x9BE2,\n 0xE9C8: 0x9BE4,\n 0xE9C9: 0x9BD4,\n 0xE9CA: 0x9BE1,\n 0xE9CB: 0x9C3A,\n 0xE9CC: 0x9BF2,\n 0xE9CD: 0x9BF1,\n 0xE9CE: 0x9BF0,\n 0xE9CF: 0x9C15,\n 0xE9D0: 0x9C14,\n 0xE9D1: 0x9C09,\n 0xE9D2: 0x9C13,\n 0xE9D3: 0x9C0C,\n 0xE9D4: 0x9C06,\n 0xE9D5: 0x9C08,\n 0xE9D6: 0x9C12,\n 0xE9D7: 0x9C0A,\n 0xE9D8: 0x9C04,\n 0xE9D9: 0x9C2E,\n 0xE9DA: 0x9C1B,\n 0xE9DB: 0x9C25,\n 0xE9DC: 0x9C24,\n 0xE9DD: 0x9C21,\n 0xE9DE: 0x9C30,\n 0xE9DF: 0x9C47,\n 0xE9E0: 0x9C32,\n 0xE9E1: 0x9C46,\n 0xE9E2: 0x9C3E,\n 0xE9E3: 0x9C5A,\n 0xE9E4: 0x9C60,\n 0xE9E5: 0x9C67,\n 0xE9E6: 0x9C76,\n 0xE9E7: 0x9C78,\n 0xE9E8: 0x9CE7,\n 0xE9E9: 0x9CEC,\n 0xE9EA: 0x9CF0,\n 0xE9EB: 0x9D09,\n 0xE9EC: 0x9D08,\n 0xE9ED: 0x9CEB,\n 0xE9EE: 0x9D03,\n 0xE9EF: 0x9D06,\n 0xE9F0: 0x9D2A,\n 0xE9F1: 0x9D26,\n 0xE9F2: 0x9DAF,\n 0xE9F3: 0x9D23,\n 0xE9F4: 0x9D1F,\n 0xE9F5: 0x9D44,\n 0xE9F6: 0x9D15,\n 0xE9F7: 0x9D12,\n 0xE9F8: 0x9D41,\n 0xE9F9: 0x9D3F,\n 0xE9FA: 0x9D3E,\n 0xE9FB: 0x9D46,\n 0xE9FC: 0x9D48,\n 0xEA40: 0x9D5D,\n 0xEA41: 0x9D5E,\n 0xEA42: 0x9D64,\n 0xEA43: 0x9D51,\n 0xEA44: 0x9D50,\n 0xEA45: 0x9D59,\n 0xEA46: 0x9D72,\n 0xEA47: 0x9D89,\n 0xEA48: 0x9D87,\n 0xEA49: 0x9DAB,\n 0xEA4A: 0x9D6F,\n 0xEA4B: 0x9D7A,\n 0xEA4C: 0x9D9A,\n 0xEA4D: 0x9DA4,\n 0xEA4E: 0x9DA9,\n 0xEA4F: 0x9DB2,\n 0xEA50: 0x9DC4,\n 0xEA51: 0x9DC1,\n 0xEA52: 0x9DBB,\n 0xEA53: 0x9DB8,\n 0xEA54: 0x9DBA,\n 0xEA55: 0x9DC6,\n 0xEA56: 0x9DCF,\n 0xEA57: 0x9DC2,\n 0xEA58: 0x9DD9,\n 0xEA59: 0x9DD3,\n 0xEA5A: 0x9DF8,\n 0xEA5B: 0x9DE6,\n 0xEA5C: 0x9DED,\n 0xEA5D: 0x9DEF,\n 0xEA5E: 0x9DFD,\n 0xEA5F: 0x9E1A,\n 0xEA60: 0x9E1B,\n 0xEA61: 0x9E1E,\n 0xEA62: 0x9E75,\n 0xEA63: 0x9E79,\n 0xEA64: 0x9E7D,\n 0xEA65: 0x9E81,\n 0xEA66: 0x9E88,\n 0xEA67: 0x9E8B,\n 0xEA68: 0x9E8C,\n 0xEA69: 0x9E92,\n 0xEA6A: 0x9E95,\n 0xEA6B: 0x9E91,\n 0xEA6C: 0x9E9D,\n 0xEA6D: 0x9EA5,\n 0xEA6E: 0x9EA9,\n 0xEA6F: 0x9EB8,\n 0xEA70: 0x9EAA,\n 0xEA71: 0x9EAD,\n 0xEA72: 0x9761,\n 0xEA73: 0x9ECC,\n 0xEA74: 0x9ECE,\n 0xEA75: 0x9ECF,\n 0xEA76: 0x9ED0,\n 0xEA77: 0x9ED4,\n 0xEA78: 0x9EDC,\n 0xEA79: 0x9EDE,\n 0xEA7A: 0x9EDD,\n 0xEA7B: 0x9EE0,\n 0xEA7C: 0x9EE5,\n 0xEA7D: 0x9EE8,\n 0xEA7E: 0x9EEF,\n 0xEA80: 0x9EF4,\n 0xEA81: 0x9EF6,\n 0xEA82: 0x9EF7,\n 0xEA83: 0x9EF9,\n 0xEA84: 0x9EFB,\n 0xEA85: 0x9EFC,\n 0xEA86: 0x9EFD,\n 0xEA87: 0x9F07,\n 0xEA88: 0x9F08,\n 0xEA89: 0x76B7,\n 0xEA8A: 0x9F15,\n 0xEA8B: 0x9F21,\n 0xEA8C: 0x9F2C,\n 0xEA8D: 0x9F3E,\n 0xEA8E: 0x9F4A,\n 0xEA8F: 0x9F52,\n 0xEA90: 0x9F54,\n 0xEA91: 0x9F63,\n 0xEA92: 0x9F5F,\n 0xEA93: 0x9F60,\n 0xEA94: 0x9F61,\n 0xEA95: 0x9F66,\n 0xEA96: 0x9F67,\n 0xEA97: 0x9F6C,\n 0xEA98: 0x9F6A,\n 0xEA99: 0x9F77,\n 0xEA9A: 0x9F72,\n 0xEA9B: 0x9F76,\n 0xEA9C: 0x9F95,\n 0xEA9D: 0x9F9C,\n 0xEA9E: 0x9FA0,\n 0xEA9F: 0x582F,\n 0xEAA0: 0x69C7,\n 0xEAA1: 0x9059,\n 0xEAA2: 0x7464,\n 0xEAA3: 0x51DC,\n 0xEAA4: 0x7199,\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __nested_webpack_require_183922__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar GenericGF_1 = __nested_webpack_require_183922__(1);\nvar GenericGFPoly_1 = __nested_webpack_require_183922__(2);\nfunction runEuclideanAlgorithm(field, a, b, R) {\n var _a;\n // Assume a\'s degree is >= b\'s\n if (a.degree() < b.degree()) {\n _a = [b, a], a = _a[0], b = _a[1];\n }\n var rLast = a;\n var r = b;\n var tLast = field.zero;\n var t = field.one;\n // Run Euclidean algorithm until r\'s degree is less than R/2\n while (r.degree() >= R / 2) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Euclidean algorithm already terminated?\n return null;\n }\n r = rLastLast;\n var q = field.zero;\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.degree());\n var dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.degree() >= rLast.degree() && !r.isZero()) {\n var degreeDiff = r.degree() - rLast.degree();\n var scale = field.multiply(r.getCoefficient(r.degree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiplyPoly(tLast).addOrSubtract(tLastLast);\n if (r.degree() >= rLast.degree()) {\n return null;\n }\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n return null;\n }\n var inverse = field.inverse(sigmaTildeAtZero);\n return [t.multiply(inverse), r.multiply(inverse)];\n}\nfunction findErrorLocations(field, errorLocator) {\n // This is a direct application of Chien\'s search\n var numErrors = errorLocator.degree();\n if (numErrors === 1) {\n return [errorLocator.getCoefficient(1)];\n }\n var result = new Array(numErrors);\n var errorCount = 0;\n for (var i = 1; i < field.size && errorCount < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[errorCount] = field.inverse(i);\n errorCount++;\n }\n }\n if (errorCount !== numErrors) {\n return null;\n }\n return result;\n}\nfunction findErrorMagnitudes(field, errorEvaluator, errorLocations) {\n // This is directly applying Forney\'s Formula\n var s = errorLocations.length;\n var result = new Array(s);\n for (var i = 0; i < s; i++) {\n var xiInverse = field.inverse(errorLocations[i]);\n var denominator = 1;\n for (var j = 0; j < s; j++) {\n if (i !== j) {\n denominator = field.multiply(denominator, GenericGF_1.addOrSubtractGF(1, field.multiply(errorLocations[j], xiInverse)));\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse), field.inverse(denominator));\n if (field.generatorBase !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n}\nfunction decode(bytes, twoS) {\n var outputBytes = new Uint8ClampedArray(bytes.length);\n outputBytes.set(bytes);\n var field = new GenericGF_1.default(0x011D, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n var poly = new GenericGFPoly_1.default(field, outputBytes);\n var syndromeCoefficients = new Uint8ClampedArray(twoS);\n var error = false;\n for (var s = 0; s < twoS; s++) {\n var evaluation = poly.evaluateAt(field.exp(s + field.generatorBase));\n syndromeCoefficients[syndromeCoefficients.length - 1 - s] = evaluation;\n if (evaluation !== 0) {\n error = true;\n }\n }\n if (!error) {\n return outputBytes;\n }\n var syndrome = new GenericGFPoly_1.default(field, syndromeCoefficients);\n var sigmaOmega = runEuclideanAlgorithm(field, field.buildMonomial(twoS, 1), syndrome, twoS);\n if (sigmaOmega === null) {\n return null;\n }\n var errorLocations = findErrorLocations(field, sigmaOmega[0]);\n if (errorLocations == null) {\n return null;\n }\n var errorMagnitudes = findErrorMagnitudes(field, sigmaOmega[1], errorLocations);\n for (var i = 0; i < errorLocations.length; i++) {\n var position = outputBytes.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n return null;\n }\n outputBytes[position] = GenericGF_1.addOrSubtractGF(outputBytes[position], errorMagnitudes[i]);\n }\n return outputBytes;\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nexports.VERSIONS = [\n {\n infoBits: null,\n versionNumber: 1,\n alignmentPatternCenters: [],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 7,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 19 }],\n },\n {\n ecCodewordsPerBlock: 10,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],\n },\n {\n ecCodewordsPerBlock: 13,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 13 }],\n },\n {\n ecCodewordsPerBlock: 17,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 9 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 2,\n alignmentPatternCenters: [6, 18],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 10,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 34 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 28 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 22 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 16 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 3,\n alignmentPatternCenters: [6, 22],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 15,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 55 }],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 44 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 17 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 13 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 4,\n alignmentPatternCenters: [6, 26],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 80 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 32 }],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 24 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 9 }],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 5,\n alignmentPatternCenters: [6, 30],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 1, dataCodewordsPerBlock: 108 }],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 43 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n { numBlocks: 2, dataCodewordsPerBlock: 16 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 11 },\n { numBlocks: 2, dataCodewordsPerBlock: 12 },\n ],\n },\n ],\n },\n {\n infoBits: null,\n versionNumber: 6,\n alignmentPatternCenters: [6, 34],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 68 }],\n },\n {\n ecCodewordsPerBlock: 16,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 27 }],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 19 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 15 }],\n },\n ],\n },\n {\n infoBits: 0x07C94,\n versionNumber: 7,\n alignmentPatternCenters: [6, 22, 38],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 78 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 31 }],\n },\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 4, dataCodewordsPerBlock: 15 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 13 },\n { numBlocks: 1, dataCodewordsPerBlock: 14 },\n ],\n },\n ],\n },\n {\n infoBits: 0x085BC,\n versionNumber: 8,\n alignmentPatternCenters: [6, 24, 42],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 97 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 38 },\n { numBlocks: 2, dataCodewordsPerBlock: 39 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 18 },\n { numBlocks: 2, dataCodewordsPerBlock: 19 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 14 },\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x09A99,\n versionNumber: 9,\n alignmentPatternCenters: [6, 26, 46],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [{ numBlocks: 2, dataCodewordsPerBlock: 116 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 36 },\n { numBlocks: 2, dataCodewordsPerBlock: 37 },\n ],\n },\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 16 },\n { numBlocks: 4, dataCodewordsPerBlock: 17 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 12 },\n { numBlocks: 4, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0A4D3,\n versionNumber: 10,\n alignmentPatternCenters: [6, 28, 50],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 18,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 68 },\n { numBlocks: 2, dataCodewordsPerBlock: 69 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 43 },\n { numBlocks: 1, dataCodewordsPerBlock: 44 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 19 },\n { numBlocks: 2, dataCodewordsPerBlock: 20 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 15 },\n { numBlocks: 2, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0BBF6,\n versionNumber: 11,\n alignmentPatternCenters: [6, 30, 54],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 81 }],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 50 },\n { numBlocks: 4, dataCodewordsPerBlock: 51 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 22 },\n { numBlocks: 4, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 12 },\n { numBlocks: 8, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0C762,\n versionNumber: 12,\n alignmentPatternCenters: [6, 32, 58],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 92 },\n { numBlocks: 2, dataCodewordsPerBlock: 93 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 36 },\n { numBlocks: 2, dataCodewordsPerBlock: 37 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 20 },\n { numBlocks: 6, dataCodewordsPerBlock: 21 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 14 },\n { numBlocks: 4, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0D847,\n versionNumber: 13,\n alignmentPatternCenters: [6, 34, 62],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 4, dataCodewordsPerBlock: 107 }],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 37 },\n { numBlocks: 1, dataCodewordsPerBlock: 38 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 20 },\n { numBlocks: 4, dataCodewordsPerBlock: 21 },\n ],\n },\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 11 },\n { numBlocks: 4, dataCodewordsPerBlock: 12 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0E60D,\n versionNumber: 14,\n alignmentPatternCenters: [6, 26, 46, 66],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 115 },\n { numBlocks: 1, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 40 },\n { numBlocks: 5, dataCodewordsPerBlock: 41 },\n ],\n },\n {\n ecCodewordsPerBlock: 20,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 16 },\n { numBlocks: 5, dataCodewordsPerBlock: 17 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 12 },\n { numBlocks: 5, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x0F928,\n versionNumber: 15,\n alignmentPatternCenters: [6, 26, 48, 70],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 22,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 87 },\n { numBlocks: 1, dataCodewordsPerBlock: 88 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 41 },\n { numBlocks: 5, dataCodewordsPerBlock: 42 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 24 },\n { numBlocks: 7, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 12 },\n { numBlocks: 7, dataCodewordsPerBlock: 13 },\n ],\n },\n ],\n },\n {\n infoBits: 0x10B78,\n versionNumber: 16,\n alignmentPatternCenters: [6, 26, 50, 74],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 98 },\n { numBlocks: 1, dataCodewordsPerBlock: 99 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 45 },\n { numBlocks: 3, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 19 },\n { numBlocks: 2, dataCodewordsPerBlock: 20 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 15 },\n { numBlocks: 13, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1145D,\n versionNumber: 17,\n alignmentPatternCenters: [6, 30, 54, 78],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 107 },\n { numBlocks: 5, dataCodewordsPerBlock: 108 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 46 },\n { numBlocks: 1, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 22 },\n { numBlocks: 15, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 17, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x12A17,\n versionNumber: 18,\n alignmentPatternCenters: [6, 30, 56, 82],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 120 },\n { numBlocks: 1, dataCodewordsPerBlock: 121 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 9, dataCodewordsPerBlock: 43 },\n { numBlocks: 4, dataCodewordsPerBlock: 44 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 22 },\n { numBlocks: 1, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 14 },\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n ],\n },\n ],\n },\n {\n infoBits: 0x13532,\n versionNumber: 19,\n alignmentPatternCenters: [6, 30, 58, 86],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 113 },\n { numBlocks: 4, dataCodewordsPerBlock: 114 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 44 },\n { numBlocks: 11, dataCodewordsPerBlock: 45 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 21 },\n { numBlocks: 4, dataCodewordsPerBlock: 22 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 9, dataCodewordsPerBlock: 13 },\n { numBlocks: 16, dataCodewordsPerBlock: 14 },\n ],\n },\n ],\n },\n {\n infoBits: 0x149A6,\n versionNumber: 20,\n alignmentPatternCenters: [6, 34, 62, 90],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 107 },\n { numBlocks: 5, dataCodewordsPerBlock: 108 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 41 },\n { numBlocks: 13, dataCodewordsPerBlock: 42 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 24 },\n { numBlocks: 5, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 15 },\n { numBlocks: 10, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x15683,\n versionNumber: 21,\n alignmentPatternCenters: [6, 28, 50, 72, 94],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 116 },\n { numBlocks: 4, dataCodewordsPerBlock: 117 },\n ],\n },\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 42 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 22 },\n { numBlocks: 6, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 16 },\n { numBlocks: 6, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x168C9,\n versionNumber: 22,\n alignmentPatternCenters: [6, 26, 50, 74, 98],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 111 },\n { numBlocks: 7, dataCodewordsPerBlock: 112 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 46 }],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 24 },\n { numBlocks: 16, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 24,\n ecBlocks: [{ numBlocks: 34, dataCodewordsPerBlock: 13 }],\n },\n ],\n },\n {\n infoBits: 0x177EC,\n versionNumber: 23,\n alignmentPatternCenters: [6, 30, 54, 74, 102],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 121 },\n { numBlocks: 5, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 47 },\n { numBlocks: 14, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 16, dataCodewordsPerBlock: 15 },\n { numBlocks: 14, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x18EC4,\n versionNumber: 24,\n alignmentPatternCenters: [6, 28, 54, 80, 106],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 117 },\n { numBlocks: 4, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 45 },\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 24 },\n { numBlocks: 16, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 30, dataCodewordsPerBlock: 16 },\n { numBlocks: 2, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x191E1,\n versionNumber: 25,\n alignmentPatternCenters: [6, 32, 58, 84, 110],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 26,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 106 },\n { numBlocks: 4, dataCodewordsPerBlock: 107 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 47 },\n { numBlocks: 13, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 24 },\n { numBlocks: 22, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 15 },\n { numBlocks: 13, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1AFAB,\n versionNumber: 26,\n alignmentPatternCenters: [6, 30, 58, 86, 114],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 114 },\n { numBlocks: 2, dataCodewordsPerBlock: 115 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 46 },\n { numBlocks: 4, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 28, dataCodewordsPerBlock: 22 },\n { numBlocks: 6, dataCodewordsPerBlock: 23 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 33, dataCodewordsPerBlock: 16 },\n { numBlocks: 4, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1B08E,\n versionNumber: 27,\n alignmentPatternCenters: [6, 34, 62, 90, 118],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 122 },\n { numBlocks: 4, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 45 },\n { numBlocks: 3, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 8, dataCodewordsPerBlock: 23 },\n { numBlocks: 26, dataCodewordsPerBlock: 24 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 15 },\n { numBlocks: 28, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1CC1A,\n versionNumber: 28,\n alignmentPatternCenters: [6, 26, 50, 74, 98, 122],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 117 },\n { numBlocks: 10, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 3, dataCodewordsPerBlock: 45 },\n { numBlocks: 23, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 24 },\n { numBlocks: 31, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 15 },\n { numBlocks: 31, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1D33F,\n versionNumber: 29,\n alignmentPatternCenters: [6, 30, 54, 78, 102, 126],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 7, dataCodewordsPerBlock: 116 },\n { numBlocks: 7, dataCodewordsPerBlock: 117 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 21, dataCodewordsPerBlock: 45 },\n { numBlocks: 7, dataCodewordsPerBlock: 46 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 1, dataCodewordsPerBlock: 23 },\n { numBlocks: 37, dataCodewordsPerBlock: 24 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n { numBlocks: 26, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1ED75,\n versionNumber: 30,\n alignmentPatternCenters: [6, 26, 52, 78, 104, 130],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 5, dataCodewordsPerBlock: 115 },\n { numBlocks: 10, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 47 },\n { numBlocks: 10, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 15, dataCodewordsPerBlock: 24 },\n { numBlocks: 25, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 23, dataCodewordsPerBlock: 15 },\n { numBlocks: 25, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x1F250,\n versionNumber: 31,\n alignmentPatternCenters: [6, 30, 56, 82, 108, 134],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 115 },\n { numBlocks: 3, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 46 },\n { numBlocks: 29, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 42, dataCodewordsPerBlock: 24 },\n { numBlocks: 1, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 23, dataCodewordsPerBlock: 15 },\n { numBlocks: 28, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x209D5,\n versionNumber: 32,\n alignmentPatternCenters: [6, 34, 60, 86, 112, 138],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [{ numBlocks: 17, dataCodewordsPerBlock: 115 }],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 46 },\n { numBlocks: 23, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 24 },\n { numBlocks: 35, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 15 },\n { numBlocks: 35, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x216F0,\n versionNumber: 33,\n alignmentPatternCenters: [6, 30, 58, 86, 114, 142],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 115 },\n { numBlocks: 1, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n { numBlocks: 21, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 29, dataCodewordsPerBlock: 24 },\n { numBlocks: 19, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 11, dataCodewordsPerBlock: 15 },\n { numBlocks: 46, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x228BA,\n versionNumber: 34,\n alignmentPatternCenters: [6, 34, 62, 90, 118, 146],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 115 },\n { numBlocks: 6, dataCodewordsPerBlock: 116 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 14, dataCodewordsPerBlock: 46 },\n { numBlocks: 23, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 44, dataCodewordsPerBlock: 24 },\n { numBlocks: 7, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 59, dataCodewordsPerBlock: 16 },\n { numBlocks: 1, dataCodewordsPerBlock: 17 },\n ],\n },\n ],\n },\n {\n infoBits: 0x2379F,\n versionNumber: 35,\n alignmentPatternCenters: [6, 30, 54, 78, 102, 126, 150],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 121 },\n { numBlocks: 7, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 12, dataCodewordsPerBlock: 47 },\n { numBlocks: 26, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 39, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 22, dataCodewordsPerBlock: 15 },\n { numBlocks: 41, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x24B0B,\n versionNumber: 36,\n alignmentPatternCenters: [6, 24, 50, 76, 102, 128, 154],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 121 },\n { numBlocks: 14, dataCodewordsPerBlock: 122 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 6, dataCodewordsPerBlock: 47 },\n { numBlocks: 34, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 46, dataCodewordsPerBlock: 24 },\n { numBlocks: 10, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 2, dataCodewordsPerBlock: 15 },\n { numBlocks: 64, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x2542E,\n versionNumber: 37,\n alignmentPatternCenters: [6, 28, 54, 80, 106, 132, 158],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 17, dataCodewordsPerBlock: 122 },\n { numBlocks: 4, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 29, dataCodewordsPerBlock: 46 },\n { numBlocks: 14, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 49, dataCodewordsPerBlock: 24 },\n { numBlocks: 10, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 24, dataCodewordsPerBlock: 15 },\n { numBlocks: 46, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x26A64,\n versionNumber: 38,\n alignmentPatternCenters: [6, 32, 58, 84, 110, 136, 162],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 4, dataCodewordsPerBlock: 122 },\n { numBlocks: 18, dataCodewordsPerBlock: 123 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 13, dataCodewordsPerBlock: 46 },\n { numBlocks: 32, dataCodewordsPerBlock: 47 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 48, dataCodewordsPerBlock: 24 },\n { numBlocks: 14, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 42, dataCodewordsPerBlock: 15 },\n { numBlocks: 32, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x27541,\n versionNumber: 39,\n alignmentPatternCenters: [6, 26, 54, 82, 110, 138, 166],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 20, dataCodewordsPerBlock: 117 },\n { numBlocks: 4, dataCodewordsPerBlock: 118 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 40, dataCodewordsPerBlock: 47 },\n { numBlocks: 7, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 43, dataCodewordsPerBlock: 24 },\n { numBlocks: 22, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 10, dataCodewordsPerBlock: 15 },\n { numBlocks: 67, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n {\n infoBits: 0x28C69,\n versionNumber: 40,\n alignmentPatternCenters: [6, 30, 58, 86, 114, 142, 170],\n errorCorrectionLevels: [\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 19, dataCodewordsPerBlock: 118 },\n { numBlocks: 6, dataCodewordsPerBlock: 119 },\n ],\n },\n {\n ecCodewordsPerBlock: 28,\n ecBlocks: [\n { numBlocks: 18, dataCodewordsPerBlock: 47 },\n { numBlocks: 31, dataCodewordsPerBlock: 48 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 34, dataCodewordsPerBlock: 24 },\n { numBlocks: 34, dataCodewordsPerBlock: 25 },\n ],\n },\n {\n ecCodewordsPerBlock: 30,\n ecBlocks: [\n { numBlocks: 20, dataCodewordsPerBlock: 15 },\n { numBlocks: 61, dataCodewordsPerBlock: 16 },\n ],\n },\n ],\n },\n];\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __nested_webpack_require_231645__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar BitMatrix_1 = __nested_webpack_require_231645__(0);\nfunction squareToQuadrilateral(p1, p2, p3, p4) {\n var dx3 = p1.x - p2.x + p3.x - p4.x;\n var dy3 = p1.y - p2.y + p3.y - p4.y;\n if (dx3 === 0 && dy3 === 0) { // Affine\n return {\n a11: p2.x - p1.x,\n a12: p2.y - p1.y,\n a13: 0,\n a21: p3.x - p2.x,\n a22: p3.y - p2.y,\n a23: 0,\n a31: p1.x,\n a32: p1.y,\n a33: 1,\n };\n }\n else {\n var dx1 = p2.x - p3.x;\n var dx2 = p4.x - p3.x;\n var dy1 = p2.y - p3.y;\n var dy2 = p4.y - p3.y;\n var denominator = dx1 * dy2 - dx2 * dy1;\n var a13 = (dx3 * dy2 - dx2 * dy3) / denominator;\n var a23 = (dx1 * dy3 - dx3 * dy1) / denominator;\n return {\n a11: p2.x - p1.x + a13 * p2.x,\n a12: p2.y - p1.y + a13 * p2.y,\n a13: a13,\n a21: p4.x - p1.x + a23 * p4.x,\n a22: p4.y - p1.y + a23 * p4.y,\n a23: a23,\n a31: p1.x,\n a32: p1.y,\n a33: 1,\n };\n }\n}\nfunction quadrilateralToSquare(p1, p2, p3, p4) {\n // Here, the adjoint serves as the inverse:\n var sToQ = squareToQuadrilateral(p1, p2, p3, p4);\n return {\n a11: sToQ.a22 * sToQ.a33 - sToQ.a23 * sToQ.a32,\n a12: sToQ.a13 * sToQ.a32 - sToQ.a12 * sToQ.a33,\n a13: sToQ.a12 * sToQ.a23 - sToQ.a13 * sToQ.a22,\n a21: sToQ.a23 * sToQ.a31 - sToQ.a21 * sToQ.a33,\n a22: sToQ.a11 * sToQ.a33 - sToQ.a13 * sToQ.a31,\n a23: sToQ.a13 * sToQ.a21 - sToQ.a11 * sToQ.a23,\n a31: sToQ.a21 * sToQ.a32 - sToQ.a22 * sToQ.a31,\n a32: sToQ.a12 * sToQ.a31 - sToQ.a11 * sToQ.a32,\n a33: sToQ.a11 * sToQ.a22 - sToQ.a12 * sToQ.a21,\n };\n}\nfunction times(a, b) {\n return {\n a11: a.a11 * b.a11 + a.a21 * b.a12 + a.a31 * b.a13,\n a12: a.a12 * b.a11 + a.a22 * b.a12 + a.a32 * b.a13,\n a13: a.a13 * b.a11 + a.a23 * b.a12 + a.a33 * b.a13,\n a21: a.a11 * b.a21 + a.a21 * b.a22 + a.a31 * b.a23,\n a22: a.a12 * b.a21 + a.a22 * b.a22 + a.a32 * b.a23,\n a23: a.a13 * b.a21 + a.a23 * b.a22 + a.a33 * b.a23,\n a31: a.a11 * b.a31 + a.a21 * b.a32 + a.a31 * b.a33,\n a32: a.a12 * b.a31 + a.a22 * b.a32 + a.a32 * b.a33,\n a33: a.a13 * b.a31 + a.a23 * b.a32 + a.a33 * b.a33,\n };\n}\nfunction extract(image, location) {\n var qToS = quadrilateralToSquare({ x: 3.5, y: 3.5 }, { x: location.dimension - 3.5, y: 3.5 }, { x: location.dimension - 6.5, y: location.dimension - 6.5 }, { x: 3.5, y: location.dimension - 3.5 });\n var sToQ = squareToQuadrilateral(location.topLeft, location.topRight, location.alignmentPattern, location.bottomLeft);\n var transform = times(sToQ, qToS);\n var matrix = BitMatrix_1.BitMatrix.createEmpty(location.dimension, location.dimension);\n var mappingFunction = function (x, y) {\n var denominator = transform.a13 * x + transform.a23 * y + transform.a33;\n return {\n x: (transform.a11 * x + transform.a21 * y + transform.a31) / denominator,\n y: (transform.a12 * x + transform.a22 * y + transform.a32) / denominator,\n };\n };\n for (var y = 0; y < location.dimension; y++) {\n for (var x = 0; x < location.dimension; x++) {\n var xValue = x + 0.5;\n var yValue = y + 0.5;\n var sourcePixel = mappingFunction(xValue, yValue);\n matrix.set(x, y, image.get(Math.floor(sourcePixel.x), Math.floor(sourcePixel.y)));\n }\n }\n return {\n matrix: matrix,\n mappingFunction: mappingFunction,\n };\n}\nexports.extract = extract;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\nObject.defineProperty(exports, "__esModule", { value: true });\nvar MAX_FINDERPATTERNS_TO_SEARCH = 4;\nvar MIN_QUAD_RATIO = 0.5;\nvar MAX_QUAD_RATIO = 1.5;\nvar distance = function (a, b) { return Math.sqrt(Math.pow((b.x - a.x), 2) + Math.pow((b.y - a.y), 2)); };\nfunction sum(values) {\n return values.reduce(function (a, b) { return a + b; });\n}\n// Takes three finder patterns and organizes them into topLeft, topRight, etc\nfunction reorderFinderPatterns(pattern1, pattern2, pattern3) {\n var _a, _b, _c, _d;\n // Find distances between pattern centers\n var oneTwoDistance = distance(pattern1, pattern2);\n var twoThreeDistance = distance(pattern2, pattern3);\n var oneThreeDistance = distance(pattern1, pattern3);\n var bottomLeft;\n var topLeft;\n var topRight;\n // Assume one closest to other two is B; A and C will just be guesses at first\n if (twoThreeDistance >= oneTwoDistance && twoThreeDistance >= oneThreeDistance) {\n _a = [pattern2, pattern1, pattern3], bottomLeft = _a[0], topLeft = _a[1], topRight = _a[2];\n }\n else if (oneThreeDistance >= twoThreeDistance && oneThreeDistance >= oneTwoDistance) {\n _b = [pattern1, pattern2, pattern3], bottomLeft = _b[0], topLeft = _b[1], topRight = _b[2];\n }\n else {\n _c = [pattern1, pattern3, pattern2], bottomLeft = _c[0], topLeft = _c[1], topRight = _c[2];\n }\n // Use cross product to figure out whether bottomLeft (A) and topRight (C) are correct or flipped in relation to topLeft (B)\n // This asks whether BC x BA has a positive z component, which is the arrangement we want. If it\'s negative, then\n // we\'ve got it flipped around and should swap topRight and bottomLeft.\n if (((topRight.x - topLeft.x) * (bottomLeft.y - topLeft.y)) - ((topRight.y - topLeft.y) * (bottomLeft.x - topLeft.x)) < 0) {\n _d = [topRight, bottomLeft], bottomLeft = _d[0], topRight = _d[1];\n }\n return { bottomLeft: bottomLeft, topLeft: topLeft, topRight: topRight };\n}\n// Computes the dimension (number of modules on a side) of the QR Code based on the position of the finder patterns\nfunction computeDimension(topLeft, topRight, bottomLeft, matrix) {\n var moduleSize = (sum(countBlackWhiteRun(topLeft, bottomLeft, matrix, 5)) / 7 + // Divide by 7 since the ratio is 1:1:3:1:1\n sum(countBlackWhiteRun(topLeft, topRight, matrix, 5)) / 7 +\n sum(countBlackWhiteRun(bottomLeft, topLeft, matrix, 5)) / 7 +\n sum(countBlackWhiteRun(topRight, topLeft, matrix, 5)) / 7) / 4;\n if (moduleSize < 1) {\n throw new Error("Invalid module size");\n }\n var topDimension = Math.round(distance(topLeft, topRight) / moduleSize);\n var sideDimension = Math.round(distance(topLeft, bottomLeft) / moduleSize);\n var dimension = Math.floor((topDimension + sideDimension) / 2) + 7;\n switch (dimension % 4) {\n case 0:\n dimension++;\n break;\n case 2:\n dimension--;\n break;\n }\n return { dimension: dimension, moduleSize: moduleSize };\n}\n// Takes an origin point and an end point and counts the sizes of the black white run from the origin towards the end point.\n// Returns an array of elements, representing the pixel size of the black white run.\n// Uses a variant of http://en.wikipedia.org/wiki/Bresenham\'s_line_algorithm\nfunction countBlackWhiteRunTowardsPoint(origin, end, matrix, length) {\n var switchPoints = [{ x: Math.floor(origin.x), y: Math.floor(origin.y) }];\n var steep = Math.abs(end.y - origin.y) > Math.abs(end.x - origin.x);\n var fromX;\n var fromY;\n var toX;\n var toY;\n if (steep) {\n fromX = Math.floor(origin.y);\n fromY = Math.floor(origin.x);\n toX = Math.floor(end.y);\n toY = Math.floor(end.x);\n }\n else {\n fromX = Math.floor(origin.x);\n fromY = Math.floor(origin.y);\n toX = Math.floor(end.x);\n toY = Math.floor(end.y);\n }\n var dx = Math.abs(toX - fromX);\n var dy = Math.abs(toY - fromY);\n var error = Math.floor(-dx / 2);\n var xStep = fromX < toX ? 1 : -1;\n var yStep = fromY < toY ? 1 : -1;\n var currentPixel = true;\n // Loop up until x == toX, but not beyond\n for (var x = fromX, y = fromY; x !== toX + xStep; x += xStep) {\n // Does current pixel mean we have moved white to black or vice versa?\n // Scanning black in state 0,2 and white in state 1, so if we find the wrong\n // color, advance to next state or end if we are in state 2 already\n var realX = steep ? y : x;\n var realY = steep ? x : y;\n if (matrix.get(realX, realY) !== currentPixel) {\n currentPixel = !currentPixel;\n switchPoints.push({ x: realX, y: realY });\n if (switchPoints.length === length + 1) {\n break;\n }\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += yStep;\n error -= dx;\n }\n }\n var distances = [];\n for (var i = 0; i < length; i++) {\n if (switchPoints[i] && switchPoints[i + 1]) {\n distances.push(distance(switchPoints[i], switchPoints[i + 1]));\n }\n else {\n distances.push(0);\n }\n }\n return distances;\n}\n// Takes an origin point and an end point and counts the sizes of the black white run in the origin point\n// along the line that intersects with the end point. Returns an array of elements, representing the pixel sizes\n// of the black white run. Takes a length which represents the number of switches from black to white to look for.\nfunction countBlackWhiteRun(origin, end, matrix, length) {\n var _a;\n var rise = end.y - origin.y;\n var run = end.x - origin.x;\n var towardsEnd = countBlackWhiteRunTowardsPoint(origin, end, matrix, Math.ceil(length / 2));\n var awayFromEnd = countBlackWhiteRunTowardsPoint(origin, { x: origin.x - run, y: origin.y - rise }, matrix, Math.ceil(length / 2));\n var middleValue = towardsEnd.shift() + awayFromEnd.shift() - 1; // Substract one so we don\'t double count a pixel\n return (_a = awayFromEnd.concat(middleValue)).concat.apply(_a, towardsEnd);\n}\n// Takes in a black white run and an array of expected ratios. Returns the average size of the run as well as the "error" -\n// that is the amount the run diverges from the expected ratio\nfunction scoreBlackWhiteRun(sequence, ratios) {\n var averageSize = sum(sequence) / sum(ratios);\n var error = 0;\n ratios.forEach(function (ratio, i) {\n error += Math.pow((sequence[i] - ratio * averageSize), 2);\n });\n return { averageSize: averageSize, error: error };\n}\n// Takes an X,Y point and an array of sizes and scores the point against those ratios.\n// For example for a finder pattern takes the ratio list of 1:1:3:1:1 and checks horizontal, vertical and diagonal ratios\n// against that.\nfunction scorePattern(point, ratios, matrix) {\n try {\n var horizontalRun = countBlackWhiteRun(point, { x: -1, y: point.y }, matrix, ratios.length);\n var verticalRun = countBlackWhiteRun(point, { x: point.x, y: -1 }, matrix, ratios.length);\n var topLeftPoint = {\n x: Math.max(0, point.x - point.y) - 1,\n y: Math.max(0, point.y - point.x) - 1,\n };\n var topLeftBottomRightRun = countBlackWhiteRun(point, topLeftPoint, matrix, ratios.length);\n var bottomLeftPoint = {\n x: Math.min(matrix.width, point.x + point.y) + 1,\n y: Math.min(matrix.height, point.y + point.x) + 1,\n };\n var bottomLeftTopRightRun = countBlackWhiteRun(point, bottomLeftPoint, matrix, ratios.length);\n var horzError = scoreBlackWhiteRun(horizontalRun, ratios);\n var vertError = scoreBlackWhiteRun(verticalRun, ratios);\n var diagDownError = scoreBlackWhiteRun(topLeftBottomRightRun, ratios);\n var diagUpError = scoreBlackWhiteRun(bottomLeftTopRightRun, ratios);\n var ratioError = Math.sqrt(horzError.error * horzError.error +\n vertError.error * vertError.error +\n diagDownError.error * diagDownError.error +\n diagUpError.error * diagUpError.error);\n var avgSize = (horzError.averageSize + vertError.averageSize + diagDownError.averageSize + diagUpError.averageSize) / 4;\n var sizeError = (Math.pow((horzError.averageSize - avgSize), 2) +\n Math.pow((vertError.averageSize - avgSize), 2) +\n Math.pow((diagDownError.averageSize - avgSize), 2) +\n Math.pow((diagUpError.averageSize - avgSize), 2)) / avgSize;\n return ratioError + sizeError;\n }\n catch (_a) {\n return Infinity;\n }\n}\nfunction recenterLocation(matrix, p) {\n var leftX = Math.round(p.x);\n while (matrix.get(leftX, Math.round(p.y))) {\n leftX--;\n }\n var rightX = Math.round(p.x);\n while (matrix.get(rightX, Math.round(p.y))) {\n rightX++;\n }\n var x = (leftX + rightX) / 2;\n var topY = Math.round(p.y);\n while (matrix.get(Math.round(x), topY)) {\n topY--;\n }\n var bottomY = Math.round(p.y);\n while (matrix.get(Math.round(x), bottomY)) {\n bottomY++;\n }\n var y = (topY + bottomY) / 2;\n return { x: x, y: y };\n}\nfunction locate(matrix) {\n var finderPatternQuads = [];\n var activeFinderPatternQuads = [];\n var alignmentPatternQuads = [];\n var activeAlignmentPatternQuads = [];\n var _loop_1 = function (y) {\n var length_1 = 0;\n var lastBit = false;\n var scans = [0, 0, 0, 0, 0];\n var _loop_2 = function (x) {\n var v = matrix.get(x, y);\n if (v === lastBit) {\n length_1++;\n }\n else {\n scans = [scans[1], scans[2], scans[3], scans[4], length_1];\n length_1 = 1;\n lastBit = v;\n // Do the last 5 color changes ~ match the expected ratio for a finder pattern? 1:1:3:1:1 of b:w:b:w:b\n var averageFinderPatternBlocksize = sum(scans) / 7;\n var validFinderPattern = Math.abs(scans[0] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[1] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[2] - 3 * averageFinderPatternBlocksize) < 3 * averageFinderPatternBlocksize &&\n Math.abs(scans[3] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n Math.abs(scans[4] - averageFinderPatternBlocksize) < averageFinderPatternBlocksize &&\n !v; // And make sure the current pixel is white since finder patterns are bordered in white\n // Do the last 3 color changes ~ match the expected ratio for an alignment pattern? 1:1:1 of w:b:w\n var averageAlignmentPatternBlocksize = sum(scans.slice(-3)) / 3;\n var validAlignmentPattern = Math.abs(scans[2] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n Math.abs(scans[3] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n Math.abs(scans[4] - averageAlignmentPatternBlocksize) < averageAlignmentPatternBlocksize &&\n v; // Is the current pixel black since alignment patterns are bordered in black\n if (validFinderPattern) {\n // Compute the start and end x values of the large center black square\n var endX_1 = x - scans[3] - scans[4];\n var startX_1 = endX_1 - scans[2];\n var line = { startX: startX_1, endX: endX_1, y: y };\n // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with\n // that line as the starting point.\n var matchingQuads = activeFinderPatternQuads.filter(function (q) {\n return (startX_1 >= q.bottom.startX && startX_1 <= q.bottom.endX) ||\n (endX_1 >= q.bottom.startX && startX_1 <= q.bottom.endX) ||\n (startX_1 <= q.bottom.startX && endX_1 >= q.bottom.endX && ((scans[2] / (q.bottom.endX - q.bottom.startX)) < MAX_QUAD_RATIO &&\n (scans[2] / (q.bottom.endX - q.bottom.startX)) > MIN_QUAD_RATIO));\n });\n if (matchingQuads.length > 0) {\n matchingQuads[0].bottom = line;\n }\n else {\n activeFinderPatternQuads.push({ top: line, bottom: line });\n }\n }\n if (validAlignmentPattern) {\n // Compute the start and end x values of the center black square\n var endX_2 = x - scans[4];\n var startX_2 = endX_2 - scans[3];\n var line = { startX: startX_2, y: y, endX: endX_2 };\n // Is there a quad directly above the current spot? If so, extend it with the new line. Otherwise, create a new quad with\n // that line as the starting point.\n var matchingQuads = activeAlignmentPatternQuads.filter(function (q) {\n return (startX_2 >= q.bottom.startX && startX_2 <= q.bottom.endX) ||\n (endX_2 >= q.bottom.startX && startX_2 <= q.bottom.endX) ||\n (startX_2 <= q.bottom.startX && endX_2 >= q.bottom.endX && ((scans[2] / (q.bottom.endX - q.bottom.startX)) < MAX_QUAD_RATIO &&\n (scans[2] / (q.bottom.endX - q.bottom.startX)) > MIN_QUAD_RATIO));\n });\n if (matchingQuads.length > 0) {\n matchingQuads[0].bottom = line;\n }\n else {\n activeAlignmentPatternQuads.push({ top: line, bottom: line });\n }\n }\n }\n };\n for (var x = -1; x <= matrix.width; x++) {\n _loop_2(x);\n }\n finderPatternQuads.push.apply(finderPatternQuads, activeFinderPatternQuads.filter(function (q) { return q.bottom.y !== y && q.bottom.y - q.top.y >= 2; }));\n activeFinderPatternQuads = activeFinderPatternQuads.filter(function (q) { return q.bottom.y === y; });\n alignmentPatternQuads.push.apply(alignmentPatternQuads, activeAlignmentPatternQuads.filter(function (q) { return q.bottom.y !== y; }));\n activeAlignmentPatternQuads = activeAlignmentPatternQuads.filter(function (q) { return q.bottom.y === y; });\n };\n for (var y = 0; y <= matrix.height; y++) {\n _loop_1(y);\n }\n finderPatternQuads.push.apply(finderPatternQuads, activeFinderPatternQuads.filter(function (q) { return q.bottom.y - q.top.y >= 2; }));\n alignmentPatternQuads.push.apply(alignmentPatternQuads, activeAlignmentPatternQuads);\n var finderPatternGroups = finderPatternQuads\n .filter(function (q) { return q.bottom.y - q.top.y >= 2; }) // All quads must be at least 2px tall since the center square is larger than a block\n .map(function (q) {\n var x = (q.top.startX + q.top.endX + q.bottom.startX + q.bottom.endX) / 4;\n var y = (q.top.y + q.bottom.y + 1) / 2;\n if (!matrix.get(Math.round(x), Math.round(y))) {\n return;\n }\n var lengths = [q.top.endX - q.top.startX, q.bottom.endX - q.bottom.startX, q.bottom.y - q.top.y + 1];\n var size = sum(lengths) / lengths.length;\n var score = scorePattern({ x: Math.round(x), y: Math.round(y) }, [1, 1, 3, 1, 1], matrix);\n return { score: score, x: x, y: y, size: size };\n })\n .filter(function (q) { return !!q; }) // Filter out any rejected quads from above\n .sort(function (a, b) { return a.score - b.score; })\n // Now take the top finder pattern options and try to find 2 other options with a similar size.\n .map(function (point, i, finderPatterns) {\n if (i > MAX_FINDERPATTERNS_TO_SEARCH) {\n return null;\n }\n var otherPoints = finderPatterns\n .filter(function (p, ii) { return i !== ii; })\n .map(function (p) { return ({ x: p.x, y: p.y, score: p.score + (Math.pow((p.size - point.size), 2)) / point.size, size: p.size }); })\n .sort(function (a, b) { return a.score - b.score; });\n if (otherPoints.length < 2) {\n return null;\n }\n var score = point.score + otherPoints[0].score + otherPoints[1].score;\n return { points: [point].concat(otherPoints.slice(0, 2)), score: score };\n })\n .filter(function (q) { return !!q; }) // Filter out any rejected finder patterns from above\n .sort(function (a, b) { return a.score - b.score; });\n if (finderPatternGroups.length === 0) {\n return null;\n }\n var _a = reorderFinderPatterns(finderPatternGroups[0].points[0], finderPatternGroups[0].points[1], finderPatternGroups[0].points[2]), topRight = _a.topRight, topLeft = _a.topLeft, bottomLeft = _a.bottomLeft;\n var alignment = findAlignmentPattern(matrix, alignmentPatternQuads, topRight, topLeft, bottomLeft);\n var result = [];\n if (alignment) {\n result.push({\n alignmentPattern: { x: alignment.alignmentPattern.x, y: alignment.alignmentPattern.y },\n bottomLeft: { x: bottomLeft.x, y: bottomLeft.y },\n dimension: alignment.dimension,\n topLeft: { x: topLeft.x, y: topLeft.y },\n topRight: { x: topRight.x, y: topRight.y },\n });\n }\n // We normally use the center of the quads as the location of the tracking points, which is optimal for most cases and will account\n // for a skew in the image. However, In some cases, a slight skew might not be real and instead be caused by image compression\n // errors and/or low resolution. For those cases, we\'d be better off centering the point exactly in the middle of the black area. We\n // compute and return the location data for the naively centered points as it is little additional work and allows for multiple\n // attempts at decoding harder images.\n var midTopRight = recenterLocation(matrix, topRight);\n var midTopLeft = recenterLocation(matrix, topLeft);\n var midBottomLeft = recenterLocation(matrix, bottomLeft);\n var centeredAlignment = findAlignmentPattern(matrix, alignmentPatternQuads, midTopRight, midTopLeft, midBottomLeft);\n if (centeredAlignment) {\n result.push({\n alignmentPattern: { x: centeredAlignment.alignmentPattern.x, y: centeredAlignment.alignmentPattern.y },\n bottomLeft: { x: midBottomLeft.x, y: midBottomLeft.y },\n topLeft: { x: midTopLeft.x, y: midTopLeft.y },\n topRight: { x: midTopRight.x, y: midTopRight.y },\n dimension: centeredAlignment.dimension,\n });\n }\n if (result.length === 0) {\n return null;\n }\n return result;\n}\nexports.locate = locate;\nfunction findAlignmentPattern(matrix, alignmentPatternQuads, topRight, topLeft, bottomLeft) {\n var _a;\n // Now that we\'ve found the three finder patterns we can determine the blockSize and the size of the QR code.\n // We\'ll use these to help find the alignment pattern but also later when we do the extraction.\n var dimension;\n var moduleSize;\n try {\n (_a = computeDimension(topLeft, topRight, bottomLeft, matrix), dimension = _a.dimension, moduleSize = _a.moduleSize);\n }\n catch (e) {\n return null;\n }\n // Now find the alignment pattern\n var bottomRightFinderPattern = {\n x: topRight.x - topLeft.x + bottomLeft.x,\n y: topRight.y - topLeft.y + bottomLeft.y,\n };\n var modulesBetweenFinderPatterns = ((distance(topLeft, bottomLeft) + distance(topLeft, topRight)) / 2 / moduleSize);\n var correctionToTopLeft = 1 - (3 / modulesBetweenFinderPatterns);\n var expectedAlignmentPattern = {\n x: topLeft.x + correctionToTopLeft * (bottomRightFinderPattern.x - topLeft.x),\n y: topLeft.y + correctionToTopLeft * (bottomRightFinderPattern.y - topLeft.y),\n };\n var alignmentPatterns = alignmentPatternQuads\n .map(function (q) {\n var x = (q.top.startX + q.top.endX + q.bottom.startX + q.bottom.endX) / 4;\n var y = (q.top.y + q.bottom.y + 1) / 2;\n if (!matrix.get(Math.floor(x), Math.floor(y))) {\n return;\n }\n var lengths = [q.top.endX - q.top.startX, q.bottom.endX - q.bottom.startX, (q.bottom.y - q.top.y + 1)];\n var size = sum(lengths) / lengths.length;\n var sizeScore = scorePattern({ x: Math.floor(x), y: Math.floor(y) }, [1, 1, 1], matrix);\n var score = sizeScore + distance({ x: x, y: y }, expectedAlignmentPattern);\n return { x: x, y: y, score: score };\n })\n .filter(function (v) { return !!v; })\n .sort(function (a, b) { return a.score - b.score; });\n // If there are less than 15 modules between finder patterns it\'s a version 1 QR code and as such has no alignmemnt pattern\n // so we can only use our best guess.\n var alignmentPattern = modulesBetweenFinderPatterns >= 15 && alignmentPatterns.length ? alignmentPatterns[0] : expectedAlignmentPattern;\n return { alignmentPattern: alignmentPattern, dimension: dimension };\n}\n\n\n/***/ })\n/******/ ])["default"];\n});\n\n//# sourceURL=webpack://frontend/./node_modules/jsqr/dist/jsQR.js?')}}]); \ No newline at end of file diff --git a/frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js.LICENSE.txt b/frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js.LICENSE.txt deleted file mode 100644 index 1bcefe382..000000000 --- a/frontend/static/frontend/vendors-node_modules_jsqr_dist_jsQR_js.js.LICENSE.txt +++ /dev/null @@ -1,3 +0,0 @@ -/*!****************************************!*\ - !*** ./node_modules/jsqr/dist/jsQR.js ***! - \****************************************/ diff --git a/frontend/static/locales/ca.json b/frontend/static/locales/ca.json index 9a08857df..b2c19065c 100644 --- a/frontend/static/locales/ca.json +++ b/frontend/static/locales/ca.json @@ -1,516 +1,507 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "No estàs emprant RoboSats de forma privada", - "desktop_unsafe_alert": "Algunes funcions (com el xat) estan deshabilitades per protegir i sense elles no podràs completar un intercanvi. Per protegir la teva privacitat i habilitar RoboSats per complet, fes servir <1>Tor Browser i visita el <3>Onion site.", - "phone_unsafe_alert": "No podràs completar un intercanvi. Fes servir <1>Tor Browser i vista el <3>Onion site.", - "Hide":"Amagar", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "No estàs emprant RoboSats de forma privada", + "desktop_unsafe_alert": "Algunes funcions (com el xat) estan deshabilitades per protegir i sense elles no podràs completar un intercanvi. Per protegir la teva privacitat i habilitar RoboSats per complet, fes servir <1>Tor Browser i visita el <3>Onion site.", + "phone_unsafe_alert": "No podràs completar un intercanvi. Fes servir <1>Tor Browser i vista el <3>Onion site.", + "Hide": "Amagar", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Intercanvi LN P2P Fàcil y Privat", + "This is your trading avatar": "Aquest és el teu Robot de compravenda", + "Store your token safely": "Guarda el teu token de manera segura", + "A robot avatar was found, welcome back!": "S'ha trobat un Robot, benvingut de nou!", + "Copied!": "Copiat!", + "Generate a new token": "Genera un nou token", + "Generate Robot": "Generar Robot", + "You must enter a new token first": "Primer introdueix un nou token", + "Make Order": "Crear ordre", + "Info": "Info", + "View Book": "Veure Llibre", + "Learn RoboSats": "Aprèn RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Visitaràs la pàgina Learn RoboSats. Ha estat construïda per la comunitat i conté tutorials i documentació que t'ajudarà a aprendre como s'utilitza RoboSats i a entendre com funciona.", + "Let's go!": "Som-hi!", + "Save token and PGP credentials to file": "Guardar arxiu amb token y credencials PGP", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Intercanvi LN P2P Fàcil y Privat", - "This is your trading avatar":"Aquest és el teu Robot de compravenda", - "Store your token safely":"Guarda el teu token de manera segura", - "A robot avatar was found, welcome back!":"S'ha trobat un Robot, benvingut de nou!", - "Copied!":"Copiat!", - "Generate a new token":"Genera un nou token", - "Generate Robot":"Generar Robot", - "You must enter a new token first":"Primer introdueix un nou token", - "Make Order":"Crear ordre", - "Info":"Info", - "View Book":"Veure Llibre", - "Learn RoboSats":"Aprèn RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"Visitaràs la pàgina Learn RoboSats. Ha estat construïda per la comunitat i conté tutorials i documentació que t'ajudarà a aprendre como s'utilitza RoboSats i a entendre com funciona.", - "Let's go!":"Som-hi!", - "Save token and PGP credentials to file":"Guardar arxiu amb token y credencials PGP", - - - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Ordre", - "Customize":"Personalitzar", - "Buy or Sell Bitcoin?":"Comprar o Vendre Bitcoin?", - "Buy":"Comprar", - "Sell":"Vendre", - "Amount":"Suma", - "Amount of fiat to exchange for bitcoin":"Suma de fiat a canviar per bitcoin", - "Invalid":"No vàlid", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Introdueix els teus mètodes de pagament. Es recomanen encaridament mètodes ràpids.", - "Must be shorter than 65 characters":"Ha de tenir menys de 65 caràcters", - "Swap Destination(s)":"Destí(ns) del Swap", - "Fiat Payment Method(s)":"Mètode(s) de Pagament Fiat", - "You can add any method":"Pots afegir nous mètodes", - "Add New":"Afegir nou", - "Choose a Pricing Method":"Escull com Establir el Preu", - "Relative":"Relatiu", - "Let the price move with the market":"El preu es mourà relatiu al mercat", - "Premium over Market (%)":"Prima sobre el mercat (%)", - "Explicit":"Fix", - "Set a fix amount of satoshis":"Estableix una suma fixa de Sats", - "Satoshis":"Satoshis", - "Fixed price:":"Preu fix:", - "Order current rate:":"Preu actual:", - "Your order fixed exchange rate":"La tasa de canvi fixa de la teva ordre", - "Your order's current exchange rate. Rate will move with the market.":"La taxa de canvi de la teva ordre just en aquests moments. Es mourà relativa al mercat.", - "Let the taker chose an amount within the range":"Permet que el prenedor triï una suma dins el rang", - "Enable Amount Range":"Activar Suma amb Rang", - "From": "Des de", - "to":"fins a", - "Expiry Timers":"Temporitzadors", - "Public Duration (HH:mm)":"Duració pública (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)":"Termini límit dipòsit (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Estableix la implicació requerida (augmentar per a més seguretat)", - "Fidelity Bond Size":"Grandària de la fiança", - "Allow bondless takers":"Permetre prenendors sense fiança", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"PRÒXIMAMENT - Alt risc! Limitat a {{limitSats}}K Sats", - "You must fill the order correctly":"Has d'omplir l'ordre correctament", - "Create Order":"Crear ordre", - "Back":"Tornar", - "Create an order for ":"Crear una ordre per ", - "Create a BTC buy order for ":"Crear ordre de compra de bitcoin per ", - "Create a BTC sell order for ":"Crear ordre de venda de bitcoin per ", - " of {{satoshis}} Satoshis":" de {{satoshis}} Sats", - " at market price":" a preu de mercat", - " at a {{premium}}% premium":" amb una prima del {{premium}}%", - " at a {{discount}}% discount":" amb descompte del {{discount}}%", - "Must be less than {{max}}%":"Ha de ser menys del {{max}}%", - "Must be more than {{min}}%":"Ha de ser més del {{min}}%", - "Must be less than {{maxSats}": "Ha de ser menys de {{maxSats}}", - "Must be more than {{minSats}}": "Ha de ser més de {{minSats}}", - "Store your robot token":"Guarda el teu token", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"Pot ser que necessitis recuperar el teu avatar robot al futur: fes còpia de seguretat del token. Pots simplement copiar-ho a una altra aplicació.", - "Done":"Fet", - "You do not have a robot avatar":"No tens un avatar robot", - "You need to generate a robot avatar in order to become an order maker":"Necessites generar un avatar robot abans de crear una ordre", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Ordre", + "Customize": "Personalitzar", + "Buy or Sell Bitcoin?": "Comprar o Vendre Bitcoin?", + "Buy": "Comprar", + "Sell": "Vendre", + "Amount": "Suma", + "Amount of fiat to exchange for bitcoin": "Suma de fiat a canviar per bitcoin", + "Invalid": "No vàlid", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Introdueix els teus mètodes de pagament. Es recomanen encaridament mètodes ràpids.", + "Must be shorter than 65 characters": "Ha de tenir menys de 65 caràcters", + "Swap Destination(s)": "Destí(ns) del Swap", + "Fiat Payment Method(s)": "Mètode(s) de Pagament Fiat", + "You can add any method": "Pots afegir nous mètodes", + "Add New": "Afegir nou", + "Choose a Pricing Method": "Escull com Establir el Preu", + "Relative": "Relatiu", + "Let the price move with the market": "El preu es mourà relatiu al mercat", + "Premium over Market (%)": "Prima sobre el mercat (%)", + "Explicit": "Fix", + "Set a fix amount of satoshis": "Estableix una suma fixa de Sats", + "Satoshis": "Satoshis", + "Fixed price:": "Preu fix:", + "Order current rate:": "Preu actual:", + "Your order fixed exchange rate": "La tasa de canvi fixa de la teva ordre", + "Your order's current exchange rate. Rate will move with the market.": "La taxa de canvi de la teva ordre just en aquests moments. Es mourà relativa al mercat.", + "Let the taker chose an amount within the range": "Permet que el prenedor triï una suma dins el rang", + "Enable Amount Range": "Activar Suma amb Rang", + "From": "Des de", + "to": "fins a", + "Expiry Timers": "Temporitzadors", + "Public Duration (HH:mm)": "Duració pública (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Termini límit dipòsit (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Estableix la implicació requerida (augmentar per a més seguretat)", + "Fidelity Bond Size": "Grandària de la fiança", + "Allow bondless takers": "Permetre prenendors sense fiança", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "PRÒXIMAMENT - Alt risc! Limitat a {{limitSats}}K Sats", + "You must fill the order correctly": "Has d'omplir l'ordre correctament", + "Create Order": "Crear ordre", + "Back": "Tornar", + "Create an order for ": "Crear una ordre per ", + "Create a BTC buy order for ": "Crear ordre de compra de bitcoin per ", + "Create a BTC sell order for ": "Crear ordre de venda de bitcoin per ", + " of {{satoshis}} Satoshis": " de {{satoshis}} Sats", + " at market price": " a preu de mercat", + " at a {{premium}}% premium": " amb una prima del {{premium}}%", + " at a {{discount}}% discount": " amb descompte del {{discount}}%", + "Must be less than {{max}}%": "Ha de ser menys del {{max}}%", + "Must be more than {{min}}%": "Ha de ser més del {{min}}%", + "Must be less than {{maxSats}": "Ha de ser menys de {{maxSats}}", + "Must be more than {{minSats}}": "Ha de ser més de {{minSats}}", + "Store your robot token": "Guarda el teu token", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Pot ser que necessitis recuperar el teu avatar robot al futur: fes còpia de seguretat del token. Pots simplement copiar-ho a una altra aplicació.", + "Done": "Fet", + "You do not have a robot avatar": "No tens un avatar robot", + "You need to generate a robot avatar in order to become an order maker": "Necessites generar un avatar robot abans de crear una ordre", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Sense especificar", + "Instant SEPA": "SEPA Instantània", + "Amazon GiftCard": "Targeta Regal d'Amazon", + "Google Play Gift Code": "Targeta Regal de Google Play", + "Cash F2F": "Efectiu en persona", + "On-Chain BTC": "On-Chain BTC", - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Sense especificar", - "Instant SEPA":"SEPA Instantània", - "Amazon GiftCard":"Targeta Regal d'Amazon", - "Google Play Gift Code":"Targeta Regal de Google Play", - "Cash F2F":"Efectiu en persona", - "On-Chain BTC":"On-Chain BTC", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Ven", + "Buyer": "Compra", + "I want to": "Vull", + "Select Order Type": "Selecciona tipus d'ordre", + "ANY_type": "TOT", + "ANY_currency": "TOT", + "BUY": "COMPRAR", + "SELL": "VENDRE", + "and receive": "i rebre", + "and pay with": "i pagar amb", + "and use": "i fer servir", + "Select Payment Currency": "Selecciona moneda de pagament", + "Robot": "Robot", + "Is": "És", + "Currency": "Moneda", + "Payment Method": "Mètode de pagament", + "Pay": "Pagar", + "Price": "Preu", + "Premium": "Prima", + "You are SELLING BTC for {{currencyCode}}": "VENDRE bitcoin per {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "COMPRAR bitcoin per {{currencyCode}}", + "You are looking at all": "Estàs veient-ho tot", + "No orders found to sell BTC for {{currencyCode}}": "No hi ha ordres per vendre bitcoin per {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "No hi ha ordres per comprar bitcoin per {{currencyCode}}", + "Filter has no results": "No hi ha resultats per aquest filtre", + "Be the first one to create an order": "Sigues el primer a crear una ordre", + "Orders per page:": "Ordres per vista:", + "No rows": "No hi ha files", + "No results found.": "No s'han trobat resultats.", + "An error occurred.": "Hi ha hagut un error.", + "Columns": "Columnes", + "Select columns": "Selecciona columnes", + "Find column": "Buscar columna", + "Column title": "Nom de columna", + "Reorder column": "Reordenar columnes", + "Show all": "Mostrar totes", + "Hide all": "Ocultar totes", + "Add filter": "Afegir filtre", + "Delete": "Eliminar", + "Logic operator": "Operador lògic", + "Operator": "Operador", + "And": "I", + "Or": "O", + "Value": "Valor", + "Filter value": "Filtrar valor", + "contains": "conté", + "equals": "igual a", + "starts with": "comença amb", + "ends with": "acaba amb", + "is": "és", + "is not": "no és", + "is after": "està darrere", + "is on or after": "està a o darrere", + "is before": "està davant", + "is on or before": "està a o davant", + "is empty": "està buit", + "is not empty": "no està buit", + "is any of": "és algun de", + "any": "algun", + "true": "veritat", + "false": "fals", + "Menu": "Menú", + "Show columns": "Mostrar columnes", + "Filter": "Filtrar", + "Unsort": "Desordenar", + "Sort by ASC": "Ordenar ascendent", + "Sort by DESC": "Ordenar descendent", + "Sort": "Ordenar", + "Show filters": "Mostrar filtres", + "yes": "si", + "no": "no", - - + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Estadístiques per a nerds", + "LND version": "Versió LND", + "Currently running commit hash": "Hash de la versió actual", + "24h contracted volume": "Volum contractat en 24h", + "Lifetime contracted volume": "Volum contractat total", + "Made with": "Fet amb", + "and": "i", + "... somewhere on Earth!": "... en algun indret de la Terra!", + "Community": "Comunitat", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Només s’ofereix suport a través de canals públics. Uneix-te a la nostra comunitat de Telegram si tens preguntes o vols passar l’estona amb altres Robots genials. Si us plau, utilitza el nostre Github per notificar un error o proposar noves funcionalitats.", + "Join the RoboSats group": "Uneix-te al grup de RoboSats", + "Twitter Official Account": "Compte oficial a Twitter", + "Join RoboSats Spanish speaking community!": "Uneix-te a la nostra comunitat de RoboSats en espanyol!", + "Join RoboSats Russian speaking community!": "Uneix-te a la nostra comunitat de RoboSats en rus!", + "Join RoboSats Chinese speaking community!": "Uneix-te a la nostra comunitat de RoboSats en xinès!", + "Join RoboSats English speaking community!": "Uneix-te a la nostra comunitat de RoboSats en anglès!", + "Tell us about a new feature or a bug": "Proposa funcionalitats o notifica errors", + "Github Issues - The Robotic Satoshis Open Source Project": "Issues de Github - The Robotic Satoshis Open Source Project", + "Your Profile": "El teu perfil", + "Your robot": "El teu Robot", + "One active order #{{orderID}}": "Anar a ordre activa #{{orderID}}", + "Your current order": "La teva ordre actual", + "No active orders": "No hi ha ordres actives", + "Your token (will not remain here)": "El teu token (no romandrà aquí)", + "Back it up!": "Guarda-ho!", + "Cannot remember": "No es pot recordar", + "Rewards and compensations": "Recompenses i compensacions", + "Share to earn 100 Sats per trade": "Comparteix per a guanyar 100 Sats por intercanvi", + "Your referral link": "El teu enllaç de referits", + "Your earned rewards": "Les teves recompenses guanyades", + "Claim": "Retirar", + "Invoice for {{amountSats}} Sats": "Factura per {{amountSats}} Sats", + "Submit": "Enviar", + "There it goes, thank you!🥇": "Aquí va, gràcies!🥇", + "You have an active order": "Tens una ordre activa", + "You can claim satoshis!": "Pots retirar Sats!", + "Public Buy Orders": "Ordres de compra", + "Public Sell Orders": "Ordres de venda", + "Today Active Robots": "Robots actius avui", + "24h Avg Premium": "Prima mitjana en 24h", + "Trade Fee": "Comissió", + "Show community and support links": "Mostrar enllaços de comunitat i suport", + "Show stats for nerds": "Mostrar estadístiques per a nerds", + "Exchange Summary": "Resum de l'Exchange", + "Public buy orders": "Ordres de compra públiques", + "Public sell orders": "Ordres de venta públiques", + "Book liquidity": "Liquiditat en el llibre", + "Today active robots": "Robots actius avui", + "24h non-KYC bitcoin premium": "Prima de bitcoin sense KYC en 24h", + "Maker fee": "Comissió del creador", + "Taker fee": "Comissió del prenedor", + "Number of public BUY orders": "Nº d'ordres públiques de COMPRA", + "Number of public SELL orders": "Nº d'ordres públiques de VENDA", + "Your last order #{{orderID}}": "La teva última ordre #{{orderID}}", + "Inactive order": "Ordre inactiva", + "You do not have previous orders": "No tens ordres prèvies", + "Join RoboSats' Subreddit": "Uneix-te al subreddit de RoboSats", + "RoboSats in Reddit": "RoboSats a Reddit", + "Current onchain payout fee": "Cost actual de rebre onchain", - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Ven", - "Buyer":"Compra", - "I want to":"Vull", - "Select Order Type":"Selecciona tipus d'ordre", - "ANY_type":"TOT", - "ANY_currency":"TOT", - "BUY":"COMPRAR", - "SELL":"VENDRE", - "and receive":"i rebre", - "and pay with":"i pagar amb", - "and use":"i fer servir", - "Select Payment Currency":"Selecciona moneda de pagament", - "Robot":"Robot", - "Is":"És", - "Currency":"Moneda", - "Payment Method":"Mètode de pagament", - "Pay":"Pagar", - "Price":"Preu", - "Premium":"Prima", - "You are SELLING BTC for {{currencyCode}}":"VENDRE bitcoin per {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"COMPRAR bitcoin per {{currencyCode}}", - "You are looking at all":"Estàs veient-ho tot", - "No orders found to sell BTC for {{currencyCode}}":"No hi ha ordres per vendre bitcoin per {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"No hi ha ordres per comprar bitcoin per {{currencyCode}}", - "Filter has no results":"No hi ha resultats per aquest filtre", - "Be the first one to create an order":"Sigues el primer a crear una ordre", - "Orders per page:":"Ordres per vista:", - "No rows":"No hi ha files", - "No results found.":"No s'han trobat resultats.", - "An error occurred.":"Hi ha hagut un error.", - "Columns":"Columnes", - "Select columns":"Selecciona columnes", - "Find column":"Buscar columna", - "Column title":"Nom de columna", - "Reorder column":"Reordenar columnes", - "Show all":"Mostrar totes", - "Hide all":"Ocultar totes", - "Add filter":"Afegir filtre", - "Delete":"Eliminar", - "Logic operator":"Operador lògic", - "Operator":"Operador", - "And":"I", - "Or":"O", - "Value":"Valor", - "Filter value":"Filtrar valor", - "contains":"conté", - "equals":"igual a", - "starts with":"comença amb", - "ends with":"acaba amb", - "is":"és", - "is not":"no és", - "is after":"està darrere", - "is on or after":"està a o darrere", - "is before":"està davant", - "is on or before":"està a o davant", - "is empty":"està buit", - "is not empty":"no està buit", - "is any of":"és algun de", - "any":"algun", - "true":"veritat", - "false":"fals", - "Menu":"Menú", - "Show columns":"Mostrar columnes", - "Filter":"Filtrar", - "Unsort":"Desordenar", - "Sort by ASC":"Ordenar ascendent", - "Sort by DESC":"Ordenar descendent", - "Sort":"Ordenar", - "Show filters":"Mostrar filtres", - "yes":"si", - "no":"no", - - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Estadístiques per a nerds", - "LND version":"Versió LND", - "Currently running commit hash":"Hash de la versió actual", - "24h contracted volume":"Volum contractat en 24h", - "Lifetime contracted volume":"Volum contractat total", - "Made with":"Fet amb", - "and":"i", - "... somewhere on Earth!":"... en algun indret de la Terra!", - "Community":"Comunitat", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Només s’ofereix suport a través de canals públics. Uneix-te a la nostra comunitat de Telegram si tens preguntes o vols passar l’estona amb altres Robots genials. Si us plau, utilitza el nostre Github per notificar un error o proposar noves funcionalitats.", - "Join the RoboSats group":"Uneix-te al grup de RoboSats", - "Twitter Official Account":"Compte oficial a Twitter", - "Join RoboSats Spanish speaking community!":"Uneix-te a la nostra comunitat de RoboSats en espanyol!", - "Join RoboSats Russian speaking community!":"Uneix-te a la nostra comunitat de RoboSats en rus!", - "Join RoboSats Chinese speaking community!":"Uneix-te a la nostra comunitat de RoboSats en xinès!", - "Join RoboSats English speaking community!":"Uneix-te a la nostra comunitat de RoboSats en anglès!", - "Tell us about a new feature or a bug":"Proposa funcionalitats o notifica errors", - "Github Issues - The Robotic Satoshis Open Source Project":"Issues de Github - The Robotic Satoshis Open Source Project", - "Your Profile":"El teu perfil", - "Your robot":"El teu Robot", - "One active order #{{orderID}}":"Anar a ordre activa #{{orderID}}", - "Your current order":"La teva ordre actual", - "No active orders":"No hi ha ordres actives", - "Your token (will not remain here)":"El teu token (no romandrà aquí)", - "Back it up!":"Guarda-ho!", - "Cannot remember":"No es pot recordar", - "Rewards and compensations":"Recompenses i compensacions", - "Share to earn 100 Sats per trade":"Comparteix per a guanyar 100 Sats por intercanvi", - "Your referral link":"El teu enllaç de referits", - "Your earned rewards":"Les teves recompenses guanyades", - "Claim":"Retirar", - "Invoice for {{amountSats}} Sats":"Factura per {{amountSats}} Sats", - "Submit":"Enviar", - "There it goes, thank you!🥇":"Aquí va, gràcies!🥇", - "You have an active order":"Tens una ordre activa", - "You can claim satoshis!":"Pots retirar Sats!", - "Public Buy Orders":"Ordres de compra", - "Public Sell Orders":"Ordres de venda", - "Today Active Robots":"Robots actius avui", - "24h Avg Premium":"Prima mitjana en 24h", - "Trade Fee":"Comissió", - "Show community and support links":"Mostrar enllaços de comunitat i suport", - "Show stats for nerds":"Mostrar estadístiques per a nerds", - "Exchange Summary":"Resum de l'Exchange", - "Public buy orders":"Ordres de compra públiques", - "Public sell orders":"Ordres de venta públiques", - "Book liquidity":"Liquiditat en el llibre", - "Today active robots":"Robots actius avui", - "24h non-KYC bitcoin premium":"Prima de bitcoin sense KYC en 24h", - "Maker fee":"Comissió del creador", - "Taker fee":"Comissió del prenedor", - "Number of public BUY orders":"Nº d'ordres públiques de COMPRA", - "Number of public SELL orders":"Nº d'ordres públiques de VENDA", - "Your last order #{{orderID}}":"La teva última ordre #{{orderID}}", - "Inactive order":"Ordre inactiva", - "You do not have previous orders":"No tens ordres prèvies", - "Join RoboSats' Subreddit":"Uneix-te al subreddit de RoboSats", - "RoboSats in Reddit":"RoboSats a Reddit", - "Current onchain payout fee":"Cost actual de rebre onchain", - - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Ordre", - "Contract":"Contracte", - "Active":"Actiu", - "Seen recently":"Vist recentment", - "Inactive":"Inactiu", - "(Seller)":"(Venedor)", - "(Buyer)":"(Comprador)", - "Order maker":"Creador", - "Order taker":"Prenedor", - "Order Details":"Detalls", - "Order status":"Estat de l'ordre", - "Waiting for maker bond":"Esperant la fiança del creador", - "Public":"Pública", - "Waiting for taker bond":"Esperant la fiança del prenedor", - "Cancelled":"Cancel·lada", - "Expired":"Expirada", - "Waiting for trade collateral and buyer invoice":"Esperant el col·lateral i la factura del comprador", - "Waiting only for seller trade collateral":"Esperant el col·lateral del vendedor", - "Waiting only for buyer invoice":"Esperant la factura del comprador", - "Sending fiat - In chatroom":"Enviant el fiat - Al xat", - "Fiat sent - In chatroom":"Fiat enviat - Al xat", - "In dispute":"En disputa", - "Collaboratively cancelled":"Cancel·lada col·laborativament", - "Sending satoshis to buyer":"Enviant Sats al comprador", - "Sucessful trade":"Intercanvi exitós", - "Failed lightning network routing":"Enrutament fallit en la xarxa Lightning", - "Wait for dispute resolution":"Espera a la resolució de la disputa", - "Maker lost dispute":"El creador ha perdut la disputa", - "Taker lost dispute":"El prenedor ha perdut la disputa", - "Amount range":"Rang de la suma", - "Swap destination":"Destí del swap", - "Accepted payment methods":"Mètodes de pagament acceptats", - "Others":"Altres", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%", - "Price and Premium":"Preu i prima", - "Amount of Satoshis":"Quantitat de Sats", - "Premium over market price":"Prima sobre el mercat", - "Order ID":"ID de l'ordre", - "Deposit timer":"Per a dipositar", - "Expires in":"Expira en", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} sol·licita cancel·lar col·laborativament", - "You asked for a collaborative cancellation":"Has sol·licitat cancel·lar col·laborativament", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Factura caducada: no vas confirmar la publicació de l'ordre a temps. Pots crear una nova ordre.", - "This order has been cancelled by the maker":"El creador ha cancel·lat aquesta ordre", - "Invoice expired. You did not confirm taking the order in time.":"La factura retinguda ha expirat. No has confirmat prendre l'ordre a temps.", - "Penalty lifted, good to go!":"Sanció revocada, som-hi!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Encara no pots prendre cap ordre! Espera {{timeMin}}m {{timeSec}}s", - "Too low":"Massa baix", - "Too high":"Massa alt", - "Enter amount of fiat to exchange for bitcoin":"Introdueix la suma de fiat a canviar per bitcoin", - "Amount {{currencyCode}}":"Suma {{currencyCode}}", - "You must specify an amount first":"Primer has d'especificar la suma", - "Take Order":"Prendre ordre", - "Wait until you can take an order":"Espera fins poder prendre una ordre", - "Cancel the order?":"Cancel·lar l'ordre?", - "If the order is cancelled now you will lose your bond.":"Si cancel·les ara l'ordre perdràs la teva fiança.", - "Confirm Cancel":"Confirmar cancel·lació", - "The maker is away":"El creador està ausent", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"Prenent aquesta ordre corres el risc de perdre el temps. Si el creador no procedeix a temps, se't compensarà en Sats amb el 50% de la fiança del creador.", - "Collaborative cancel the order?":"Cancel·lar l'ordre col·laborativament?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Donat que el col·lateral està bloquejat, l'ordre només pot cancel·lar-se si tant creador com prenendor ho acorden.", - "Ask for Cancel":"Sol·licitar cancel·lació", - "Cancel":"Cancel·lar", - "Collaborative Cancel":"Cancel·lació col·laborativa", - "Invalid Order Id":"ID d'ordre no vàlida", - "You must have a robot avatar to see the order details":"Has de tenir un Robot per veure els detalls de l'ordre", - "This order has been cancelled collaborativelly":"Aquesta ordre s'ha cancel·lat col·laborativament", - "You are not allowed to see this order":"No tens permís per a veure aquesta ordre", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Els Satoshis Robòtics del magatzem no t'han entès. Si us plau, omple un Bug Issue a Github https://github.com/reckless-satoshi/robosats/issues", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Ordre", + "Contract": "Contracte", + "Active": "Actiu", + "Seen recently": "Vist recentment", + "Inactive": "Inactiu", + "(Seller)": "(Venedor)", + "(Buyer)": "(Comprador)", + "Order maker": "Creador", + "Order taker": "Prenedor", + "Order Details": "Detalls", + "Order status": "Estat de l'ordre", + "Waiting for maker bond": "Esperant la fiança del creador", + "Public": "Pública", + "Waiting for taker bond": "Esperant la fiança del prenedor", + "Cancelled": "Cancel·lada", + "Expired": "Expirada", + "Waiting for trade collateral and buyer invoice": "Esperant el col·lateral i la factura del comprador", + "Waiting only for seller trade collateral": "Esperant el col·lateral del vendedor", + "Waiting only for buyer invoice": "Esperant la factura del comprador", + "Sending fiat - In chatroom": "Enviant el fiat - Al xat", + "Fiat sent - In chatroom": "Fiat enviat - Al xat", + "In dispute": "En disputa", + "Collaboratively cancelled": "Cancel·lada col·laborativament", + "Sending satoshis to buyer": "Enviant Sats al comprador", + "Sucessful trade": "Intercanvi exitós", + "Failed lightning network routing": "Enrutament fallit en la xarxa Lightning", + "Wait for dispute resolution": "Espera a la resolució de la disputa", + "Maker lost dispute": "El creador ha perdut la disputa", + "Taker lost dispute": "El prenedor ha perdut la disputa", + "Amount range": "Rang de la suma", + "Swap destination": "Destí del swap", + "Accepted payment methods": "Mètodes de pagament acceptats", + "Others": "Altres", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%", + "Price and Premium": "Preu i prima", + "Amount of Satoshis": "Quantitat de Sats", + "Premium over market price": "Prima sobre el mercat", + "Order ID": "ID de l'ordre", + "Deposit timer": "Per a dipositar", + "Expires in": "Expira en", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} sol·licita cancel·lar col·laborativament", + "You asked for a collaborative cancellation": "Has sol·licitat cancel·lar col·laborativament", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Factura caducada: no vas confirmar la publicació de l'ordre a temps. Pots crear una nova ordre.", + "This order has been cancelled by the maker": "El creador ha cancel·lat aquesta ordre", + "Invoice expired. You did not confirm taking the order in time.": "La factura retinguda ha expirat. No has confirmat prendre l'ordre a temps.", + "Penalty lifted, good to go!": "Sanció revocada, som-hi!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Encara no pots prendre cap ordre! Espera {{timeMin}}m {{timeSec}}s", + "Too low": "Massa baix", + "Too high": "Massa alt", + "Enter amount of fiat to exchange for bitcoin": "Introdueix la suma de fiat a canviar per bitcoin", + "Amount {{currencyCode}}": "Suma {{currencyCode}}", + "You must specify an amount first": "Primer has d'especificar la suma", + "Take Order": "Prendre ordre", + "Wait until you can take an order": "Espera fins poder prendre una ordre", + "Cancel the order?": "Cancel·lar l'ordre?", + "If the order is cancelled now you will lose your bond.": "Si cancel·les ara l'ordre perdràs la teva fiança.", + "Confirm Cancel": "Confirmar cancel·lació", + "The maker is away": "El creador està ausent", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Prenent aquesta ordre corres el risc de perdre el temps. Si el creador no procedeix a temps, se't compensarà en Sats amb el 50% de la fiança del creador.", + "Collaborative cancel the order?": "Cancel·lar l'ordre col·laborativament?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Donat que el col·lateral està bloquejat, l'ordre només pot cancel·lar-se si tant creador com prenendor ho acorden.", + "Ask for Cancel": "Sol·licitar cancel·lació", + "Cancel": "Cancel·lar", + "Collaborative Cancel": "Cancel·lació col·laborativa", + "Invalid Order Id": "ID d'ordre no vàlida", + "You must have a robot avatar to see the order details": "Has de tenir un Robot per veure els detalls de l'ordre", + "This order has been cancelled collaborativelly": "Aquesta ordre s'ha cancel·lat col·laborativament", + "You are not allowed to see this order": "No tens permís per a veure aquesta ordre", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Els Satoshis Robòtics del magatzem no t'han entès. Si us plau, omple un Bug Issue a Github https://github.com/reckless-satoshi/robosats/issues", - - "CHAT BOX - Chat.js":"Finestra del xat", - "You":"Tu", - "Peer":"Ell", - "connected":"connectat", - "disconnected":"desconnectat", - "Type a message":"Escriu un missatge", - "Connecting...":"Connectant...", - "Send":"Enviar", - "Verify your privacy":"Verifica la teva privacitat", - "Audit PGP":"Auditar", - "Save full log as a JSON file (messages and credentials)":"Guardar el log complet com JSON (credencials i missatges)", - "Export":"Exporta", - "Don't trust, verify":"No confiïs, verifica", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"La teva comunicació s'encripta de punta-a-punta amb OpenPGP. Pots verificar la privacitat d'aquest xat amb qualsevol eina de tercer basada en l'estàndard PGP.", - "Learn how to verify":"Aprèn a verificar", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"Aquesta és la teva clau pública PGP. La teva contrapart la fa servir per encriptar missatges que només tu pots llegir.", - "Your public key":"La teva clau pública", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"La clau pública PGP de la teva contrapart. La fas servir per encriptar missatges que només ell pot llegir i verificar que és ell qui va signar els missatges que reps.", - "Peer public key":"Clau pública de la teva contrapart", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"La teva clau privada PGP encriptada. La fas servir per desencriptar els missatges que la teva contrapart t'envia. També la fas servir per signar els missatges que li envies.", - "Your encrypted private key":"La teva clau privada encriptada", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"La contrasenya per desencriptar la teva clau privada. Només tu la saps! Mantingues-la en secret. També és el token del teu robot.", - "Your private key passphrase (keep secure!)":"La contrasenya de la teva clau privada (Mantenir segura!)", - "Save credentials as a JSON file":"Guardar credencials com arxiu JSON", - "Keys":"Claus", - "Save messages as a JSON file":"Guardar missatges com arxiu JSON", - "Messages":"Missatges", - "Verified signature by {{nickname}}":"Signatura de {{nickname}} verificada", - "Cannot verify signature of {{nickname}}":"No s'ha pogut verificar la signatura de {{nickname}}", + "CHAT BOX - Chat.js": "Finestra del xat", + "You": "Tu", + "Peer": "Ell", + "connected": "connectat", + "disconnected": "desconnectat", + "Type a message": "Escriu un missatge", + "Connecting...": "Connectant...", + "Send": "Enviar", + "Verify your privacy": "Verifica la teva privacitat", + "Audit PGP": "Auditar", + "Save full log as a JSON file (messages and credentials)": "Guardar el log complet com JSON (credencials i missatges)", + "Export": "Exporta", + "Don't trust, verify": "No confiïs, verifica", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "La teva comunicació s'encripta de punta-a-punta amb OpenPGP. Pots verificar la privacitat d'aquest xat amb qualsevol eina de tercer basada en l'estàndard PGP.", + "Learn how to verify": "Aprèn a verificar", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Aquesta és la teva clau pública PGP. La teva contrapart la fa servir per encriptar missatges que només tu pots llegir.", + "Your public key": "La teva clau pública", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "La clau pública PGP de la teva contrapart. La fas servir per encriptar missatges que només ell pot llegir i verificar que és ell qui va signar els missatges que reps.", + "Peer public key": "Clau pública de la teva contrapart", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "La teva clau privada PGP encriptada. La fas servir per desencriptar els missatges que la teva contrapart t'envia. També la fas servir per signar els missatges que li envies.", + "Your encrypted private key": "La teva clau privada encriptada", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "La contrasenya per desencriptar la teva clau privada. Només tu la saps! Mantingues-la en secret. També és el token del teu robot.", + "Your private key passphrase (keep secure!)": "La contrasenya de la teva clau privada (Mantenir segura!)", + "Save credentials as a JSON file": "Guardar credencials com arxiu JSON", + "Keys": "Claus", + "Save messages as a JSON file": "Guardar missatges com arxiu JSON", + "Messages": "Missatges", + "Verified signature by {{nickname}}": "Signatura de {{nickname}} verificada", + "Cannot verify signature of {{nickname}}": "No s'ha pogut verificar la signatura de {{nickname}}", - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Contracte", - "Robots show commitment to their peers": "Els Robots han de mostrar el seu compromís", - "Lock {{amountSats}} Sats to PUBLISH order": "Bloqueja {{amountSats}} Sats per a PUBLICAR", - "Lock {{amountSats}} Sats to TAKE order": "Bloqueja {{amountSats}} Sats per a PRENDRE", - "Lock {{amountSats}} Sats as collateral": "Bloqueja {{amountSats}} Sats com a col·lateral", - "Copy to clipboard":"Copiar al portapapers", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"Això és una factura retinguda, els Sats es bloquegen a la teva cartera. Només es cobrarà si cancel·les o si perds una disputa.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"Això és una factura retinguda, els Sats es bloquegen a la teva cartera. Serà alliberada al comprador al confirmar que has rebut {{currencyCode}}.", - "Your maker bond is locked":"La teva fiança de creador està bloquejada", - "Your taker bond is locked":"La teva fiança de prenedor està bloqueada", - "Your maker bond was settled":"La teva fiança s'ha cobrat", - "Your taker bond was settled":"La teva fiança s'ha cobrat", - "Your maker bond was unlocked":"La teva fiança s'ha desbloquejat", - "Your taker bond was unlocked":"La teva fiança s'ha desbloquejat", - "Your order is public":"La teva ordre és pública", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"Sigues pacient fins que un robot prengui la teva ordre. Aquesta finestra sonarà 🔊 un cop algun robot prengui la teva ordre. Llavors tindràs {{deposit_timer_hours}}h {{deposit_timer_minutes}}m per respondre, si no respons t'arrisques a perdre la fiança.", - "If the order expires untaken, your bond will return to you (no action needed).":"Si la teva oferta expira sense ser presa, la teva fiança serà desbloquejada a la teva cartera automàticament.", - "Enable Telegram Notifications":"Notificar en Telegram", - "Enable TG Notifications":"Activar Notificacions TG", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"Seràs dut a un xat amb el bot de Telegram de Robosats. Simplement prem Començar. Tingues en compte que si actives les notificaciones de Telegram reduiràs el teu anonimat.", - "Go back":"Tornar", - "Enable":"Activar", - "Telegram enabled":"Telegram activat", - "Public orders for {{currencyCode}}":"Ordres públiques per {{currencyCode}}", - "Premium rank": "Percentil de la prima", - "Among public {{currencyCode}} orders (higher is cheaper)": "Entre les ordres públiques de {{currencyCode}} (més alt, més barat)", - "A taker has been found!":"S'ha trobat un prenedor!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Si us plau, espera a que el prenedor bloquegi la seva fiança. Si no ho fa a temps, l'ordre serà pública de nou.", - "Payout Lightning Invoice": "Factura Lightning", - "Your info looks good!": "La teva factura és bona!", - "We are waiting for the seller lock the trade amount.": "Esperant a que el venedor bloquegi el col·lateral.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Espera un moment. Si el venedor no deposita, recuperaràs la teva fiança automàticament. A més, rebràs una compensació (comprova les recompenses al teu perfil).", - "The trade collateral is locked!":"El col·lateral està bloquejat!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Estem esperant a que el comprador enviï una factura Lightning. Quan ho faci, podràs comunicar-li directament els detalls del pagament en fiat.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Espera un moment. Si el comprador no coopera, se't retornarà el col·lateral i la teva fiança automàticament. A més, rebràs una compensació (comprova les recompenses al teu perfil).", - "Confirm {{amount}} {{currencyCode}} sent":"Confirmar {{amount}} {{currencyCode}} enviat", - "Confirm {{amount}} {{currencyCode}} received":"Confirmar {{amount}} {{currencyCode}} rebut", - "Open Dispute":"Obrir Disputa", - "The order has expired":"L'ordre ha expirat", - "Chat with the buyer":"Parla amb el comprador", - "Chat with the seller":"Parla amb el venedor", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Digues hola! Sigues clar i concís. Escriu-li com pot enviarte {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"El comprador a enviat el fiat. Presiona 'Confirmar rebut' quan ho hagis rebut.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Digues hola! Demana els detalls de pagament i prem 'Confirmar enviat' en quant paguis.", - "Wait for the seller to confirm he has received the payment.":"Espera a que el vendedor confirmi que ha rebut el pagament.", - "Confirm you received {{amount}} {{currencyCode}}?":"Confirmes que has rebut {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Confirmant que has rebut el fiat finalitzarà l'intercanvi. Els Sats del collateral s'enviaran al comparador. Confirma només després d'assegurar que t'hagi arribat {{amount}} {{currencyCode}}. A més, si ho has rebut {{currencyCode}} i no confirmes la recepció, t'arriesques a perdre la teva fiança.", - "Confirm":"Confirmar", - "Trade finished!":"Intercanvi finalitzat!", - "rate_robosats":"Què opines de <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Moltes gràcies! RoboSats també t'estima ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats millora amb més liquiditat i usuaris. Explica-li a un amic bitcoiner sobre RoboSats!", - "Thank you for using Robosats!":"Gràcies per fer servir RoboSats!", - "let_us_know_hot_to_improve":"Diga'ns com podria millorar la plataforma (<1>Telegram / <3>Github)", - "Start Again":"Començar de nou", - "Attempting Lightning Payment":"Intentant el pagament Lightning", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats està intentant pagar la teva factura de Lightning. Recorda que els nodes Lightning han d'estar en línia per rebre pagaments.", - "Retrying!":"Reintentant!", - "Lightning Routing Failed":"Ha fallat l'enrutament Lightning", - "Your invoice has expired or more than 3 payment attempts have been made. Muun wallet is not recommended. ":"La teva factura ha expirat o s'han fet més de 3 intents de pagament. La cartera Muun no està recomanada. ", - "Check the list of compatible wallets":"Mira la llista de carteres compatibles", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats intentarà pagar la teva factura 3 cops cada 1 minut. Si segueix fallant, podràs presentar una nova factura. Comprova si tens suficient liquiditat entrant. Recorda que els nodes de Lightning han d'estar en línia per poder rebre pagaments.", - "Next attempt in":"Proper intent en", - "Do you want to open a dispute?":"Vols obrir una disputa?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"L'equip de RoboSats examinarà les declaracions i evidències presentades. Com l'equip no pot llegir el xat necessites escriure una declaració completa i exhaustiva. És millor donar un mètode de contacte d'usar i llençar amb la teva declaració. Els Sats del col·lateral seran enviats al guanyador de la disputa, mientres que el perdedor perderà la seva fiança.", - "Disagree":"Tornar", - "Agree and open dispute":"Obrir disputa", - "A dispute has been opened":"Una disputa ha estat oberta", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Si us plau, presenta la teva declaració. Sigues clar i concís sobre que ja passat i entrega l'evidència necessària. HAS DE donar un mètode de contacte per comunicar-te amb l'equip: mètode de contacte d'usar i llençar, XMPP o usuari de Telegram. Les disputes són resoltes amb la discreció dels Robots reals (també coneguts com humans), així doncs ajuda en el possible per assegurar un resultat just. 5000 caràcters màx.", - "Submit dispute statement":"Presentar declaració", - "We have received your statement":"Hem rebut la teva declaració", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Estem esperant la declaració del teu company. Si tens dubtes de l'estat de la disputa o si vols afegir més informació, contacta amb robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Si us plau, guarda l'informació necessària per identificar la teva ordre i pagaments: ID de l'ordre; claus del pagament de la fiança o el col·lateral (comprova la teva cartera Lightning); quantitat exacta de Sats; i nom del Robot. Tindràs que identificar-te com l'usuari involucrat en aquest intercanvi per email (o altre mètode de contacte).", - "We have the statements":"Tenim la declaració", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Ambdues declaracions se'han rebut, espera a que l'equipo resolgui la disputa. Si tens dubtes de l'estat de la disputa o si vols afegir més informació, contacta amb robosats@protonmail.com. Si no vas donar un mètode de contacte, o dubtes de si ho vas escriure bé, escriu-nos immediatament.", - "You have won the dispute":"Has guanyat la disputa", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Pots retirar la quantitat de la resolució de la disputa (fiança i col·lateral) des de les recompenses del teu perfil. Si creus que l'equip pot fer alguna cosa més, no dubtis a contactar amb robosats@protonmail.com (o a través del mètode de contacte d'usar i llençar que vas especificar).", - "You have lost the dispute":"Has perdut la disputa", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Desafortunadament has perdut la disputa. Si penses que és un error també pots demanar reobrir el cas per email a robosats@protonmail.com. De todas formes, les probabilitats de ser investigat de nou són baixes.", - "Expired not taken":"Expirada sense ser presa", - "Maker bond not locked":"La fiança del creador no va ser bloquejada", - "Escrow not locked":"El dipòsit de garantia no va ser bloquejat", - "Invoice not submitted":"No es va entregar la factura del comprat", - "Neither escrow locked or invoice submitted":"Ni el dipòsit de garantía va ser bloquejat ni es va entregar factura comprador", - "Renew Order":"Renovar Ordre", - "Pause the public order":"Pausar l'ordre pública", - "Your order is paused":"La teva ordre està pausada", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"La teva ordre pública va ser pausada. Ara mateix, l'ordre no pot ser vista ni presa per altres robots. Pots tornar a activarla quan desitgis.", - "Unpause Order":"Activar Ordre", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"Si no bloqueges el col·lateral t'arrisques a perdre la teva fiança. Disposes en total de {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets":"Veure bitlleteres compatibles", - "Failure reason:":"Raó de la fallada:", - "Payment isn't failed (yet)":"El pagament no ha fallat encara", - "There are more routes to try, but the payment timeout was exceeded.":"Queden rutes per provar, però el temps màxim de l'intent ha estat excedit.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"Totes les rutes possibles han estat provades i han fallat de forma permanent. O potser no hi havia cap ruta.", - "A non-recoverable error has occurred.":"S'ha produït un error no recuperable.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"Els detalls del pagament són incorrectes (hash desconegut, quantitat invàlida o CLTV delta final invàlid).", - "Insufficient unlocked balance in RoboSats' node.":"Balanç lliure de ser utilitzat al node de RoboSats insuficient.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"La factura entregada sembla tenir només rutes ocultes molt cares, estàs fent servir una bitlletera incomptable (Potser Muun?). Fes un cop d'ull a la llista de bitlleteres compatibles a wallets.robosats.com", - "The invoice provided has no explicit amount":"La factura entregada no conté una quantitat explícita", - "Does not look like a valid lightning invoice":"No sembla ser una factura lightning vàlida", - "The invoice provided has already expired":"La factura que has entregat ja ha caducat", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"Assegura't d' EXPORTAR el registre del xat. Els administradors poden demanar-te elregistre del xat en cas de discrepàncies. És la teva responsabilitat proveir-ho.", - "Does not look like a valid address":"No sembla una adreça de Bitcoin vàlida", - "This is not a bitcoin mainnet address":"No és una direcció de mainnet", - "This is not a bitcoin testnet address":"No és una direcció de testnet", - "Submit payout info for {{amountSats}} Sats":"Envia info per rebre {{amountSats}} Sats", - "Submit a valid invoice for {{amountSats}} Satoshis.": "Envia una factura per {{amountSats}} Sats", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.":"Abans de deixar-te enviar {{amountFiat}} {{currencyCode}}, volem assegurar-nos que pots rebre BTC.", - "RoboSats will do a swap and send the Sats to your onchain address.":"RoboSats farà un swap i enviarà els Sats a la teva adreça a la cadena.", - "Swap fee":"Comissió del swap", - "Mining fee":"Comissió minera", - "Mining Fee":"Comissió Minera", - "Final amount you will receive":"Suma final que rebràs", - "Bitcoin Address":"Direcció Bitcoin", - "Your TXID":"El teu TXID", - "Lightning":"Lightning", - "Onchain":"Onchain", - "open_dispute":"Per obrir una disputa has d'esperar <1><1/>", - "Trade Summary":"Resum de l'intercanvi", - "Maker":"Creador", - "Taker":"Prenedor", - "User role":"Operació", - "Sent":"Enviat", - "Received":"Rebut", - "BTC received":"BTC rebut", - "BTC sent":"BTC enviat", - "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)":"{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", - "Trade fee":"Comisión", - "{{swapFeeSats}} Sats ({{swapFeePercent}}%)":"{{swapFeeSats}} Sats ({{swapFeePercent}}%)", - "Onchain swap fee":"Cost swap onchain", - "{{miningFeeSats}} Sats":"{{miningFeeSats}} Sats", - "{{bondSats}} Sats ({{bondPercent}}%)":"{{bondSats}} Sats ({{bondPercent}}%)", - "Maker bond":"Fiança de creador", - "Taker bond":"Fiança de prenedor", - "Unlocked":"Desbloquejada", - "{{revenueSats}} Sats":"{{revenueSats}} Sats", - "Platform trade revenue":"Benefici de la plataforma", - "{{routingFeeSats}} MiliSats":"{{routingFeeSats}} MiliSats", - "Platform covered routing fee":"Cost d'enrutat cobert", - "Timestamp":"Marca d'hora", - "Completed in":"Completat en", - "Contract exchange rate":"Taxa de canvi del contracte", - + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Contracte", + "Robots show commitment to their peers": "Els Robots han de mostrar el seu compromís", + "Lock {{amountSats}} Sats to PUBLISH order": "Bloqueja {{amountSats}} Sats per a PUBLICAR", + "Lock {{amountSats}} Sats to TAKE order": "Bloqueja {{amountSats}} Sats per a PRENDRE", + "Lock {{amountSats}} Sats as collateral": "Bloqueja {{amountSats}} Sats com a col·lateral", + "Copy to clipboard": "Copiar al portapapers", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Això és una factura retinguda, els Sats es bloquegen a la teva cartera. Només es cobrarà si cancel·les o si perds una disputa.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Això és una factura retinguda, els Sats es bloquegen a la teva cartera. Serà alliberada al comprador al confirmar que has rebut {{currencyCode}}.", + "Your maker bond is locked": "La teva fiança de creador està bloquejada", + "Your taker bond is locked": "La teva fiança de prenedor està bloqueada", + "Your maker bond was settled": "La teva fiança s'ha cobrat", + "Your taker bond was settled": "La teva fiança s'ha cobrat", + "Your maker bond was unlocked": "La teva fiança s'ha desbloquejat", + "Your taker bond was unlocked": "La teva fiança s'ha desbloquejat", + "Your order is public": "La teva ordre és pública", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Sigues pacient fins que un robot prengui la teva ordre. Aquesta finestra sonarà 🔊 un cop algun robot prengui la teva ordre. Llavors tindràs {{deposit_timer_hours}}h {{deposit_timer_minutes}}m per respondre, si no respons t'arrisques a perdre la fiança.", + "If the order expires untaken, your bond will return to you (no action needed).": "Si la teva oferta expira sense ser presa, la teva fiança serà desbloquejada a la teva cartera automàticament.", + "Enable Telegram Notifications": "Notificar en Telegram", + "Enable TG Notifications": "Activar Notificacions TG", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Seràs dut a un xat amb el bot de Telegram de Robosats. Simplement prem Començar. Tingues en compte que si actives les notificaciones de Telegram reduiràs el teu anonimat.", + "Go back": "Tornar", + "Enable": "Activar", + "Telegram enabled": "Telegram activat", + "Public orders for {{currencyCode}}": "Ordres públiques per {{currencyCode}}", + "Premium rank": "Percentil de la prima", + "Among public {{currencyCode}} orders (higher is cheaper)": "Entre les ordres públiques de {{currencyCode}} (més alt, més barat)", + "A taker has been found!": "S'ha trobat un prenedor!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Si us plau, espera a que el prenedor bloquegi la seva fiança. Si no ho fa a temps, l'ordre serà pública de nou.", + "Payout Lightning Invoice": "Factura Lightning", + "Your info looks good!": "La teva factura és bona!", + "We are waiting for the seller lock the trade amount.": "Esperant a que el venedor bloquegi el col·lateral.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Espera un moment. Si el venedor no deposita, recuperaràs la teva fiança automàticament. A més, rebràs una compensació (comprova les recompenses al teu perfil).", + "The trade collateral is locked!": "El col·lateral està bloquejat!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Estem esperant a que el comprador enviï una factura Lightning. Quan ho faci, podràs comunicar-li directament els detalls del pagament en fiat.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Espera un moment. Si el comprador no coopera, se't retornarà el col·lateral i la teva fiança automàticament. A més, rebràs una compensació (comprova les recompenses al teu perfil).", + "Confirm {{amount}} {{currencyCode}} sent": "Confirmar {{amount}} {{currencyCode}} enviat", + "Confirm {{amount}} {{currencyCode}} received": "Confirmar {{amount}} {{currencyCode}} rebut", + "Open Dispute": "Obrir Disputa", + "The order has expired": "L'ordre ha expirat", + "Chat with the buyer": "Parla amb el comprador", + "Chat with the seller": "Parla amb el venedor", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Digues hola! Sigues clar i concís. Escriu-li com pot enviarte {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "El comprador a enviat el fiat. Presiona 'Confirmar rebut' quan ho hagis rebut.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Digues hola! Demana els detalls de pagament i prem 'Confirmar enviat' en quant paguis.", + "Wait for the seller to confirm he has received the payment.": "Espera a que el vendedor confirmi que ha rebut el pagament.", + "Confirm you received {{amount}} {{currencyCode}}?": "Confirmes que has rebut {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Confirmant que has rebut el fiat finalitzarà l'intercanvi. Els Sats del collateral s'enviaran al comparador. Confirma només després d'assegurar que t'hagi arribat {{amount}} {{currencyCode}}. A més, si ho has rebut {{currencyCode}} i no confirmes la recepció, t'arriesques a perdre la teva fiança.", + "Confirm": "Confirmar", + "Trade finished!": "Intercanvi finalitzat!", + "rate_robosats": "Què opines de <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Moltes gràcies! RoboSats també t'estima ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats millora amb més liquiditat i usuaris. Explica-li a un amic bitcoiner sobre RoboSats!", + "Thank you for using Robosats!": "Gràcies per fer servir RoboSats!", + "let_us_know_hot_to_improve": "Diga'ns com podria millorar la plataforma (<1>Telegram / <3>Github)", + "Start Again": "Començar de nou", + "Attempting Lightning Payment": "Intentant el pagament Lightning", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats està intentant pagar la teva factura de Lightning. Recorda que els nodes Lightning han d'estar en línia per rebre pagaments.", + "Retrying!": "Reintentant!", + "Lightning Routing Failed": "Ha fallat l'enrutament Lightning", + "Your invoice has expired or more than 3 payment attempts have been made. Muun wallet is not recommended. ": "La teva factura ha expirat o s'han fet més de 3 intents de pagament. La cartera Muun no està recomanada. ", + "Check the list of compatible wallets": "Mira la llista de carteres compatibles", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats intentarà pagar la teva factura 3 cops cada 1 minut. Si segueix fallant, podràs presentar una nova factura. Comprova si tens suficient liquiditat entrant. Recorda que els nodes de Lightning han d'estar en línia per poder rebre pagaments.", + "Next attempt in": "Proper intent en", + "Do you want to open a dispute?": "Vols obrir una disputa?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "L'equip de RoboSats examinarà les declaracions i evidències presentades. Com l'equip no pot llegir el xat necessites escriure una declaració completa i exhaustiva. És millor donar un mètode de contacte d'usar i llençar amb la teva declaració. Els Sats del col·lateral seran enviats al guanyador de la disputa, mientres que el perdedor perderà la seva fiança.", + "Disagree": "Tornar", + "Agree and open dispute": "Obrir disputa", + "A dispute has been opened": "Una disputa ha estat oberta", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Si us plau, presenta la teva declaració. Sigues clar i concís sobre que ja passat i entrega l'evidència necessària. HAS DE donar un mètode de contacte per comunicar-te amb l'equip: mètode de contacte d'usar i llençar, XMPP o usuari de Telegram. Les disputes són resoltes amb la discreció dels Robots reals (també coneguts com humans), així doncs ajuda en el possible per assegurar un resultat just. 5000 caràcters màx.", + "Submit dispute statement": "Presentar declaració", + "We have received your statement": "Hem rebut la teva declaració", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Estem esperant la declaració del teu company. Si tens dubtes de l'estat de la disputa o si vols afegir més informació, contacta amb robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Si us plau, guarda l'informació necessària per identificar la teva ordre i pagaments: ID de l'ordre; claus del pagament de la fiança o el col·lateral (comprova la teva cartera Lightning); quantitat exacta de Sats; i nom del Robot. Tindràs que identificar-te com l'usuari involucrat en aquest intercanvi per email (o altre mètode de contacte).", + "We have the statements": "Tenim la declaració", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Ambdues declaracions se'han rebut, espera a que l'equipo resolgui la disputa. Si tens dubtes de l'estat de la disputa o si vols afegir més informació, contacta amb robosats@protonmail.com. Si no vas donar un mètode de contacte, o dubtes de si ho vas escriure bé, escriu-nos immediatament.", + "You have won the dispute": "Has guanyat la disputa", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Pots retirar la quantitat de la resolució de la disputa (fiança i col·lateral) des de les recompenses del teu perfil. Si creus que l'equip pot fer alguna cosa més, no dubtis a contactar amb robosats@protonmail.com (o a través del mètode de contacte d'usar i llençar que vas especificar).", + "You have lost the dispute": "Has perdut la disputa", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Desafortunadament has perdut la disputa. Si penses que és un error també pots demanar reobrir el cas per email a robosats@protonmail.com. De todas formes, les probabilitats de ser investigat de nou són baixes.", + "Expired not taken": "Expirada sense ser presa", + "Maker bond not locked": "La fiança del creador no va ser bloquejada", + "Escrow not locked": "El dipòsit de garantia no va ser bloquejat", + "Invoice not submitted": "No es va entregar la factura del comprat", + "Neither escrow locked or invoice submitted": "Ni el dipòsit de garantía va ser bloquejat ni es va entregar factura comprador", + "Renew Order": "Renovar Ordre", + "Pause the public order": "Pausar l'ordre pública", + "Your order is paused": "La teva ordre està pausada", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "La teva ordre pública va ser pausada. Ara mateix, l'ordre no pot ser vista ni presa per altres robots. Pots tornar a activarla quan desitgis.", + "Unpause Order": "Activar Ordre", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Si no bloqueges el col·lateral t'arrisques a perdre la teva fiança. Disposes en total de {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "Veure bitlleteres compatibles", + "Failure reason:": "Raó de la fallada:", + "Payment isn't failed (yet)": "El pagament no ha fallat encara", + "There are more routes to try, but the payment timeout was exceeded.": "Queden rutes per provar, però el temps màxim de l'intent ha estat excedit.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Totes les rutes possibles han estat provades i han fallat de forma permanent. O potser no hi havia cap ruta.", + "A non-recoverable error has occurred.": "S'ha produït un error no recuperable.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Els detalls del pagament són incorrectes (hash desconegut, quantitat invàlida o CLTV delta final invàlid).", + "Insufficient unlocked balance in RoboSats' node.": "Balanç lliure de ser utilitzat al node de RoboSats insuficient.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "La factura entregada sembla tenir només rutes ocultes molt cares, estàs fent servir una bitlletera incomptable (Potser Muun?). Fes un cop d'ull a la llista de bitlleteres compatibles a wallets.robosats.com", + "The invoice provided has no explicit amount": "La factura entregada no conté una quantitat explícita", + "Does not look like a valid lightning invoice": "No sembla ser una factura lightning vàlida", + "The invoice provided has already expired": "La factura que has entregat ja ha caducat", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Assegura't d' EXPORTAR el registre del xat. Els administradors poden demanar-te elregistre del xat en cas de discrepàncies. És la teva responsabilitat proveir-ho.", + "Does not look like a valid address": "No sembla una adreça de Bitcoin vàlida", + "This is not a bitcoin mainnet address": "No és una direcció de mainnet", + "This is not a bitcoin testnet address": "No és una direcció de testnet", + "Submit payout info for {{amountSats}} Sats": "Envia info per rebre {{amountSats}} Sats", + "Submit a valid invoice for {{amountSats}} Satoshis.": "Envia una factura per {{amountSats}} Sats", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "Abans de deixar-te enviar {{amountFiat}} {{currencyCode}}, volem assegurar-nos que pots rebre BTC.", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats farà un swap i enviarà els Sats a la teva adreça a la cadena.", + "Swap fee": "Comissió del swap", + "Mining fee": "Comissió minera", + "Mining Fee": "Comissió Minera", + "Final amount you will receive": "Suma final que rebràs", + "Bitcoin Address": "Direcció Bitcoin", + "Your TXID": "El teu TXID", + "Lightning": "Lightning", + "Onchain": "Onchain", + "open_dispute": "Per obrir una disputa has d'esperar <1><1/>", + "Trade Summary": "Resum de l'intercanvi", + "Maker": "Creador", + "Taker": "Prenedor", + "User role": "Operació", + "Sent": "Enviat", + "Received": "Rebut", + "BTC received": "BTC rebut", + "BTC sent": "BTC enviat", + "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)": "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", + "Trade fee": "Comisión", + "{{swapFeeSats}} Sats ({{swapFeePercent}}%)": "{{swapFeeSats}} Sats ({{swapFeePercent}}%)", + "Onchain swap fee": "Cost swap onchain", + "{{miningFeeSats}} Sats": "{{miningFeeSats}} Sats", + "{{bondSats}} Sats ({{bondPercent}}%)": "{{bondSats}} Sats ({{bondPercent}}%)", + "Maker bond": "Fiança de creador", + "Taker bond": "Fiança de prenedor", + "Unlocked": "Desbloquejada", + "{{revenueSats}} Sats": "{{revenueSats}} Sats", + "Platform trade revenue": "Benefici de la plataforma", + "{{routingFeeSats}} MiliSats": "{{routingFeeSats}} MiliSats", + "Platform covered routing fee": "Cost d'enrutat cobert", + "Timestamp": "Marca d'hora", + "Completed in": "Completat en", + "Contract exchange rate": "Taxa de canvi del contracte", - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Tancar", - "What is RoboSats?":"Què és RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"És un exchange P2P que facilita intercanvis bitcoin/fiat sobre Lightning.", - "RoboSats is an open source project ":"RoboSats és un projecte de codi obert ", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"Simplifica l'emparellament i minimitza la necessitat de confiança. RoboSats es centra en la privacitat i la velocitat.", - "(GitHub).":"(GitHub).", - "How does it work?":"Com funciona?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymousAlice01 vol vendre bitcoin. Ella publica una ordre de venda. BafflingBob02 vol comprar bitcoin i escull l'ordre d'Alicia. Tots dos han de bloquejar una petita fiança en Lightning per provar que són veritables Robots. Després, Alicia envia el col·lateral fent ús també d'una factura de Lightning. RoboSats bloqueja la factura fins que Alicia confirma haver rebut el fiat, després el bitcoin s'allibera i s'envia a Bob. Gaudeix el teu bitcoin, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"En cap moment AnonymousAlice01 ni BafflingBob02 han de confiar els fons de bitcoin a l'altra part. En cas de conflicte, el personal de RoboSats ajudarà a resoldre la disputa.", - "You can find a step-by-step description of the trade pipeline in ":"Pots trobar una descripció pas a pas dels intercanvis a ", - "How it works":"Com funciona", - "You can also check the full guide in ":"També pots revisar la guia sencera a ", - "How to use":"Com utilizar", - "What payment methods are accepted?":"Quins mètodes de pagament s'accepten?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Tots sempre que siguin ràpids. Pots escriure a sota el teu mètode de pagament preferit(s). Hauràs de trobar un company que accepti aquest mètode. El pas per intercanviar el fiat té un temps d'expiració de 24 hores abans no s'obri una disputa automàticament. Et recomanem mètodes d'enviament de fiat.", - "Are there trade limits?":"Hi ha límit d'intercanvis?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"Per minimitzar problemes a l'enrutament Lightning, el màxim per intercanvi és de {{maxAmount}} Sats. No hi ha límit d'intercanvis en el temps. Tot i que un Robot només pot intervenir una ordre a la vegada, pots fer servir varis Robots a diferents navegadors (recorda guardar els tokens dels teus Robots!).", - "Is RoboSats private?":"És privat RoboSats?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats no custòdia els teus fons i no recol·lecta o custòdia cap dada personal, doncs no li importa qui ets. RoboSats mai et preguntarà pel teu nom, país o número de document. Per millorar la teva privacitat, fes ús del Navegador Tor i visita el lloc ceba.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"El teu company d'intercanvi és l'únic que pot potencialment esbrinar quelcom sobre tu. Mantingues una conversa curta i concisa. Evita donar dades que no siguin estrictament necessàries pel pagament del fiat.", - "What are the risks?":"Quins són els riscos?", - "This is an experimental application, things could go wrong. Trade small amounts!":"Aquesta és una aplicació experimental, quelcom pot no sortir bé. Intercanvia petites quantitats!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"El venedor té els mateixos riscos de devolució que amb qualsevol altre servei P2P. PayPal o targetes de crèdit no són recomanades.", - "What is the trust model?":"Quin és el model de confiança?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"Comprador i venedor mai han de confiar l'un en l'altre. Una mínima confiança en RoboSats és necessària, doncs és l'enllaç entre la fiança del venedor i el pagament del comprador, que no és atòmic (encara). A més, les disputes es resolen pel personal de RoboSats.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"Amb total claredat, els requeriments de confiança són minimitzats. No obstant, encara hi ha una manera de que RoboSats fugi amb els teus Sats: no enviant-li al comprador. Es podria argumentar que aquest moviment malmetria la reputació de RoboSats per només un petit import. De totes formes, hauries de dubtar i només intercanviar petites sumes cada cop. Per grans sumes fes servir un exchange de primera capa com Bisq", - "You can build more trust on RoboSats by inspecting the source code.":"Pots augmentar la confiança en RoboSats inspeccionant el codi font.", - "Project source code":"Codi font del projecte", - "What happens if RoboSats suddenly disappears?":"Què passaria si RoboSats desaparegués?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Els teus Sats et seran retornats. Qualsevol factura no assentada serà automàticament retornada encara que RoboSats desaparegui. Això és cert tant per fiances com pels col·laterals. De totes formes, des de que el venedor confirma haver rebut el fiat i el comprador rep els Sats, hi ha un temps d'aprox. 1 segon en que los fons podrien perdre's si RoboSats desaparegués. Assegura't de tenir suficient liquiditat entrant per evitar errors d'enrutament. Si tens algun problema, busca als canals públics de RoboSats.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"A molts països utilitzar RoboSats no és diferent a fer servir Ebay o WallaPop. La teva regulació pot variar, és responsabilitat teva el seu compliment.", - "Is RoboSats legal in my country?":"És RoboSats legal al meu país?", - "Disclaimer":"Avís", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Aquesta aplicació de Lightning està en desenvolupament continu i s'entrega tal qual: intercanvia amb la màxima precaució. No hi ha suport privat. El suport s'ofereix només a canals públics.", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats mai et contactarà. RoboSats mai et preguntarà pel token del teu Robot." + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Tancar", + "What is RoboSats?": "Què és RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "És un exchange P2P que facilita intercanvis bitcoin/fiat sobre Lightning.", + "RoboSats is an open source project ": "RoboSats és un projecte de codi obert ", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Simplifica l'emparellament i minimitza la necessitat de confiança. RoboSats es centra en la privacitat i la velocitat.", + "(GitHub).": "(GitHub).", + "How does it work?": "Com funciona?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 vol vendre bitcoin. Ella publica una ordre de venda. BafflingBob02 vol comprar bitcoin i escull l'ordre d'Alicia. Tots dos han de bloquejar una petita fiança en Lightning per provar que són veritables Robots. Després, Alicia envia el col·lateral fent ús també d'una factura de Lightning. RoboSats bloqueja la factura fins que Alicia confirma haver rebut el fiat, després el bitcoin s'allibera i s'envia a Bob. Gaudeix el teu bitcoin, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "En cap moment AnonymousAlice01 ni BafflingBob02 han de confiar els fons de bitcoin a l'altra part. En cas de conflicte, el personal de RoboSats ajudarà a resoldre la disputa.", + "You can find a step-by-step description of the trade pipeline in ": "Pots trobar una descripció pas a pas dels intercanvis a ", + "How it works": "Com funciona", + "You can also check the full guide in ": "També pots revisar la guia sencera a ", + "How to use": "Com utilizar", + "What payment methods are accepted?": "Quins mètodes de pagament s'accepten?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Tots sempre que siguin ràpids. Pots escriure a sota el teu mètode de pagament preferit(s). Hauràs de trobar un company que accepti aquest mètode. El pas per intercanviar el fiat té un temps d'expiració de 24 hores abans no s'obri una disputa automàticament. Et recomanem mètodes d'enviament de fiat.", + "Are there trade limits?": "Hi ha límit d'intercanvis?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Per minimitzar problemes a l'enrutament Lightning, el màxim per intercanvi és de {{maxAmount}} Sats. No hi ha límit d'intercanvis en el temps. Tot i que un Robot només pot intervenir una ordre a la vegada, pots fer servir varis Robots a diferents navegadors (recorda guardar els tokens dels teus Robots!).", + "Is RoboSats private?": "És privat RoboSats?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats no custòdia els teus fons i no recol·lecta o custòdia cap dada personal, doncs no li importa qui ets. RoboSats mai et preguntarà pel teu nom, país o número de document. Per millorar la teva privacitat, fes ús del Navegador Tor i visita el lloc ceba.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "El teu company d'intercanvi és l'únic que pot potencialment esbrinar quelcom sobre tu. Mantingues una conversa curta i concisa. Evita donar dades que no siguin estrictament necessàries pel pagament del fiat.", + "What are the risks?": "Quins són els riscos?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Aquesta és una aplicació experimental, quelcom pot no sortir bé. Intercanvia petites quantitats!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "El venedor té els mateixos riscos de devolució que amb qualsevol altre servei P2P. PayPal o targetes de crèdit no són recomanades.", + "What is the trust model?": "Quin és el model de confiança?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Comprador i venedor mai han de confiar l'un en l'altre. Una mínima confiança en RoboSats és necessària, doncs és l'enllaç entre la fiança del venedor i el pagament del comprador, que no és atòmic (encara). A més, les disputes es resolen pel personal de RoboSats.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Amb total claredat, els requeriments de confiança són minimitzats. No obstant, encara hi ha una manera de que RoboSats fugi amb els teus Sats: no enviant-li al comprador. Es podria argumentar que aquest moviment malmetria la reputació de RoboSats per només un petit import. De totes formes, hauries de dubtar i només intercanviar petites sumes cada cop. Per grans sumes fes servir un exchange de primera capa com Bisq", + "You can build more trust on RoboSats by inspecting the source code.": "Pots augmentar la confiança en RoboSats inspeccionant el codi font.", + "Project source code": "Codi font del projecte", + "What happens if RoboSats suddenly disappears?": "Què passaria si RoboSats desaparegués?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Els teus Sats et seran retornats. Qualsevol factura no assentada serà automàticament retornada encara que RoboSats desaparegui. Això és cert tant per fiances com pels col·laterals. De totes formes, des de que el venedor confirma haver rebut el fiat i el comprador rep els Sats, hi ha un temps d'aprox. 1 segon en que los fons podrien perdre's si RoboSats desaparegués. Assegura't de tenir suficient liquiditat entrant per evitar errors d'enrutament. Si tens algun problema, busca als canals públics de RoboSats.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "A molts països utilitzar RoboSats no és diferent a fer servir Ebay o WallaPop. La teva regulació pot variar, és responsabilitat teva el seu compliment.", + "Is RoboSats legal in my country?": "És RoboSats legal al meu país?", + "Disclaimer": "Avís", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Aquesta aplicació de Lightning està en desenvolupament continu i s'entrega tal qual: intercanvia amb la màxima precaució. No hi ha suport privat. El suport s'ofereix només a canals públics.", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats mai et contactarà. RoboSats mai et preguntarà pel token del teu Robot." } diff --git a/frontend/static/locales/cs.json b/frontend/static/locales/cs.json index ae9c2d45a..4ee80dd75 100644 --- a/frontend/static/locales/cs.json +++ b/frontend/static/locales/cs.json @@ -1,513 +1,505 @@ -{ - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Nepoužíváš Robosats bezpečně.", - "desktop_unsafe_alert": "Některé funkce byly vypnuty pro tvou bezpečnost (např. chat) bez níchž nebudeš moct dokončit obchod. Abys využil všechny funkce a ochranil své soukromí, použij <1>Tor Browser a navšťiv <3>Onion stránku.", - "phone_unsafe_alert": "Nebudeš moct dokončit obchod. Použij <1>Tor Browser a navšťiv <3>Onion stránku.", - "Hide":"Skrýt", - - - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Jednoduchá LN P2P burza", - "This is your trading avatar":"Toto je tvůj uživatelský avatar", - "Store your token safely":"Ulož si svůj token bezpečně", - "A robot avatar was found, welcome back!":"Uživatelský avatar byl nalezen, vítej zpět!", - "Copied!":"Zkopirováno!!", - "Generate a new token":"Generovat nový token", - "Generate Robot":"Generovat Robota", - "You must enter a new token first":"Nejprvne musíš vložit nový token", - "Make Order":"Vytvořit nabídku", - "Info":"Info", - "View Book":"Zobrazit nabídky", - "Learn RoboSats":"Více o RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"Chystáš se navštívit výukovou stránku RoboSats. Stránka obsahuje tutoriály a dokumentaci, které ti pomohou pochopit jak funguje RoboSats.", - "Let's go!":"Navštívit!", - "Save token and PGP credentials to file":"Uložit soubor s tokenem a PGP klíčem", - - - - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Nabídka", - "Customize":"Přizpůsobit", - "Buy or Sell Bitcoin?":"Nákup nebo prodej Bitcoinu?", - "Buy":"Nákup", - "Sell":"Prodej", - "Amount":"Částka", - "Amount of fiat to exchange for bitcoin":"Částka fiat měny za bitcoin", - "Invalid":"Neplatné", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Zadej preferovaný způsob platby. Doporučujeme okamžité platby.", - "Must be shorter than 65 characters":"Maximálně 65 znaků", - "Swap Destination(s)":"Swap adresa", - "Fiat Payment Method(s)":"Možnosti fiat plateb", - "You can add any method":"Můžeš přidat jakýkoliv způsob platby", - "Add New":"Přidat", - "Choose a Pricing Method":"Vyber metodu stanovení ceny", - "Relative":"Plovoucí", - "Let the price move with the market":"Nech cenu pohybovat se s trhem", - "Premium over Market (%)":"Prémium vůči tržní ceně (%)", - "Explicit":"Pevně daná", - "Set a fix amount of satoshis":"Nastavit fixní částku satoshi ", - "Satoshis":"Satoshi", - "Fixed price:":"Fixní cena:", - "Order current rate:":"Aktuální kurz nabídky:", - "Your order fixed exchange rate":"Pevný směnný kurz tvé nabídky", - "Your order's current exchange rate. Rate will move with the market.":"Kurz tvé nabídky. Kurz se bude pohybovat s trhem.", - "Let the taker chose an amount within the range":"Nech příjemce vybrat částku v rámci rozmezí", - "Enable Amount Range":"Povolit rozmezí částky", - "From": "Od", - "to":"do", - "Expiry Timers":"Časovače vypršení platnosti", - "Public Duration (HH:mm)":"Doba zveřejnění (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)":"Časový limit pro vložení do úschovy (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Nastavení kauce, zvyš pro vyšší bezpečnost ", - "Fidelity Bond Size":"Velikost kauce", - "Allow bondless takers":"Povolit protistranu bez kauce", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"JIŽ BRZY - Vysoce riskantní! Maximálně do {{limitSats}}K Sats", - "You must fill the order correctly":"Objednávku je nutné vyplnit správně", - "Create Order":"Vytvořit nabídku", - "Back":"Zpět", - "Create an order for ":"Vytvořit nabídku za ", - "Create a BTC buy order for ":"Vytvořit nabídku na koupi BTC za ", - "Create a BTC sell order for ":"Vytvořit nabídku na prodej BTC za ", - " of {{satoshis}} Satoshis":" {{satoshis}} Satoshi", - " at market price":" tržní ceny", - " at a {{premium}}% premium":" za {{premium}}% přirážku", - " at a {{discount}}% discount":" za {{discount}}% slevu", - "Must be less than {{max}}%":"Musí být méně než {{max}}%", - "Must be more than {{min}}%":"Musí být více než {{min}}%", - "Must be less than {{maxSats}": "Musí být méně než {{maxSats}}", - "Must be more than {{minSats}}": "Musí být více než {{minSats}}", - "Store your robot token":"Ulož si svůj robot token", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"Ulož si bezpečně svůj token jednoduše zkopírováním do jiné aplikace. V budoucnu ho možná budeš potřebovat v případě obnovy robota.", - "Done":"Hotovo", - "You do not have a robot avatar":"Nemáš robota a avatar", - "You need to generate a robot avatar in order to become an order maker":"Aby si se mohl stát tvůrcem nabídky musíš si vygenerovat avatar a robota", - - - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"nespecifikováno", - "Instant SEPA":"Okamžitá SEPA", - "Amazon GiftCard":"Amazon dárková karta", - "Google Play Gift Code":"Google Play dárkový kod", - "Cash F2F":"Hotovost v tváří v tvář", - "On-Chain BTC":"On-Chain BTC", - - - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Prodavající", - "Buyer":"Kupující", - "I want to":"Já chci", - "Select Order Type":"Vybrat druh nabídky", - "ANY_type":"VŠE", - "ANY_currency":"VŠE", - "BUY":"KOUPĚ", - "SELL":"PRODEJ", - "and receive":"získat", - "and pay with":"zaplatit s", - "and use":"použít", - "Select Payment Currency":"Vybrat měnu platby", - "Robot":"Robot", - "Is":"Je", - "Currency":"Měna", - "Payment Method":"Platební metoda", - "Pay":"Platba", - "Price":"Cena", - "Premium":"Přirážka", - "You are SELLING BTC for {{currencyCode}}":"PRODÁVAŠ BTC za {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"KUPUJEŠ BTC za {{currencyCode}}", - "You are looking at all":"Prohlížíš si všechny", - "No orders found to sell BTC for {{currencyCode}}":"Žádné nabídky na prodej BTC za {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"Žádné nabídky na koupi BTC za {{currencyCode}}", - "Filter has no results":"Filtr nemá žádné výsledky", - "Be the first one to create an order":"Buď první, kdo vytvoří nabídku", - "Orders per page:":"Nabídky na stránku:", - "No rows":"Žádné řádky", - "No results found.":"Nebyly nalezeny žádné výsledky.", - "An error occurred.":"Došlo k chybě.", - "Columns":"Sloupce", - "Select columns":"Vybrat sloupce", - "Find column":"Najít sloupec", - "Column title":"Název sloupce", - "Reorder column":"Změna pořadí sloupce", - "Show all":"Ukázat vše", - "Hide all":"Schovat vše", - "Add filter":"Přidat filter", - "Delete":"Smazat", - "Logic operator":"Logický operátor", - "Operator":"Operátor", - "And":"A", - "Or":"Nebo", - "Value":"Hodnota", - "Filter value":"Filter hodnoty", - "contains":"obsahuje", - "equals":"rovno", - "starts with":"začína s", - "ends with":"končí s", - "is":"je", - "is not":"není", - "is after":"následuje po", - "is on or after":"je zapnuto nebo později", - "is before":"se nachází před ", - "is on or before":"je zapnuto nebo dříve", - "is empty":"je prázdný", - "is not empty":"není prázdný", - "is any of":"je některý z", - "any":"jakýkoliv", - "true":"správný", - "false":"nesprávný", - "Menu":"Menu", - "Show columns":"Ukázat sloupce", - "Filter":"Filtrovat", - "Unsort":"Zrušení řazení", - "Sort by ASC":"Řazení podle ASC", - "Sort by DESC":"Řazení podle DESC", - "Sort":"Řazení", - "Show filters":"Ukázat filtry", - "yes":"ano", - "no":"ne", - - - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Statistiky pro nerdy", - "LND version":"LND verze", - "Currently running commit hash":"Aktuálně běží commit hash", - "24h contracted volume":"Zobchodované množství za 24h", - "Lifetime contracted volume":"Zobchodované množství od spuštění", - "Made with":"Vytvořeno s", - "and":"a", - "... somewhere on Earth!":"... někde na Zemi!", - "Community":"Komunity", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Podpora je poskytována pouze na veřejných kanálech. Přidej se k naší Telegram komunitě, pokud máš otázku nebo se setkat s dalšími cool roboty. Našel jsi bug nebo novou funkci? Navštiv prosím naše Github Issues.", - "Follow RoboSats in Twitter":"Sleduj RoboSats na Twitteru", - "Twitter Official Account":"Oficiální Twitter účet", - "RoboSats Telegram Communities":"RoboSats Telegram komunity", - "Join RoboSats Spanish speaking community!":"Přidej se k španělsky mluvící RoboSats komunitě!", - "Join RoboSats Russian speaking community!":"Přidej se k rusky mluvící RoboSats komunitě!", - "Join RoboSats Chinese speaking community!":"Přidej se k čínsky mluvící RoboSats komunitě!", - "Join RoboSats English speaking community!":"Přidej se k anglicky mluvící RoboSats komunitě!", - "Tell us about a new feature or a bug":"Našel jsi bug nebo novou funkci? Napiš nám ", - "Github Issues - The Robotic Satoshis Open Source Project":"Github Issues - The Robotic Satoshis Open Source Project", - "Your Profile":"Tvůj profil", - "Your robot":"Tvůj robot", - "One active order #{{orderID}}":"Jedná aktivní nabídka #{{orderID}}", - "Your current order":"Tvá aktuální nabídka", - "No active orders":"Žádné aktivní nabídky", - "Your token (will not remain here)":"Tvůj token (nezůstane zde)", - "Back it up!":"Zálohuj to!", - "Cannot remember":"Nepamatuje si", - "Rewards and compensations":"Odměny a kompezace", - "Share to earn 100 Sats per trade":"Sdílej a získej za každý obchod 100 Satů", - "Your referral link":"Tvůj referral odkaz", - "Your earned rewards":"Tvé odměny", - "Claim":"Vybrat", - "Invoice for {{amountSats}} Sats":"Invoice pro {{amountSats}} Satů", - "Submit":"Odeslat", - "There it goes, thank you!🥇":"Tak je to správně, děkujeme!🥇", - "You have an active order":"Máš aktivní nabídku", - "You can claim satoshis!":"Můžeš si vybrat satoshi!", - "Public Buy Orders":"Veřejné nákupní nabídky", - "Public Sell Orders":"Veřejné prodejní nabídky", - "Today Active Robots":"Dnešní aktivní Roboti", - "24h Avg Premium":"Průměrná přirážka za 24h", - "Trade Fee":"Poplatek", - "Show community and support links":"Ukázat odkazy na komunity a podporu", - "Show stats for nerds":"Ukázat statistiky pro nerdy", - "Exchange Summary":"Shrnutí burzy", - "Public buy orders":"Veřejné nákupní nabídky", - "Public sell orders":"Veřejné prodejní nabídky", - "Book liquidity":"Dostupná likvidita", - "Today active robots":"Dnešní aktivní roboti", - "24h non-KYC bitcoin premium":"24h no-KYC bitcoin přirážka", - "Maker fee":"Poplatek tvůrce", - "Taker fee":"Poplatek příjemce", - "Number of public BUY orders":"Množství veřejných nákupních nabídek", - "Number of public SELL orders":"Množství veřejných prodejních nabídek", - "Your last order #{{orderID}}":"Tvá poslední nabídka #{{orderID}}", - "Inactive order":"Neaktivní nabídka", - "You do not have previous orders":"Nemáš předchozí objednávky", - "Join RoboSats' Subreddit":"Přidej se k Subredditu RoboSats", - "RoboSats in Reddit":"RoboSats na Redditu", - "Current onchain payout fee":"Současný poplatek za vyplacení na onchain ", - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Shrnutí nabídky", - "Contract":"Průvodce obchodem", - "Active":"Aktivní", - "Seen recently":"Viděn nedávno", - "Inactive":"Neaktivní", - "(Seller)":"(Prodavající)", - "(Buyer)":"(Kupující)", - "Order maker":"Tvůrce nabídky", - "Order taker":"Příjemce nabídky", - "Order Details":"Detaily nabídky", - "Order status":"Stav nabídky", - "Waiting for maker bond":"Čeká se na kauci tvůrce", - "Public":"Veřejné", - "Waiting for taker bond":"Čeká se na kauci příjemce", - "Cancelled":"Zrušeno", - "Expired":"Vypršela platnost", - "Waiting for trade collateral and buyer invoice":"Čeká se na kolaterál a kupujícího invoice", - "Waiting only for seller trade collateral":"Čeká se na kolaterál od prodavajícího ", - "Waiting only for buyer invoice":"Čeká se na kupujícího invoice", - "Sending fiat - In chatroom":"Odeslání fiat - V chatu", - "Fiat sent - In chatroom":"Fiat odeslán - V chatu", - "In dispute":"Ve sporu", - "Collaboratively cancelled":"Oboustraně zrušeno", - "Sending satoshis to buyer":"Odeslat satoshi kupujícímu", - "Sucessful trade":"Úspěšný obchod", - "Failed lightning network routing":"Neúspěšný lightning network routing", - "Wait for dispute resolution":"Vyčkej na vyřešení sporu", - "Maker lost dispute":"Tvůrce prohrál spor", - "Taker lost dispute":"Příjemce prohrál spor", - "Amount range":"Rozmezí částky", - "Swap destination":"Swap adresa", - "Accepted payment methods":"Akceptované platební metody", - "Others":"Ostatní", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Přirážka: {{premium}}%", - "Price and Premium":"Cena a přirážka", - "Amount of Satoshis":"Částka Satoshi", - "Premium over market price":"Přirážka oproti tržní ceně", - "Order ID":"Číslo nabídky", - "Deposit timer":"Časovač vkladu", - "Expires in":"Vyprší za", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} žáda o oboustrané zrušení obchodu", - "You asked for a collaborative cancellation":"Žádaš o oboustarné zrušení obchodu", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Invoice vypršela platnost. Zveřejnění objednávky jsi nepotvrdil včas. Proveď novou objednávku.", - "This order has been cancelled by the maker":"Tato nabídka byla zrušena tvůrcem", - "Invoice expired. You did not confirm taking the order in time.":"Invoice vypršela platnost. Přijmutí objednávky jsi nepotvrdil včas.", - "Penalty lifted, good to go!":"Pokuta zrušena, lze pokračovat!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Nabídku nemůžeš zatím příjmout! Počkej {{timeMin}}m {{timeSec}}s", - "Too low":"Nízko", - "Too high":"Vysoko", - "Enter amount of fiat to exchange for bitcoin":"Zadej částku fiat, kterou chceš vyměnit za bitcoin. ", - "Amount {{currencyCode}}":"Částka {{currencyCode}}", - "You must specify an amount first":"Nejprve je třeba zadat částku", - "Take Order":"Příjmout nabídku", - "Wait until you can take an order":"Počkej, až budeš moci přijmout nabídku", - "Cancel the order?":"Zrušit objendávku?", - "If the order is cancelled now you will lose your bond.":"Pokud bude objednávka nyní zrušena, tvoje kauce propadne.", - "Confirm Cancel":"Potvrdit zrušení", - "The maker is away":"Tvůrce není přítomen", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"Příjmutím této nabídky riskuješ ztrátu času. Pokud protistrana nedorazí včas, získáš kompezaci v podobě 50% tvůrcovi kauce.", - "Collaborative cancel the order?":"Oboustraně zrušit obchod?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Satoshi jsou v úschově. Objednávku lze zrušit pouze v případě, že se na zrušení dohodnou jak tvůrce, tak přijemce.", - "Ask for Cancel":"Požádat o zrušení", - "Cancel":"Zrušit", - "Collaborative Cancel":"Oboustrané zrušení", - "Invalid Order Id":"Neplatné číslo nabídky", - "You must have a robot avatar to see the order details":"K zobrazení podrobností je třeba avatar a robot.", - "This order has been cancelled collaborativelly":"Tato objednávka byla společně zrušena", - "This order is not available":"Tato nabídka není dostupná", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Robotický Satoshi ti nerozumí. Prosím vyplň Github Bug Issue https://github.com/reckless-satoshi/robosats/issues", - - "CHAT BOX - Chat.js":"Chat Box", - "You":"Ty", - "Peer":"Protistrana", - "connected":"připojen", - "disconnected":"odpojen", - "Type a message":"Napiš zprávu", - "Connecting...":"Připojování...", - "Send":"Odeslat", - "Verify your privacy":"Ověř svou ochranu soukromí", - "Audit PGP":"Audit PGP", - "Save full log as a JSON file (messages and credentials)":"Uložit celý log jako soubor JSON (zprávy a údaje))", - "Export":"Exportovat", - "Don't trust, verify":"Nedůvěřuj, ověřuj", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"Vaše komunikace je šifrována end-to-end pomocí protokolu OpenPGP. Soukromí tohoto chatu můžeš ověřit pomocí libovolného nástroje založeného na standardu OpenPGP.", - "Learn how to verify":"Naučit se, jak ověřovat", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"Tvůj veřejný PGP klíč. Tvoje protistrana ho používá k šifrování zpráv, které můžeš číst pouze ty.", - "Your public key":"Tvůj veřejný klíč", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"Veřejný PGP klíč protistrany. Používáš jej k šifrování zpráv, které může číst pouze on, a k ověření, zda protistrana podepsala příchozí zprávy.", - "Peer public key":"Veřejný klíč protistrany", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"Tvůj zašifrovaný soukromí klíč. Používáš jej k rozšifrování příchozích zpráv, určených pro tebe, a k zašifrování odeslaných zpráv.", - "Your encrypted private key":"Tvůj zašifrovaný soukromý klíč", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"Tvůj robot token, který znáš pouze ty, slouží jako passphrase též k rozšifrování tvého soukromého klíče, proto ho nikde nesdílej.", - "Your private key passphrase (keep secure!)":"Tvůj soukromí klíč a passphrase (drž v bezpečí!)", - "Save credentials as a JSON file":"Uložit údaje jako JSON sobour", - "Keys":"Klíče", - "Save messages as a JSON file":"Uložit zprávy jako JSON soubor", - "Messages":"Zprávy", - "Verified signature by {{nickname}}":"Ověřený podpis {{nickname}}", - "Cannot verify signature of {{nickname}}":"Nelze ověřit podpis {{nickname}}", - - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Průvodce obchodem", - "Robots show commitment to their peers": "Roboti dávají najevo oddanost svým společníkum", - "Lock {{amountSats}} Sats to PUBLISH order": "Uzamknout {{amountSats}} Satů a ZVEŘEJNIT nabídku", - "Lock {{amountSats}} Sats to TAKE order": "Uzamknout {{amountSats}} Satů a PŘIJMOUT nabídku", - "Lock {{amountSats}} Sats as collateral": "Uzamknout {{amountSats}} Satů jako kolaterál", - "Copy to clipboard":"Zkopírovat do schránky", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"Jedná se o hodl invoice, která ti zamrzne v peněžence. Bude vypořádán pouze v případě zrušení nebo prohry sporu.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"Jedná se o hodl invoice, která ti zamrzne v peněžence. Bude vypořadána ke kupujícímu jakmile potvrdíš příjem {{currencyCode}}.", - "Your maker bond is locked":"Tvoje kauce tvůrce je uzamčena", - "Your taker bond is locked":"Tvoje kauce příjemce je uzamčena", - "Your maker bond was settled":"Tvoje kauce tvůrce byla vypořadána", - "Your taker bond was settled":"Tvoje kauce příjemce byla vypořadána", - "Your maker bond was unlocked":"Tvoje kauce tvůrce byla odemčena", - "Your taker bond was unlocked":"Tvoje kauce příjemce byla odemčena", - "Your order is public":"Tvoje nabídka je veřejná", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"Buď trpělivý, zatímco roboti kontrolují nabídky. Tato nabídka jednou zazvoní 🔊 pokud robot přijme tvoji nabídku, potom budeš mít {{deposit_timer_hours}}h {{deposit_timer_minutes}}m k odpovědi. Pokud neodpovíš, riskuješ ztrátu kauce.", - "If the order expires untaken, your bond will return to you (no action needed).":"Pokud nabídka vyprší nepříjmuta, tak kauce se ti vrátí (není potřeba žádné akce).", - "Enable Telegram Notifications":"Povolit Telegram notifikace", - "Enable TG Notifications":"Povolit TG notifikace", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"Budeš přesměrován do chatu s RoboSats telegram botem. Jednoduše otevři chat a zmáčkni Start. Měj na paměti, že povolením telegram notifikací máš nížší úroveň anonymity.", - "Go back":"Jít zpět", - "Enable":"Povolit", - "Telegram enabled":"Telegram povolen", - "Public orders for {{currencyCode}}":"Veřejné nabídky pro {{currencyCode}}", - "Premium rank": "Úroveň přirážky", - "Among public {{currencyCode}} orders (higher is cheaper)": "Mezi veřejnými {{currencyCode}} nabídkami (vyšší je levnější)", - "A taker has been found!":"Byl nalezen příjemce!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Vyčkej, až příjemce uzamkne kauci. Pokud příjemce neuzamkne kauci včas, nabídka se znovu zveřejní.", - "Payout Lightning Invoice":"Vyplatit Lightning invoice", - "Your info looks good!":"Tvé údaje vypadají dobře!", - "We are waiting for the seller to lock the trade amount.":"Čekáme, až prodavající uzamkne satoshi .", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Vydrž chvíli. Pokud prodavající neprovede vklad, kauce se ti automaticky vrátí. Kromě toho obdržíš kompenzaci (zkontroluj odměny ve svém profilu).", - "The trade collateral is locked!":"Satoshi jsou uzamknuté!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Čekáme, až kupující vloží lightning invoice. Jakmile tak učiní, budeš moct se s ním moct dohodnout fiat platbě.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Vydrž chvíli. Pokud kupující nespolupracuje, automaticky získáš zpět svojí kauci a předmět obchodu satoshi. Kromě toho obdržíš kompenzaci (zkontroluj odměny ve svém profilu).", - "Confirm {{amount}} {{currencyCode}} sent":"Potvrdit odeslání {{amount}} {{currencyCode}}", - "Confirm {{amount}} {{currencyCode}} received":"Potvrdit příjmutí {{amount}} {{currencyCode}}", - "Open Dispute":"Otevřít spor", - "The order has expired":"Nabídka vypršela", - "Chat with the buyer":"Chat s kupujícím", - "Chat with the seller":"Chat s prodavajícím", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Pozdrav! Buď vstřícný a stručný. Dej mu vědět, jak ti poslat {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"Kupující odeslal fiat. Po obdržení fiatu klikni na 'Potvrdit příjmutí'.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Pozdrav! Požádej o platební údaje a klikni na 'Potvrdit odeslání' jakmile bude platba odeslaná.", - "Wait for the seller to confirm he has received the payment.":"Počkej na potvzení, že prodavající obdržel platbu.", - "Confirm you received {{amount}} {{currencyCode}}?":"Potvrdit obdržení {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Potvrzením, že jsi obdržel fiat se dokončí obchod. Satoshis v úschově se odešlou kupujícímu. Potvrď pouze pokud jsi obdržel {{amount}} {{currencyCode}} na svůj účet. V případě obdržení {{currencyCode}} a nepotvrzení riskuješ ztrátu kauce.", - "Confirm":"Potvrdit", - "Trade finished!":"Obchod dokončen!", - "rate_robosats":"Co si myslíš o <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Děkujeme! RoboSats tě má rád ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats bude lepší s větší likviditou a uživateli. Pověz svým přátelům o Robosats!", - "Thank you for using Robosats!":"Děkujeme, že používáš Robosats!", - "let_us_know_hot_to_improve":"Dej nám vědět jak vylepšit platformu (<1>Telegram / <3>Github)", - "Start Again":"Začít znovu", - "Attempting Lightning Payment":"Pokoušíme se o Lightning platbu", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats se snaží zaplatit tvůj lightning invoice. Nezapomeň, že lightning nody musí být online, aby mohl přijímat platby.", - "Retrying!":"Opakování pokusu!", - "Lightning Routing Failed":"Lightning Routing selhalo", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.":"Tvůj invoice vypršel nebo selhali pokusy o 3 platby. Nahraj nový invoice.", - "Check the list of compatible wallets":"Zkotrolovat seznam kompatibilních peněženek", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats se pokusí zaplatit invoice třikrát s minutivými pauzami. V případě neúspěchu bude třeba nahrát nový invoice. Zkontroluj, zda máš dostatek inbound likvidity. Nezapomeň, že lightning nody musí být online, aby mohl přijímat platby.", - "Next attempt in":"Další pokus za", - "Do you want to open a dispute?":"Chceš otevřít spor?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"Personál RoboSats prověří předložená vyjádření a důkazy. Musíš vytvořit ucelený důkazní materiál, protože personál nemůže číst chat. Nejlépe spolu s výpovědí uvést jednorázový kontakt. Satoshi v úschově budou zaslány vítězi sporu, zatímco poražený ve sporu přijde o kauci.", - "Disagree":"Nesouhlasit", - "Agree and open dispute":"Souhlasit a otevřít spor", - "A dispute has been opened":"Spor byl otevřen", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Prosím, předlož své důkazy. Jasně a stručně popiš, co se stalo a předlož důkazy. MUSÍŠ uvést kontatní údaje: jednorázový email, XMPP nebo telegram přezdívku ke komunikaci s personálem. Spory se řeší podle uvážení skutečných robotů (neboli lidé), buď co nejvíce nápomocný, abys zajistil spravedlivý výsledek. Maximálně 5000 znaků.", - "Submit dispute statement":"Odeslat vyjádření", - "We have received your statement":"Obdrželi jsme tvé vyjádření", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Čekáme na vyjádření protistrany. Pokud si nejsi jist stavem sporu nebo chceš doplnit další informace, kontaktuj robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":" Uložte si prosím informace potřebné k identifikaci tvé nabídky a tvých plateb: číslo nabídky; hash platby kauce nebo úschovy (zkontroluj si lightning peněženku); přesná částka satoshi; a robot přezdívku. V komunikaci emailem(nebo jinak) se představíš jako zúčastněna strana.", - "We have the statements":"Máme prohlášení", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Získali jsme obě prohlášení, počkej na vyřešení sporu personálem. Pokud si nejsi jist stavem sporu nebo chceš doplnit další informace, kontaktuj robosats@protonmail.com. Pokud jsi neposkytl kontaktní údaje nebo nejsi si jist, zda jsi to napsal správně okamžitě nás kontaktuj.", - "You have won the dispute":"Vyhrál jsi spor", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Satoshi z vyřešeného sporů (z úschovy a kauce) si můžeš vybrat z odměn ve svém profilu. Pokud ti personál může s něčím pomoci, neváhej a kontaktuj nás na robosats@protonmail.com (nebo jiný způsob komunikace).", - "You have lost the dispute":"Prohrál jsi spor", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Bohužel jsi prohrál spor. Pokud se domníváš, že se jedná o chybu, můžeš požádat o opětovné otevření sporu na robosats@protonmail.com. Ačkoliv šance znovuotevření je malá.", - "Expired not taken":"Vypršené nepřijmuto", - "Maker bond not locked":"Kauce tvůrce není uzamknuta", - "Escrow not locked":"Není uzamknuta úschova", - "Invoice not submitted":"Není předložen invoice", - "Neither escrow locked or invoice submitted":"Nebyla uzamčena úschova ani předložen invoice", - "Renew Order":"Opakovat nabídku", - "Pause the public order":"Pozastavit zveřejnění nabídky", - "Your order is paused":"Tvá nabídka je pozastavena", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"Tvá veřejná nabídka je pozastavena. V tuto chvíli ji nemohou vidět ani přijmout jiní roboti. Pozastavení můžeš kdykoliv zrušit.", - "Unpause Order":"Zrušit pozastavení nabídky", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"Riskujuš ztrátu kauce, pokud neuzamkneš satoshi do úschovy. Zbývá {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets":"Robrazit kompatibilní peněženky", - "Failure reason:":"Důvod selhání:", - "Payment isn't failed (yet)":"Platba neselhala (zatím)", - "There are more routes to try, but the payment timeout was exceeded.":"Je možné vyzkoušet další platební trasy, ale časový limit pro platbu byl překročen.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"Všechny možné trasy byly vyzkoušeny a trvale selhaly. Nebo k cíli nevedou vůbec žádné trasy.", - "A non-recoverable error has occurred.":"Došlo k neopravitelné chybě.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"Platební údaje jsou nesprávné (neznámy hash, špatná částka nebo chybné final CLTV delta).", - "Insufficient unlocked balance in RoboSats' node.":"Nedostatečný odemknutý zůstatek na RoboSats nodu.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"Odeslaný invoice vede skrz drahé trasy, použiváš nekompatibilní peněženku (možná Muun?). Zkontroluj náš seznam kompatibilních peněženek na wallets.robosats.com", - "The invoice provided has no explicit amount":"Odeslaný invoice obsahuje špatnou částku", - "Does not look like a valid lightning invoice":"Poskytnutý lightning invoice nevypadá platně", - "The invoice provided has already expired":"Platnost poskytnutého lightning invoice vypršel", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"Nezapomeň EXPORTOVAT log chatu. Personál si může vyžádat exportovaný log chatu ve formátu JSON, aby mohl vyřešit nesrovnalosti. Je tvou odpovědností jej uložit.", - "Does not look like a valid address":"Nevypdá to jako platná adresa", - "This is not a bitcoin mainnet address":"Toto není bitcoin mainnet adresa", - "This is not a bitcoin testnet address":"Toto není bitcoin testnet adresa", - "Submit payout info for {{amountSats}} Sats":"Odeslat údaje na vyplacení {{amountSats}} Satů", - "Submit a valid invoice for {{amountSats}} Satoshis.":"Odeslat platný invoice pro {{amountSats}} Satoshi.", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.":"Předtím než tě necháme odeslat {{amountFiat}} {{currencyCode}}, chceme se nechat ujistit, že jsi schopen příjmout BTC.", - "RoboSats will do a swap and send the Sats to your onchain address.":"RoboSats provede swap Satů na tvou onchain adresu.", - "Swap fee":"Swap poplatek", - "Mining fee":"Těžební poplatek", - "Mining Fee":"Těžební poplatek", - "Final amount you will receive":"Konečná částka, kterou získáš", - "Bitcoin Address":"Bitcoin adresa", - "Your TXID":"Tvé TXID", - "Lightning":"Lightning", - "Onchain":"Onchain", - "open_dispute":"Chceš-li otevřít spor, musíš počkat <1><1/>", - "Trade Summary":"Shrnutí obchodu", - "Maker":"Tvůrce", - "Taker":"Příjemce", - "User role":"Uživatelská role", - "Sent":"Odesláno", - "Received":"Příjmuto", - "BTC received":"BTC příjmuto", - "BTC sent":"BTC odesláno", - "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)":"{{tradeFeeSats}} Satů ({{tradeFeePercent}}%)", - "Trade fee":"Obchodní poplatek", - "{{swapFeeSats}} Sats ({{swapFeePercent}}%)":"{{swapFeeSats}} Satů ({{swapFeePercent}}%)", - "Onchain swap fee":"Onchain swap poplatek", - "{{miningFeeSats}} Sats":"{{miningFeeSats}} Satů", - "{{bondSats}} Sats ({{bondPercent}}%)":"{{bondSats}} Satů ({{bondPercent}}%)", - "Maker bond":"Kauce tvůrce", - "Taker bond":"Kauce příjemce", - "Unlocked":"Odemčeno", - "{{revenueSats}} Sats":"{{revenueSats}} Satů", - "Platform trade revenue":"Odměna pro platformu", - "{{routingFeeSats}} MiliSats":"{{routingFeeSats}} MiliSatů", - "Platform covered routing fee":"Poplatek za routing hrazený platformou", - - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Zavřít", - "What is RoboSats?":"Co je RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"Je to BTC/FIAT peer-to-peer burza přes lightning.", - "RoboSats is an open source project ":"RoboSats je open source projekt ", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"Zjednodušuje schodu nabídky s poptávkou a potřebu důvěry. RoboSats se zaměřuje na ochranu soukromí a rychlost.", - "(GitHub).":"(GitHub).", - "How does it work?":"Jak to funguje?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymníAlice01 chce prodat bitcoin. Zveřejní nabídku k prodeji. BystrýBob02 chce koupit bitcoin a proto příjme Alicinu nabídku. Oba musí složit malou kauci přes lightning aby dokázali, že jsou skuteční roboti. Nato Alice přes lightning a hodl invoice vloží do úschovy kolaterál. RoboSats uzamkne invoice, dokud Alice nepotvrdí, že obdržela fiat, pak jsou satoshi uvolněny Bobobi. Užij si své satoshi, Bobe!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"V žádném bodě, AnonymníAlice01 a BystrýBob02 nemuseli svěřit své bitcoiny tomu druhému. V případě sporu by jim ho pomohl vyřešit personál RoboSats.", - "You can find a step-by-step description of the trade pipeline in ":"Popis obchodu krok za krokem najdeš na", - "How it works":"Jak to funguje", - "You can also check the full guide in ":"Taky se můžeš podívat na návod", - "How to use":"Jak se používá", - "What payment methods are accepted?":"Jaké jsou akceptované platební metody?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Všechny, pokud jsou rychlé. Vždy můžeš dopsat svou preferovanou platební metodu, jenom bude muset být protistrana, která jí příjme. Část s odesláním fiatu má limit 24h, potom se automaticky otevře spor. Doporučujeme použití okamžitých platebních metod.", - "Are there trade limits?":"Je nějaký obchodní limit?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"Maximální velikost obchodu je {{maxAmount}} Satoshi, aby byl minimalizován neúspěch lightning routing. Denní limit obchodu není, pouze robot může mít vždy pouze jednu nabídku. Ale součastně je možné mít více robotu v různých prohlížečích (nezapoměň na zálohu tokenů robotů).", - "Is RoboSats private?":"Narušuje RoboSats soukromí?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats nikdy nežádá o soukromé údaje jako jméno, bydliště a doklady totožnosti. RoboSats nespravuje žádné prostředky a nezajímá se kdo jsi. RoboSats nesbírá a nespravuje osobní informace. Pro větší anonymitu použij Tor Browser a .onion adresu.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Jediný kdo může o tobě poteciálně cokoliv zjistit je protistrana obchodu. Udrž chat krátký a stručný. Vyhni se všemu co není důležité pro fiat platbu.", - "What are the risks?":"Jaké jsou rizika?", - "This is an experimental application, things could go wrong. Trade small amounts!":"Toto je experimentální aplikace, věci se mohou pokazit. Obchoduj s malými částkami!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"Prodejce čelí riziku vratky platby jako v každé peer-to-peer službě. Paypal nebo platební karty nejsou doporučené.", - "What is the trust model?":"Jaký je model důvěry?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"Kupující a prodavající si nemusí věřit. Trochu se musí důvěřovat RoboSats, protože propojuje hodl invoice prodavajícího a platba kupujícímu není atomic (zatím). Kromě toho, spory jsou řešeny personálem RoboSats.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"Aby jsem si to shrnuli, potřeba důvěry je minimalizována. Přesto existuje jedna cesta jak RoboSats může utéct se satoshi: neuvolnit je kupujícímu. Dalo by se namítnout, že takový krok není v zájmu RoboSats, kvůli malé platbě si zničit reputaci. Z toho důvodu bys měl obchodovat pouze s malými částkami najednou. Pro větší částky použij onchain aplikace jako Bisq.", - "You can build more trust on RoboSats by inspecting the source code.":"Můžeš si vybudovat větší důvěru v RoboSats zkontrolováním zdrojového kódu.", - "Project source code":"Zdrojový kód projektu", - "What happens if RoboSats suddenly disappears?":"Co se stane pokud RoboSats náhle zmizí?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Tvé saty se ti vrátí. Jakýkoliv hold invoice, který není vypořádán se automaticky vrací i v případě trvalého konce RoboSats. Toto platí pro kauce i úschovu. Přesto je malé okno mezi potvrzením od prodavajícího FIAT OBDRŽEN a momentem kdy kupující obdrží své satoshi, by mohli být navždy ztraceny v případě zmizení RoboSats. Okno je dlouhé 1 vteřinu. Z toho důvodu měj dostatečnou inbound likviditu aby byl vyloučeno routing selhání. Pokud máš jakýkoliv problém obrať se na nás prostřednictvým veřejných RoboSats kanálu.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"V mnoha zemích není rozdíl mezi používáním RoboSats a Ebay nebo Craiglistu. Regulace jsou různé, je tvá povinnost jim vyhovět.", - "Is RoboSats legal in my country?":"Je RoboSats legální v mé zemi?", - "Disclaimer":"Zřeknutí se odpovědnosti", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Tato lightning aplikace se poskytuje jak je. V aktivním vývoji: obchoduj s maximální opatrností. Neexistuje žádná soukromá podpora. Podpora se poskytuje pouze na veřejných kanálech.", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats tě nikdy nebude kontaktovat. RoboSats tě nikdy nepožáda o tvůj robot token." -} +{ + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Nepoužíváš Robosats bezpečně.", + "desktop_unsafe_alert": "Některé funkce byly vypnuty pro tvou bezpečnost (např. chat) bez níchž nebudeš moct dokončit obchod. Abys využil všechny funkce a ochranil své soukromí, použij <1>Tor Browser a navšťiv <3>Onion stránku.", + "phone_unsafe_alert": "Nebudeš moct dokončit obchod. Použij <1>Tor Browser a navšťiv <3>Onion stránku.", + "Hide": "Skrýt", + + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Jednoduchá LN P2P burza", + "This is your trading avatar": "Toto je tvůj uživatelský avatar", + "Store your token safely": "Ulož si svůj token bezpečně", + "A robot avatar was found, welcome back!": "Uživatelský avatar byl nalezen, vítej zpět!", + "Copied!": "Zkopirováno!!", + "Generate a new token": "Generovat nový token", + "Generate Robot": "Generovat Robota", + "You must enter a new token first": "Nejprvne musíš vložit nový token", + "Make Order": "Vytvořit nabídku", + "Info": "Info", + "View Book": "Zobrazit nabídky", + "Learn RoboSats": "Více o RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Chystáš se navštívit výukovou stránku RoboSats. Stránka obsahuje tutoriály a dokumentaci, které ti pomohou pochopit jak funguje RoboSats.", + "Let's go!": "Navštívit!", + "Save token and PGP credentials to file": "Uložit soubor s tokenem a PGP klíčem", + + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Nabídka", + "Customize": "Přizpůsobit", + "Buy or Sell Bitcoin?": "Nákup nebo prodej Bitcoinu?", + "Buy": "Nákup", + "Sell": "Prodej", + "Amount": "Částka", + "Amount of fiat to exchange for bitcoin": "Částka fiat měny za bitcoin", + "Invalid": "Neplatné", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Zadej preferovaný způsob platby. Doporučujeme okamžité platby.", + "Must be shorter than 65 characters": "Maximálně 65 znaků", + "Swap Destination(s)": "Swap adresa", + "Fiat Payment Method(s)": "Možnosti fiat plateb", + "You can add any method": "Můžeš přidat jakýkoliv způsob platby", + "Add New": "Přidat", + "Choose a Pricing Method": "Vyber metodu stanovení ceny", + "Relative": "Plovoucí", + "Let the price move with the market": "Nech cenu pohybovat se s trhem", + "Premium over Market (%)": "Prémium vůči tržní ceně (%)", + "Explicit": "Pevně daná", + "Set a fix amount of satoshis": "Nastavit fixní částku satoshi ", + "Satoshis": "Satoshi", + "Fixed price:": "Fixní cena:", + "Order current rate:": "Aktuální kurz nabídky:", + "Your order fixed exchange rate": "Pevný směnný kurz tvé nabídky", + "Your order's current exchange rate. Rate will move with the market.": "Kurz tvé nabídky. Kurz se bude pohybovat s trhem.", + "Let the taker chose an amount within the range": "Nech příjemce vybrat částku v rámci rozmezí", + "Enable Amount Range": "Povolit rozmezí částky", + "From": "Od", + "to": "do", + "Expiry Timers": "Časovače vypršení platnosti", + "Public Duration (HH:mm)": "Doba zveřejnění (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Časový limit pro vložení do úschovy (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Nastavení kauce, zvyš pro vyšší bezpečnost ", + "Fidelity Bond Size": "Velikost kauce", + "Allow bondless takers": "Povolit protistranu bez kauce", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "JIŽ BRZY - Vysoce riskantní! Maximálně do {{limitSats}}K Sats", + "You must fill the order correctly": "Objednávku je nutné vyplnit správně", + "Create Order": "Vytvořit nabídku", + "Back": "Zpět", + "Create an order for ": "Vytvořit nabídku za ", + "Create a BTC buy order for ": "Vytvořit nabídku na koupi BTC za ", + "Create a BTC sell order for ": "Vytvořit nabídku na prodej BTC za ", + " of {{satoshis}} Satoshis": " {{satoshis}} Satoshi", + " at market price": " tržní ceny", + " at a {{premium}}% premium": " za {{premium}}% přirážku", + " at a {{discount}}% discount": " za {{discount}}% slevu", + "Must be less than {{max}}%": "Musí být méně než {{max}}%", + "Must be more than {{min}}%": "Musí být více než {{min}}%", + "Must be less than {{maxSats}": "Musí být méně než {{maxSats}}", + "Must be more than {{minSats}}": "Musí být více než {{minSats}}", + "Store your robot token": "Ulož si svůj robot token", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Ulož si bezpečně svůj token jednoduše zkopírováním do jiné aplikace. V budoucnu ho možná budeš potřebovat v případě obnovy robota.", + "Done": "Hotovo", + "You do not have a robot avatar": "Nemáš robota a avatar", + "You need to generate a robot avatar in order to become an order maker": "Aby si se mohl stát tvůrcem nabídky musíš si vygenerovat avatar a robota", + + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "nespecifikováno", + "Instant SEPA": "Okamžitá SEPA", + "Amazon GiftCard": "Amazon dárková karta", + "Google Play Gift Code": "Google Play dárkový kod", + "Cash F2F": "Hotovost v tváří v tvář", + "On-Chain BTC": "On-Chain BTC", + + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Prodavající", + "Buyer": "Kupující", + "I want to": "Já chci", + "Select Order Type": "Vybrat druh nabídky", + "ANY_type": "VŠE", + "ANY_currency": "VŠE", + "BUY": "KOUPĚ", + "SELL": "PRODEJ", + "and receive": "získat", + "and pay with": "zaplatit s", + "and use": "použít", + "Select Payment Currency": "Vybrat měnu platby", + "Robot": "Robot", + "Is": "Je", + "Currency": "Měna", + "Payment Method": "Platební metoda", + "Pay": "Platba", + "Price": "Cena", + "Premium": "Přirážka", + "You are SELLING BTC for {{currencyCode}}": "PRODÁVAŠ BTC za {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "KUPUJEŠ BTC za {{currencyCode}}", + "You are looking at all": "Prohlížíš si všechny", + "No orders found to sell BTC for {{currencyCode}}": "Žádné nabídky na prodej BTC za {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "Žádné nabídky na koupi BTC za {{currencyCode}}", + "Filter has no results": "Filtr nemá žádné výsledky", + "Be the first one to create an order": "Buď první, kdo vytvoří nabídku", + "Orders per page:": "Nabídky na stránku:", + "No rows": "Žádné řádky", + "No results found.": "Nebyly nalezeny žádné výsledky.", + "An error occurred.": "Došlo k chybě.", + "Columns": "Sloupce", + "Select columns": "Vybrat sloupce", + "Find column": "Najít sloupec", + "Column title": "Název sloupce", + "Reorder column": "Změna pořadí sloupce", + "Show all": "Ukázat vše", + "Hide all": "Schovat vše", + "Add filter": "Přidat filter", + "Delete": "Smazat", + "Logic operator": "Logický operátor", + "Operator": "Operátor", + "And": "A", + "Or": "Nebo", + "Value": "Hodnota", + "Filter value": "Filter hodnoty", + "contains": "obsahuje", + "equals": "rovno", + "starts with": "začína s", + "ends with": "končí s", + "is": "je", + "is not": "není", + "is after": "následuje po", + "is on or after": "je zapnuto nebo později", + "is before": "se nachází před ", + "is on or before": "je zapnuto nebo dříve", + "is empty": "je prázdný", + "is not empty": "není prázdný", + "is any of": "je některý z", + "any": "jakýkoliv", + "true": "správný", + "false": "nesprávný", + "Menu": "Menu", + "Show columns": "Ukázat sloupce", + "Filter": "Filtrovat", + "Unsort": "Zrušení řazení", + "Sort by ASC": "Řazení podle ASC", + "Sort by DESC": "Řazení podle DESC", + "Sort": "Řazení", + "Show filters": "Ukázat filtry", + "yes": "ano", + "no": "ne", + + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Statistiky pro nerdy", + "LND version": "LND verze", + "Currently running commit hash": "Aktuálně běží commit hash", + "24h contracted volume": "Zobchodované množství za 24h", + "Lifetime contracted volume": "Zobchodované množství od spuštění", + "Made with": "Vytvořeno s", + "and": "a", + "... somewhere on Earth!": "... někde na Zemi!", + "Community": "Komunity", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Podpora je poskytována pouze na veřejných kanálech. Přidej se k naší Telegram komunitě, pokud máš otázku nebo se setkat s dalšími cool roboty. Našel jsi bug nebo novou funkci? Navštiv prosím naše Github Issues.", + "Follow RoboSats in Twitter": "Sleduj RoboSats na Twitteru", + "Twitter Official Account": "Oficiální Twitter účet", + "RoboSats Telegram Communities": "RoboSats Telegram komunity", + "Join RoboSats Spanish speaking community!": "Přidej se k španělsky mluvící RoboSats komunitě!", + "Join RoboSats Russian speaking community!": "Přidej se k rusky mluvící RoboSats komunitě!", + "Join RoboSats Chinese speaking community!": "Přidej se k čínsky mluvící RoboSats komunitě!", + "Join RoboSats English speaking community!": "Přidej se k anglicky mluvící RoboSats komunitě!", + "Tell us about a new feature or a bug": "Našel jsi bug nebo novou funkci? Napiš nám ", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis Open Source Project", + "Your Profile": "Tvůj profil", + "Your robot": "Tvůj robot", + "One active order #{{orderID}}": "Jedná aktivní nabídka #{{orderID}}", + "Your current order": "Tvá aktuální nabídka", + "No active orders": "Žádné aktivní nabídky", + "Your token (will not remain here)": "Tvůj token (nezůstane zde)", + "Back it up!": "Zálohuj to!", + "Cannot remember": "Nepamatuje si", + "Rewards and compensations": "Odměny a kompezace", + "Share to earn 100 Sats per trade": "Sdílej a získej za každý obchod 100 Satů", + "Your referral link": "Tvůj referral odkaz", + "Your earned rewards": "Tvé odměny", + "Claim": "Vybrat", + "Invoice for {{amountSats}} Sats": "Invoice pro {{amountSats}} Satů", + "Submit": "Odeslat", + "There it goes, thank you!🥇": "Tak je to správně, děkujeme!🥇", + "You have an active order": "Máš aktivní nabídku", + "You can claim satoshis!": "Můžeš si vybrat satoshi!", + "Public Buy Orders": "Veřejné nákupní nabídky", + "Public Sell Orders": "Veřejné prodejní nabídky", + "Today Active Robots": "Dnešní aktivní Roboti", + "24h Avg Premium": "Průměrná přirážka za 24h", + "Trade Fee": "Poplatek", + "Show community and support links": "Ukázat odkazy na komunity a podporu", + "Show stats for nerds": "Ukázat statistiky pro nerdy", + "Exchange Summary": "Shrnutí burzy", + "Public buy orders": "Veřejné nákupní nabídky", + "Public sell orders": "Veřejné prodejní nabídky", + "Book liquidity": "Dostupná likvidita", + "Today active robots": "Dnešní aktivní roboti", + "24h non-KYC bitcoin premium": "24h no-KYC bitcoin přirážka", + "Maker fee": "Poplatek tvůrce", + "Taker fee": "Poplatek příjemce", + "Number of public BUY orders": "Množství veřejných nákupních nabídek", + "Number of public SELL orders": "Množství veřejných prodejních nabídek", + "Your last order #{{orderID}}": "Tvá poslední nabídka #{{orderID}}", + "Inactive order": "Neaktivní nabídka", + "You do not have previous orders": "Nemáš předchozí objednávky", + "Join RoboSats' Subreddit": "Přidej se k Subredditu RoboSats", + "RoboSats in Reddit": "RoboSats na Redditu", + "Current onchain payout fee": "Současný poplatek za vyplacení na onchain ", + + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Shrnutí nabídky", + "Contract": "Průvodce obchodem", + "Active": "Aktivní", + "Seen recently": "Viděn nedávno", + "Inactive": "Neaktivní", + "(Seller)": "(Prodavající)", + "(Buyer)": "(Kupující)", + "Order maker": "Tvůrce nabídky", + "Order taker": "Příjemce nabídky", + "Order Details": "Detaily nabídky", + "Order status": "Stav nabídky", + "Waiting for maker bond": "Čeká se na kauci tvůrce", + "Public": "Veřejné", + "Waiting for taker bond": "Čeká se na kauci příjemce", + "Cancelled": "Zrušeno", + "Expired": "Vypršela platnost", + "Waiting for trade collateral and buyer invoice": "Čeká se na kolaterál a kupujícího invoice", + "Waiting only for seller trade collateral": "Čeká se na kolaterál od prodavajícího ", + "Waiting only for buyer invoice": "Čeká se na kupujícího invoice", + "Sending fiat - In chatroom": "Odeslání fiat - V chatu", + "Fiat sent - In chatroom": "Fiat odeslán - V chatu", + "In dispute": "Ve sporu", + "Collaboratively cancelled": "Oboustraně zrušeno", + "Sending satoshis to buyer": "Odeslat satoshi kupujícímu", + "Sucessful trade": "Úspěšný obchod", + "Failed lightning network routing": "Neúspěšný lightning network routing", + "Wait for dispute resolution": "Vyčkej na vyřešení sporu", + "Maker lost dispute": "Tvůrce prohrál spor", + "Taker lost dispute": "Příjemce prohrál spor", + "Amount range": "Rozmezí částky", + "Swap destination": "Swap adresa", + "Accepted payment methods": "Akceptované platební metody", + "Others": "Ostatní", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Přirážka: {{premium}}%", + "Price and Premium": "Cena a přirážka", + "Amount of Satoshis": "Částka Satoshi", + "Premium over market price": "Přirážka oproti tržní ceně", + "Order ID": "Číslo nabídky", + "Deposit timer": "Časovač vkladu", + "Expires in": "Vyprší za", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} žáda o oboustrané zrušení obchodu", + "You asked for a collaborative cancellation": "Žádaš o oboustarné zrušení obchodu", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Invoice vypršela platnost. Zveřejnění objednávky jsi nepotvrdil včas. Proveď novou objednávku.", + "This order has been cancelled by the maker": "Tato nabídka byla zrušena tvůrcem", + "Invoice expired. You did not confirm taking the order in time.": "Invoice vypršela platnost. Přijmutí objednávky jsi nepotvrdil včas.", + "Penalty lifted, good to go!": "Pokuta zrušena, lze pokračovat!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nabídku nemůžeš zatím příjmout! Počkej {{timeMin}}m {{timeSec}}s", + "Too low": "Nízko", + "Too high": "Vysoko", + "Enter amount of fiat to exchange for bitcoin": "Zadej částku fiat, kterou chceš vyměnit za bitcoin. ", + "Amount {{currencyCode}}": "Částka {{currencyCode}}", + "You must specify an amount first": "Nejprve je třeba zadat částku", + "Take Order": "Příjmout nabídku", + "Wait until you can take an order": "Počkej, až budeš moci přijmout nabídku", + "Cancel the order?": "Zrušit objendávku?", + "If the order is cancelled now you will lose your bond.": "Pokud bude objednávka nyní zrušena, tvoje kauce propadne.", + "Confirm Cancel": "Potvrdit zrušení", + "The maker is away": "Tvůrce není přítomen", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Příjmutím této nabídky riskuješ ztrátu času. Pokud protistrana nedorazí včas, získáš kompezaci v podobě 50% tvůrcovi kauce.", + "Collaborative cancel the order?": "Oboustraně zrušit obchod?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Satoshi jsou v úschově. Objednávku lze zrušit pouze v případě, že se na zrušení dohodnou jak tvůrce, tak přijemce.", + "Ask for Cancel": "Požádat o zrušení", + "Cancel": "Zrušit", + "Collaborative Cancel": "Oboustrané zrušení", + "Invalid Order Id": "Neplatné číslo nabídky", + "You must have a robot avatar to see the order details": "K zobrazení podrobností je třeba avatar a robot.", + "This order has been cancelled collaborativelly": "Tato objednávka byla společně zrušena", + "This order is not available": "Tato nabídka není dostupná", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Robotický Satoshi ti nerozumí. Prosím vyplň Github Bug Issue https://github.com/reckless-satoshi/robosats/issues", + + "CHAT BOX - Chat.js": "Chat Box", + "You": "Ty", + "Peer": "Protistrana", + "connected": "připojen", + "disconnected": "odpojen", + "Type a message": "Napiš zprávu", + "Connecting...": "Připojování...", + "Send": "Odeslat", + "Verify your privacy": "Ověř svou ochranu soukromí", + "Audit PGP": "Audit PGP", + "Save full log as a JSON file (messages and credentials)": "Uložit celý log jako soubor JSON (zprávy a údaje))", + "Export": "Exportovat", + "Don't trust, verify": "Nedůvěřuj, ověřuj", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Vaše komunikace je šifrována end-to-end pomocí protokolu OpenPGP. Soukromí tohoto chatu můžeš ověřit pomocí libovolného nástroje založeného na standardu OpenPGP.", + "Learn how to verify": "Naučit se, jak ověřovat", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Tvůj veřejný PGP klíč. Tvoje protistrana ho používá k šifrování zpráv, které můžeš číst pouze ty.", + "Your public key": "Tvůj veřejný klíč", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "Veřejný PGP klíč protistrany. Používáš jej k šifrování zpráv, které může číst pouze on, a k ověření, zda protistrana podepsala příchozí zprávy.", + "Peer public key": "Veřejný klíč protistrany", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Tvůj zašifrovaný soukromí klíč. Používáš jej k rozšifrování příchozích zpráv, určených pro tebe, a k zašifrování odeslaných zpráv.", + "Your encrypted private key": "Tvůj zašifrovaný soukromý klíč", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "Tvůj robot token, který znáš pouze ty, slouží jako passphrase též k rozšifrování tvého soukromého klíče, proto ho nikde nesdílej.", + "Your private key passphrase (keep secure!)": "Tvůj soukromí klíč a passphrase (drž v bezpečí!)", + "Save credentials as a JSON file": "Uložit údaje jako JSON sobour", + "Keys": "Klíče", + "Save messages as a JSON file": "Uložit zprávy jako JSON soubor", + "Messages": "Zprávy", + "Verified signature by {{nickname}}": "Ověřený podpis {{nickname}}", + "Cannot verify signature of {{nickname}}": "Nelze ověřit podpis {{nickname}}", + + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Průvodce obchodem", + "Robots show commitment to their peers": "Roboti dávají najevo oddanost svým společníkum", + "Lock {{amountSats}} Sats to PUBLISH order": "Uzamknout {{amountSats}} Satů a ZVEŘEJNIT nabídku", + "Lock {{amountSats}} Sats to TAKE order": "Uzamknout {{amountSats}} Satů a PŘIJMOUT nabídku", + "Lock {{amountSats}} Sats as collateral": "Uzamknout {{amountSats}} Satů jako kolaterál", + "Copy to clipboard": "Zkopírovat do schránky", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Jedná se o hodl invoice, která ti zamrzne v peněžence. Bude vypořádán pouze v případě zrušení nebo prohry sporu.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Jedná se o hodl invoice, která ti zamrzne v peněžence. Bude vypořadána ke kupujícímu jakmile potvrdíš příjem {{currencyCode}}.", + "Your maker bond is locked": "Tvoje kauce tvůrce je uzamčena", + "Your taker bond is locked": "Tvoje kauce příjemce je uzamčena", + "Your maker bond was settled": "Tvoje kauce tvůrce byla vypořadána", + "Your taker bond was settled": "Tvoje kauce příjemce byla vypořadána", + "Your maker bond was unlocked": "Tvoje kauce tvůrce byla odemčena", + "Your taker bond was unlocked": "Tvoje kauce příjemce byla odemčena", + "Your order is public": "Tvoje nabídka je veřejná", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Buď trpělivý, zatímco roboti kontrolují nabídky. Tato nabídka jednou zazvoní 🔊 pokud robot přijme tvoji nabídku, potom budeš mít {{deposit_timer_hours}}h {{deposit_timer_minutes}}m k odpovědi. Pokud neodpovíš, riskuješ ztrátu kauce.", + "If the order expires untaken, your bond will return to you (no action needed).": "Pokud nabídka vyprší nepříjmuta, tak kauce se ti vrátí (není potřeba žádné akce).", + "Enable Telegram Notifications": "Povolit Telegram notifikace", + "Enable TG Notifications": "Povolit TG notifikace", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Budeš přesměrován do chatu s RoboSats telegram botem. Jednoduše otevři chat a zmáčkni Start. Měj na paměti, že povolením telegram notifikací máš nížší úroveň anonymity.", + "Go back": "Jít zpět", + "Enable": "Povolit", + "Telegram enabled": "Telegram povolen", + "Public orders for {{currencyCode}}": "Veřejné nabídky pro {{currencyCode}}", + "Premium rank": "Úroveň přirážky", + "Among public {{currencyCode}} orders (higher is cheaper)": "Mezi veřejnými {{currencyCode}} nabídkami (vyšší je levnější)", + "A taker has been found!": "Byl nalezen příjemce!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Vyčkej, až příjemce uzamkne kauci. Pokud příjemce neuzamkne kauci včas, nabídka se znovu zveřejní.", + "Payout Lightning Invoice": "Vyplatit Lightning invoice", + "Your info looks good!": "Tvé údaje vypadají dobře!", + "We are waiting for the seller to lock the trade amount.": "Čekáme, až prodavající uzamkne satoshi .", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Vydrž chvíli. Pokud prodavající neprovede vklad, kauce se ti automaticky vrátí. Kromě toho obdržíš kompenzaci (zkontroluj odměny ve svém profilu).", + "The trade collateral is locked!": "Satoshi jsou uzamknuté!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Čekáme, až kupující vloží lightning invoice. Jakmile tak učiní, budeš moct se s ním moct dohodnout fiat platbě.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Vydrž chvíli. Pokud kupující nespolupracuje, automaticky získáš zpět svojí kauci a předmět obchodu satoshi. Kromě toho obdržíš kompenzaci (zkontroluj odměny ve svém profilu).", + "Confirm {{amount}} {{currencyCode}} sent": "Potvrdit odeslání {{amount}} {{currencyCode}}", + "Confirm {{amount}} {{currencyCode}} received": "Potvrdit příjmutí {{amount}} {{currencyCode}}", + "Open Dispute": "Otevřít spor", + "The order has expired": "Nabídka vypršela", + "Chat with the buyer": "Chat s kupujícím", + "Chat with the seller": "Chat s prodavajícím", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Pozdrav! Buď vstřícný a stručný. Dej mu vědět, jak ti poslat {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "Kupující odeslal fiat. Po obdržení fiatu klikni na 'Potvrdit příjmutí'.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Pozdrav! Požádej o platební údaje a klikni na 'Potvrdit odeslání' jakmile bude platba odeslaná.", + "Wait for the seller to confirm he has received the payment.": "Počkej na potvzení, že prodavající obdržel platbu.", + "Confirm you received {{amount}} {{currencyCode}}?": "Potvrdit obdržení {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Potvrzením, že jsi obdržel fiat se dokončí obchod. Satoshis v úschově se odešlou kupujícímu. Potvrď pouze pokud jsi obdržel {{amount}} {{currencyCode}} na svůj účet. V případě obdržení {{currencyCode}} a nepotvrzení riskuješ ztrátu kauce.", + "Confirm": "Potvrdit", + "Trade finished!": "Obchod dokončen!", + "rate_robosats": "Co si myslíš o <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Děkujeme! RoboSats tě má rád ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats bude lepší s větší likviditou a uživateli. Pověz svým přátelům o Robosats!", + "Thank you for using Robosats!": "Děkujeme, že používáš Robosats!", + "let_us_know_hot_to_improve": "Dej nám vědět jak vylepšit platformu (<1>Telegram / <3>Github)", + "Start Again": "Začít znovu", + "Attempting Lightning Payment": "Pokoušíme se o Lightning platbu", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats se snaží zaplatit tvůj lightning invoice. Nezapomeň, že lightning nody musí být online, aby mohl přijímat platby.", + "Retrying!": "Opakování pokusu!", + "Lightning Routing Failed": "Lightning Routing selhalo", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Tvůj invoice vypršel nebo selhali pokusy o 3 platby. Nahraj nový invoice.", + "Check the list of compatible wallets": "Zkotrolovat seznam kompatibilních peněženek", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats se pokusí zaplatit invoice třikrát s minutivými pauzami. V případě neúspěchu bude třeba nahrát nový invoice. Zkontroluj, zda máš dostatek inbound likvidity. Nezapomeň, že lightning nody musí být online, aby mohl přijímat platby.", + "Next attempt in": "Další pokus za", + "Do you want to open a dispute?": "Chceš otevřít spor?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Personál RoboSats prověří předložená vyjádření a důkazy. Musíš vytvořit ucelený důkazní materiál, protože personál nemůže číst chat. Nejlépe spolu s výpovědí uvést jednorázový kontakt. Satoshi v úschově budou zaslány vítězi sporu, zatímco poražený ve sporu přijde o kauci.", + "Disagree": "Nesouhlasit", + "Agree and open dispute": "Souhlasit a otevřít spor", + "A dispute has been opened": "Spor byl otevřen", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Prosím, předlož své důkazy. Jasně a stručně popiš, co se stalo a předlož důkazy. MUSÍŠ uvést kontatní údaje: jednorázový email, XMPP nebo telegram přezdívku ke komunikaci s personálem. Spory se řeší podle uvážení skutečných robotů (neboli lidé), buď co nejvíce nápomocný, abys zajistil spravedlivý výsledek. Maximálně 5000 znaků.", + "Submit dispute statement": "Odeslat vyjádření", + "We have received your statement": "Obdrželi jsme tvé vyjádření", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Čekáme na vyjádření protistrany. Pokud si nejsi jist stavem sporu nebo chceš doplnit další informace, kontaktuj robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": " Uložte si prosím informace potřebné k identifikaci tvé nabídky a tvých plateb: číslo nabídky; hash platby kauce nebo úschovy (zkontroluj si lightning peněženku); přesná částka satoshi; a robot přezdívku. V komunikaci emailem(nebo jinak) se představíš jako zúčastněna strana.", + "We have the statements": "Máme prohlášení", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Získali jsme obě prohlášení, počkej na vyřešení sporu personálem. Pokud si nejsi jist stavem sporu nebo chceš doplnit další informace, kontaktuj robosats@protonmail.com. Pokud jsi neposkytl kontaktní údaje nebo nejsi si jist, zda jsi to napsal správně okamžitě nás kontaktuj.", + "You have won the dispute": "Vyhrál jsi spor", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Satoshi z vyřešeného sporů (z úschovy a kauce) si můžeš vybrat z odměn ve svém profilu. Pokud ti personál může s něčím pomoci, neváhej a kontaktuj nás na robosats@protonmail.com (nebo jiný způsob komunikace).", + "You have lost the dispute": "Prohrál jsi spor", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Bohužel jsi prohrál spor. Pokud se domníváš, že se jedná o chybu, můžeš požádat o opětovné otevření sporu na robosats@protonmail.com. Ačkoliv šance znovuotevření je malá.", + "Expired not taken": "Vypršené nepřijmuto", + "Maker bond not locked": "Kauce tvůrce není uzamknuta", + "Escrow not locked": "Není uzamknuta úschova", + "Invoice not submitted": "Není předložen invoice", + "Neither escrow locked or invoice submitted": "Nebyla uzamčena úschova ani předložen invoice", + "Renew Order": "Opakovat nabídku", + "Pause the public order": "Pozastavit zveřejnění nabídky", + "Your order is paused": "Tvá nabídka je pozastavena", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Tvá veřejná nabídka je pozastavena. V tuto chvíli ji nemohou vidět ani přijmout jiní roboti. Pozastavení můžeš kdykoliv zrušit.", + "Unpause Order": "Zrušit pozastavení nabídky", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Riskujuš ztrátu kauce, pokud neuzamkneš satoshi do úschovy. Zbývá {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "Robrazit kompatibilní peněženky", + "Failure reason:": "Důvod selhání:", + "Payment isn't failed (yet)": "Platba neselhala (zatím)", + "There are more routes to try, but the payment timeout was exceeded.": "Je možné vyzkoušet další platební trasy, ale časový limit pro platbu byl překročen.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Všechny možné trasy byly vyzkoušeny a trvale selhaly. Nebo k cíli nevedou vůbec žádné trasy.", + "A non-recoverable error has occurred.": "Došlo k neopravitelné chybě.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Platební údaje jsou nesprávné (neznámy hash, špatná částka nebo chybné final CLTV delta).", + "Insufficient unlocked balance in RoboSats' node.": "Nedostatečný odemknutý zůstatek na RoboSats nodu.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "Odeslaný invoice vede skrz drahé trasy, použiváš nekompatibilní peněženku (možná Muun?). Zkontroluj náš seznam kompatibilních peněženek na wallets.robosats.com", + "The invoice provided has no explicit amount": "Odeslaný invoice obsahuje špatnou částku", + "Does not look like a valid lightning invoice": "Poskytnutý lightning invoice nevypadá platně", + "The invoice provided has already expired": "Platnost poskytnutého lightning invoice vypršel", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Nezapomeň EXPORTOVAT log chatu. Personál si může vyžádat exportovaný log chatu ve formátu JSON, aby mohl vyřešit nesrovnalosti. Je tvou odpovědností jej uložit.", + "Does not look like a valid address": "Nevypdá to jako platná adresa", + "This is not a bitcoin mainnet address": "Toto není bitcoin mainnet adresa", + "This is not a bitcoin testnet address": "Toto není bitcoin testnet adresa", + "Submit payout info for {{amountSats}} Sats": "Odeslat údaje na vyplacení {{amountSats}} Satů", + "Submit a valid invoice for {{amountSats}} Satoshis.": "Odeslat platný invoice pro {{amountSats}} Satoshi.", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "Předtím než tě necháme odeslat {{amountFiat}} {{currencyCode}}, chceme se nechat ujistit, že jsi schopen příjmout BTC.", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats provede swap Satů na tvou onchain adresu.", + "Swap fee": "Swap poplatek", + "Mining fee": "Těžební poplatek", + "Mining Fee": "Těžební poplatek", + "Final amount you will receive": "Konečná částka, kterou získáš", + "Bitcoin Address": "Bitcoin adresa", + "Your TXID": "Tvé TXID", + "Lightning": "Lightning", + "Onchain": "Onchain", + "open_dispute": "Chceš-li otevřít spor, musíš počkat <1><1/>", + "Trade Summary": "Shrnutí obchodu", + "Maker": "Tvůrce", + "Taker": "Příjemce", + "User role": "Uživatelská role", + "Sent": "Odesláno", + "Received": "Příjmuto", + "BTC received": "BTC příjmuto", + "BTC sent": "BTC odesláno", + "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)": "{{tradeFeeSats}} Satů ({{tradeFeePercent}}%)", + "Trade fee": "Obchodní poplatek", + "{{swapFeeSats}} Sats ({{swapFeePercent}}%)": "{{swapFeeSats}} Satů ({{swapFeePercent}}%)", + "Onchain swap fee": "Onchain swap poplatek", + "{{miningFeeSats}} Sats": "{{miningFeeSats}} Satů", + "{{bondSats}} Sats ({{bondPercent}}%)": "{{bondSats}} Satů ({{bondPercent}}%)", + "Maker bond": "Kauce tvůrce", + "Taker bond": "Kauce příjemce", + "Unlocked": "Odemčeno", + "{{revenueSats}} Sats": "{{revenueSats}} Satů", + "Platform trade revenue": "Odměna pro platformu", + "{{routingFeeSats}} MiliSats": "{{routingFeeSats}} MiliSatů", + "Platform covered routing fee": "Poplatek za routing hrazený platformou", + + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Zavřít", + "What is RoboSats?": "Co je RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Je to BTC/FIAT peer-to-peer burza přes lightning.", + "RoboSats is an open source project ": "RoboSats je open source projekt ", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Zjednodušuje schodu nabídky s poptávkou a potřebu důvěry. RoboSats se zaměřuje na ochranu soukromí a rychlost.", + "(GitHub).": "(GitHub).", + "How does it work?": "Jak to funguje?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymníAlice01 chce prodat bitcoin. Zveřejní nabídku k prodeji. BystrýBob02 chce koupit bitcoin a proto příjme Alicinu nabídku. Oba musí složit malou kauci přes lightning aby dokázali, že jsou skuteční roboti. Nato Alice přes lightning a hodl invoice vloží do úschovy kolaterál. RoboSats uzamkne invoice, dokud Alice nepotvrdí, že obdržela fiat, pak jsou satoshi uvolněny Bobobi. Užij si své satoshi, Bobe!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "V žádném bodě, AnonymníAlice01 a BystrýBob02 nemuseli svěřit své bitcoiny tomu druhému. V případě sporu by jim ho pomohl vyřešit personál RoboSats.", + "You can find a step-by-step description of the trade pipeline in ": "Popis obchodu krok za krokem najdeš na", + "How it works": "Jak to funguje", + "You can also check the full guide in ": "Taky se můžeš podívat na návod", + "How to use": "Jak se používá", + "What payment methods are accepted?": "Jaké jsou akceptované platební metody?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Všechny, pokud jsou rychlé. Vždy můžeš dopsat svou preferovanou platební metodu, jenom bude muset být protistrana, která jí příjme. Část s odesláním fiatu má limit 24h, potom se automaticky otevře spor. Doporučujeme použití okamžitých platebních metod.", + "Are there trade limits?": "Je nějaký obchodní limit?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Maximální velikost obchodu je {{maxAmount}} Satoshi, aby byl minimalizován neúspěch lightning routing. Denní limit obchodu není, pouze robot může mít vždy pouze jednu nabídku. Ale součastně je možné mít více robotu v různých prohlížečích (nezapoměň na zálohu tokenů robotů).", + "Is RoboSats private?": "Narušuje RoboSats soukromí?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats nikdy nežádá o soukromé údaje jako jméno, bydliště a doklady totožnosti. RoboSats nespravuje žádné prostředky a nezajímá se kdo jsi. RoboSats nesbírá a nespravuje osobní informace. Pro větší anonymitu použij Tor Browser a .onion adresu.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Jediný kdo může o tobě poteciálně cokoliv zjistit je protistrana obchodu. Udrž chat krátký a stručný. Vyhni se všemu co není důležité pro fiat platbu.", + "What are the risks?": "Jaké jsou rizika?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Toto je experimentální aplikace, věci se mohou pokazit. Obchoduj s malými částkami!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Prodejce čelí riziku vratky platby jako v každé peer-to-peer službě. Paypal nebo platební karty nejsou doporučené.", + "What is the trust model?": "Jaký je model důvěry?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Kupující a prodavající si nemusí věřit. Trochu se musí důvěřovat RoboSats, protože propojuje hodl invoice prodavajícího a platba kupujícímu není atomic (zatím). Kromě toho, spory jsou řešeny personálem RoboSats.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Aby jsem si to shrnuli, potřeba důvěry je minimalizována. Přesto existuje jedna cesta jak RoboSats může utéct se satoshi: neuvolnit je kupujícímu. Dalo by se namítnout, že takový krok není v zájmu RoboSats, kvůli malé platbě si zničit reputaci. Z toho důvodu bys měl obchodovat pouze s malými částkami najednou. Pro větší částky použij onchain aplikace jako Bisq.", + "You can build more trust on RoboSats by inspecting the source code.": "Můžeš si vybudovat větší důvěru v RoboSats zkontrolováním zdrojového kódu.", + "Project source code": "Zdrojový kód projektu", + "What happens if RoboSats suddenly disappears?": "Co se stane pokud RoboSats náhle zmizí?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Tvé saty se ti vrátí. Jakýkoliv hold invoice, který není vypořádán se automaticky vrací i v případě trvalého konce RoboSats. Toto platí pro kauce i úschovu. Přesto je malé okno mezi potvrzením od prodavajícího FIAT OBDRŽEN a momentem kdy kupující obdrží své satoshi, by mohli být navždy ztraceny v případě zmizení RoboSats. Okno je dlouhé 1 vteřinu. Z toho důvodu měj dostatečnou inbound likviditu aby byl vyloučeno routing selhání. Pokud máš jakýkoliv problém obrať se na nás prostřednictvým veřejných RoboSats kanálu.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "V mnoha zemích není rozdíl mezi používáním RoboSats a Ebay nebo Craiglistu. Regulace jsou různé, je tvá povinnost jim vyhovět.", + "Is RoboSats legal in my country?": "Je RoboSats legální v mé zemi?", + "Disclaimer": "Zřeknutí se odpovědnosti", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Tato lightning aplikace se poskytuje jak je. V aktivním vývoji: obchoduj s maximální opatrností. Neexistuje žádná soukromá podpora. Podpora se poskytuje pouze na veřejných kanálech.", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats tě nikdy nebude kontaktovat. RoboSats tě nikdy nepožáda o tvůj robot token." +} diff --git a/frontend/static/locales/de.json b/frontend/static/locales/de.json index d05bb3a2c..eb2ab41a4 100644 --- a/frontend/static/locales/de.json +++ b/frontend/static/locales/de.json @@ -1,428 +1,419 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Du nutzt RoboSats nicht privat", - "desktop_unsafe_alert": "Einige Funktionen sind zu deinem Schutz deaktiviert (z.B. der Chat) und du kannst ohne sie keinen Handel abschließen. Um deine Privatsphäre zu schützen und RoboSats vollständig zu nutzen, verwende <1>Tor Browser und besuche die <3>Onion Seite.", - "phone_unsafe_alert": "Du wirst nicht in der Lage sein, einen Handel abzuschließen. Benutze <1>Tor Browser und besuche die <3>Onion Seite.", - "Hide":"Ausblenden", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Du nutzt RoboSats nicht privat", + "desktop_unsafe_alert": "Einige Funktionen sind zu deinem Schutz deaktiviert (z.B. der Chat) und du kannst ohne sie keinen Handel abschließen. Um deine Privatsphäre zu schützen und RoboSats vollständig zu nutzen, verwende <1>Tor Browser und besuche die <3>Onion Seite.", + "phone_unsafe_alert": "Du wirst nicht in der Lage sein, einen Handel abzuschließen. Benutze <1>Tor Browser und besuche die <3>Onion Seite.", + "Hide": "Ausblenden", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Einfache und private LN P2P-Börse", + "This is your trading avatar": "Dies ist dein Handelsavatar", + "Store your token safely": "Verwahre deinen Token sicher", + "A robot avatar was found, welcome back!": "Der Roboter-Avatar wurde gefunden, willkommen zurück!", + "Copied!": "Kopiert!", + "Generate a new token": "Generiere einen neuen Token", + "Generate Robot": "Roboter generieren", + "You must enter a new token first": "Du musst zuerst einen neuen Token eingeben", + "Make Order": "Erstellen", + "Info": "Info", + "View Book": "Annehmen", + "Learn RoboSats": "Lerne RoboSats kennen", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Du bist dabei die Website 'lerne RoboSats kennen' zu besuchen. Hier findest du Tutorials und Dokumentationen, die dir helfen RoboSats zu benutzen und zu verstehen wie es funktioniert.", + "Let's go!": "Los gehts!", + "Save token and PGP credentials to file": "Token und PGP-Anmeldeinformationen in einer Datei speichern", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Einfache und private LN P2P-Börse", - "This is your trading avatar":"Dies ist dein Handelsavatar", - "Store your token safely":"Verwahre deinen Token sicher", - "A robot avatar was found, welcome back!":"Der Roboter-Avatar wurde gefunden, willkommen zurück!", - "Copied!":"Kopiert!", - "Generate a new token":"Generiere einen neuen Token", - "Generate Robot":"Roboter generieren", - "You must enter a new token first":"Du musst zuerst einen neuen Token eingeben", - "Make Order":"Erstellen", - "Info":"Info", - "View Book":"Annehmen", - "Learn RoboSats":"Lerne RoboSats kennen", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"Du bist dabei die Website 'lerne RoboSats kennen' zu besuchen. Hier findest du Tutorials und Dokumentationen, die dir helfen RoboSats zu benutzen und zu verstehen wie es funktioniert.", - "Let's go!":"Los gehts!", - "Save token and PGP credentials to file":"Token und PGP-Anmeldeinformationen in einer Datei speichern", + "MAKER PAGE - MakerPage.js": "Dies ist die Seite, auf der Benutzer neue Angebote erstellen können", + "Order": "Order", + "Customize": "Anpassen", + "Buy or Sell Bitcoin?": "Bitcoin kaufen oder verkaufen?", + "Buy": "Kaufen", + "Sell": "Verkaufen", + "Amount": "Menge", + "Amount of fiat to exchange for bitcoin": "Fiat-Betrag zum Austausch in Bitcoin", + "Invalid": "Ungültig", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Gib deine bevorzugten Fiat-Zahlungsweisen an. Schnelle Methoden werden dringend empfohlen.", + "Must be shorter than 65 characters": "Muss kürzer als 65 Zeichen sein", + "Swap Destination(s)": "austausch Ziel(e)", + "Fiat Payment Method(s)": "Fiat Zahlungsmethode(n)", + "You can add new methods": "Du kannst neue Methoden hinzufügen", + "Add New": "Neu hinzufügen", + "Choose a Pricing Method": "Wähle eine Preismethode", + "Relative": "Relativ", + "Let the price move with the market": "Passe den Preis konstant dem Markt an", + "Premium over Market (%)": "Marktpreis Aufschlag (%)", + "Explicit": "Explizit", + "Set a fix amount of satoshis": "Setze eine feste Anzahl an Satoshis", + "Satoshis": "Satoshis", + "Fixed price:": "Fixer Preis:", + "Order current rate:": "Aktueller Order-Kurs:", + "Your order fixed exchange rate": "Dein fixierter Order-Kurs", + "Your order's current exchange rate. Rate will move with the market.": "Der aktuelle Wechselkurs für deine Order. Der Kurs wird sich mit dem Markt verändern.", + "Let the taker chose an amount within the range": "Lasse den Taker einen Betrag innerhalb der Spanne wählen", + "Enable Amount Range": "Betragsbereich einschalten", + "From": "Von", + "to": "bis", + "Expiry Timers": "Ablauf-Timer", + "Public Duration (HH:mm)": "Angebotslaufzeit (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Treuhand-Einzahlungs-Timeout (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Lege die Kaution fest, erhöhen für mehr Sicherheit", + "Fidelity Bond Size": "Höhe der Kaution", + "Allow bondless takers": "Erlaube kautionslose Taker", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "BALD VERFÜGBAR - Hohes Risiko! Limit: {{limitSats}}K Sats", + "You must fill the order correctly": "Du musst die Order korrekt ausfüllen", + "Create Order": "Order erstellen", + "Back": "Zurück", + "Create an order for ": "Erstelle eine Order für ", + "Create a BTC buy order for ": "Erstelle ein BTC-Kaufangebot für ", + "Create a BTC sell order for ": "Erstelle ein BTC-Verkaufsaufangebot für ", + " of {{satoshis}} Satoshis": " für {{satoshis}} Satoshis", + " at market price": " zum Marktpreis", + " at a {{premium}}% premium": " mit einem {{premium}}% Aufschlag", + " at a {{discount}}% discount": " mit einem {{discount}}% Rabatt", + "Must be less than {{max}}%": "Muss weniger sein als {{max}}%", + "Must be more than {{min}}%": "Muss mehr sein als {{min}}%", + "Must be less than {{maxSats}": "Muss weniger sein als {{maxSats}}", + "Must be more than {{minSats}}": "Muss mehr sein als {{minSats}}", + "Store your robot token": "Speicher Roboter-Token", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Vielleicht musst du deinen Roboter-Avatar in Zukunft wiederherstellen: Bewahre ihn sicher auf. Du kannst ihn einfach in eine andere Anwendung kopieren.", + "Done": "Fertig", + "You do not have a robot avatar": "Du hast keinen Roboter-Avatar", + "You need to generate a robot avatar in order to become an order maker": "Du musst einen Roboter-Avatar erstellen, um ein Maker zu werden.", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Nicht definiert", + "Instant SEPA": "Instant SEPA", + "Amazon GiftCard": "Amazon Gutschein", + "Google Play Gift Code": "Google Play Gutschein", + "Cash F2F": "Cash F2F", + "On-Chain BTC": "On-Chain BTC", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Verkäufer", + "Buyer": "Käufer", + "I want to": "Ich möchte", + "Select Order Type": "Order Typ auswählen", + "ANY_type": "ALLE", + "ANY_currency": "ALLE", + "BUY": "KAUFEN", + "SELL": "VERKAUFEN", + "and receive": "und erhalte", + "and pay with": "und zahlen mit", + "and use": "und verwende", + "Select Payment Currency": "Währung auswählen", + "Robot": "Roboter", + "Is": "Ist", + "Currency": "Währung", + "Payment Method": "Zahlungsweise", + "Pay": "Bezahlung", + "Price": "Preis", + "Premium": "Aufschlag", + "You are SELLING BTC for {{currencyCode}}": "Du VERKAUFST BTC für {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "Du KAUFST BTC für {{currencyCode}}", + "You are looking at all": "Alle werden angezeigt", + "No orders found to sell BTC for {{currencyCode}}": "Keine BTC-Verkaufsangebote für {{currencyCode}} gefunden", + "No orders found to buy BTC for {{currencyCode}}": "Keine BTC-Kaufsangebote für {{currencyCode}} gefunden", + "Filter has no results": "Filter hat keine Ergebnisse", + "Be the first one to create an order": "Sei der Erste, der ein Angebot erstellt", - "MAKER PAGE - MakerPage.js": "Dies ist die Seite, auf der Benutzer neue Angebote erstellen können", - "Order":"Order", - "Customize":"Anpassen", - "Buy or Sell Bitcoin?":"Bitcoin kaufen oder verkaufen?", - "Buy":"Kaufen", - "Sell":"Verkaufen", - "Amount":"Menge", - "Amount of fiat to exchange for bitcoin":"Fiat-Betrag zum Austausch in Bitcoin", - "Invalid":"Ungültig", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Gib deine bevorzugten Fiat-Zahlungsweisen an. Schnelle Methoden werden dringend empfohlen.", - "Must be shorter than 65 characters":"Muss kürzer als 65 Zeichen sein", - "Swap Destination(s)":"austausch Ziel(e)", - "Fiat Payment Method(s)":"Fiat Zahlungsmethode(n)", - "You can add new methods":"Du kannst neue Methoden hinzufügen", - "Add New":"Neu hinzufügen", - "Choose a Pricing Method":"Wähle eine Preismethode", - "Relative":"Relativ", - "Let the price move with the market":"Passe den Preis konstant dem Markt an", - "Premium over Market (%)":"Marktpreis Aufschlag (%)", - "Explicit":"Explizit", - "Set a fix amount of satoshis":"Setze eine feste Anzahl an Satoshis", - "Satoshis":"Satoshis", - "Fixed price:":"Fixer Preis:", - "Order current rate:":"Aktueller Order-Kurs:", - "Your order fixed exchange rate":"Dein fixierter Order-Kurs", - "Your order's current exchange rate. Rate will move with the market.":"Der aktuelle Wechselkurs für deine Order. Der Kurs wird sich mit dem Markt verändern.", - "Let the taker chose an amount within the range":"Lasse den Taker einen Betrag innerhalb der Spanne wählen", - "Enable Amount Range":"Betragsbereich einschalten", - "From": "Von", - "to":"bis", - "Expiry Timers":"Ablauf-Timer", - "Public Duration (HH:mm)":"Angebotslaufzeit (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)":"Treuhand-Einzahlungs-Timeout (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Lege die Kaution fest, erhöhen für mehr Sicherheit", - "Fidelity Bond Size":"Höhe der Kaution", - "Allow bondless takers":"Erlaube kautionslose Taker", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"BALD VERFÜGBAR - Hohes Risiko! Limit: {{limitSats}}K Sats", - "You must fill the order correctly":"Du musst die Order korrekt ausfüllen", - "Create Order":"Order erstellen", - "Back":"Zurück", - "Create an order for ":"Erstelle eine Order für ", - "Create a BTC buy order for ":"Erstelle ein BTC-Kaufangebot für ", - "Create a BTC sell order for ":"Erstelle ein BTC-Verkaufsaufangebot für ", - " of {{satoshis}} Satoshis":" für {{satoshis}} Satoshis", - " at market price":" zum Marktpreis", - " at a {{premium}}% premium":" mit einem {{premium}}% Aufschlag", - " at a {{discount}}% discount":" mit einem {{discount}}% Rabatt", - "Must be less than {{max}}%":"Muss weniger sein als {{max}}%", - "Must be more than {{min}}%":"Muss mehr sein als {{min}}%", - "Must be less than {{maxSats}": "Muss weniger sein als {{maxSats}}", - "Must be more than {{minSats}}": "Muss mehr sein als {{minSats}}", - "Store your robot token":"Speicher Roboter-Token", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"Vielleicht musst du deinen Roboter-Avatar in Zukunft wiederherstellen: Bewahre ihn sicher auf. Du kannst ihn einfach in eine andere Anwendung kopieren.", - "Done":"Fertig", - "You do not have a robot avatar":"Du hast keinen Roboter-Avatar", - "You need to generate a robot avatar in order to become an order maker":"Du musst einen Roboter-Avatar erstellen, um ein Maker zu werden.", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Statistiken für Nerds", + "LND version": "LND-Version", + "Currently running commit hash": "Aktuell laufender Commit-Hash", + "24h contracted volume": "24h Handelsvolumen", + "Lifetime contracted volume": "Handelsvolumen insgesamt", + "Made with": "Gemacht mit", + "and": "und", + "... somewhere on Earth!": "... irgendwo auf der Erde!", + "Community": "Community", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Support wird nur über öffentliche Kanäle angeboten. Tritt unserer Telegram-Community bei, wenn du Fragen hast oder dich mit anderen coolen Robotern austauschen möchtest. Bitte nutze unsere Github Issues, wenn du einen Fehler findest oder neue Funktionen sehen willst!", + "Follow RoboSats in Twitter": "Folge RoboSats auf Twitter", + "Twitter Official Account": "Offizieller Twitter-Account", + "RoboSats Telegram Communities": "RoboSats Telegram Gruppen", + "Join RoboSats Spanish speaking community!": "Tritt der Spanischen RoboSats-Gruppe bei!", + "Join RoboSats Russian speaking community!": "Tritt der Russischen RoboSats-Gruppe bei!", + "Join RoboSats Chinese speaking community!": "Tritt der Chinesischen RoboSats-Gruppe bei!", + "Join RoboSats English speaking community!": "Tritt der Englischen RoboSats-Gruppe bei!", + "Tell us about a new feature or a bug": "Erzähle uns von neuen Funktionen oder einem Fehler", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - Das Roboter-Satoshi Open-Source-Projekt", + "Your Profile": "Dein Profil", + "Your robot": "Dein Roboter", + "One active order #{{orderID}}": "Eine aktive Order #{{orderID}}", + "Your current order": "Deine aktuelle Order", + "No active orders": "Keine aktive Order", + "Your token (will not remain here)": "Dein Token (wird hier nicht gespeichert)", + "Back it up!": "Speicher ihn ab!", + "Cannot remember": "Kann mich nicht erinnern", + "Rewards and compensations": "Belohnungen und Entschädigungen", + "Share to earn 100 Sats per trade": "Teilen, um 100 Sats pro Handel zu verdienen", + "Your referral link": "Dein Empfehlungslink", + "Your earned rewards": "Deine verdienten Belohnungen", + "Claim": "Erhalten", + "Invoice for {{amountSats}} Sats": "Invoice für {{amountSats}} Sats", + "Submit": "Bestätigen", + "There it goes, thank you!🥇": "Das war's, vielen Dank!🥇", + "You have an active order": "Du hast eine aktive Order", + "You can claim satoshis!": "Du kannst Satoshis abholen!", + "Public Buy Orders": "Öffentliche Kaufangebote", + "Public Sell Orders": "Öffentliche Verkaufsangebote", + "Today Active Robots": "Heute aktive Roboter", + "24h Avg Premium": "24h Durchschnittsaufschlag", + "Trade Fee": "Handelsgebühr", + "Show community and support links": "Community- und Support-Links anzeigen", + "Show stats for nerds": "Statistiken für Nerds anzeigen", + "Exchange Summary": "Börsen-Zusammenfassung", + "Public buy orders": "Öffentliche Kaufangebote", + "Public sell orders": "Öffentliche Verkaufsangebote", + "Book liquidity": "Marktplatz-Liquidität", + "Today active robots": "Heute aktive Roboter", + "24h non-KYC bitcoin premium": "24h non-KYC Bitcoin-Aufschlag", + "Maker fee": "Makergebühr", + "Taker fee": "Takergebühr", + "Number of public BUY orders": "Anzahl der öffentlichen KAUF-Angebote", + "Number of public SELL orders": "Anzahl der öffentlichen VERKAUFS-Angebote", + "Your last order #{{orderID}}": "Deine letzte Order #{{orderID}}", + "Inactive order": "Inaktive Order", + "You do not have previous orders": "Du hast keine vorherige Order", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Angebots-Box", + "Contract": "Vertrag", + "Active": "Activ", + "Seen recently": "Kürzlich gesehen", + "Inactive": "Inactiv", + "(Seller)": "(Verkäufer)", + "(Buyer)": "(Käufer)", + "Order maker": "Order-Maker", + "Order taker": "Order-Taker", + "Order Details": "Order-Details", + "Order status": "Order-Status", + "Waiting for maker bond": "Warten auf Maker-Kaution", + "Public": "Public", + "Waiting for taker bond": "Warten auf Taker-Kaution", + "Cancelled": "Abgebrochen", + "Expired": "Abgelaufen", + "Waiting for trade collateral and buyer invoice": "Warten auf Handels-Kaution und Käufer-Invoice", + "Waiting only for seller trade collateral": "Auf Kaution des Verkäufers warten", + "Waiting only for buyer invoice": "Warten auf Käufer-Invoice", + "Sending fiat - In chatroom": "Fiat senden - Im Chatroom", + "Fiat sent - In chatroom": "Fiat bezahlt - Im Chatroom", + "In dispute": "Offener Streitfall", + "Collaboratively cancelled": "Gemeinsam abgebrochen", + "Sending satoshis to buyer": "Sende Satoshis an den Käufer", + "Sucessful trade": "Erfolgreicher Handel", + "Failed lightning network routing": "Weiterleitung im Lightning-Netzwerk fehlgeschlagen", + "Wait for dispute resolution": "Warten auf Streitschlichtung", + "Maker lost dispute": "Maker hat Fall verloren", + "Taker lost dispute": "Taker hat Fall verloren", + "Amount range": "Betragsspanne", + "Swap destination": "Austausch-Ziel", + "Accepted payment methods": "Akzeptierte Zahlungsweisen", + "Others": "Weitere", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Aufschlag: {{premium}}%", + "Price and Premium": "Preis und Aufschlag", + "Amount of Satoshis": "Anzahl Satoshis", + "Premium over market price": "Aufschlag über dem Marktpreis", + "Order ID": "Order-ID", + "Deposit timer": "Einzahlungstimer", + "Expires in": "Läuft ab in", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} bittet um gemeinsamen Abbruch", + "You asked for a collaborative cancellation": "Du hast um einen gemeinsamen Abbruch gebeten", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Die Invoice ist abgelaufen. Du hast die Veröffentlichung der Order nicht rechtzeitig bestätigt. Erstelle eine neue Order.", + "This order has been cancelled by the maker": "Diese Order wurde vom Maker storniert", + "Invoice expired. You did not confirm taking the order in time.": "Die Invoice ist abgelaufen. Du hast die Annahme der Order nicht rechtzeitig bestätigt.", + "Penalty lifted, good to go!": "Die Strafe ist aufgehoben, es kann losgehen!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kannst noch keine Order annehmen! Warte {{timeMin}}m {{timeSec}}s", + "Too low": "Zu niedrig", + "Too high": "Zu hoch", + "Enter amount of fiat to exchange for bitcoin": "Fiat-Betrag für den Umtausch in Bitcoin eingeben", + "Amount {{currencyCode}}": "Betrag {{currencyCode}}", + "You must specify an amount first": "Du musst zuerst einen Betrag angeben", + "Take Order": "Order annehmen", + "Wait until you can take an order": "Warte, bis du eine Order annehmen kannst", + "Cancel the order?": "Order abbrechen?", + "If the order is cancelled now you will lose your bond.": "Wenn die Order jetzt storniert wird, verlierst du deine Kaution.", + "Confirm Cancel": "Abbruch bestätigen", + "The maker is away": "Der Maker ist abwesend", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Wenn du diese Order annimmst, riskierst du, deine Zeit zu verschwenden. Wenn der Maker nicht rechtzeitig handelt, erhältst du eine Entschädigung in Satoshis in Höhe von 50 % der Maker-Kaution.", + "Collaborative cancel the order?": "Order gemeinsam abbrechen?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Der Trade wurde veröffentlicht. Die Order kann nur storniert werden, wenn Maker und Taker der Stornierung gemeinsam zustimmen.", + "Ask for Cancel": "Bitte um Abbruch", + "Cancel": "Abbrechen", + "Collaborative Cancel": "Gemeinsamer Abbruch", + "Invalid Order Id": "Ungültige Order-ID", + "You must have a robot avatar to see the order details": "Du musst einen Roboter-Avatar besitzen, um die Orderdetails zu sehen", + "This order has been cancelled collaborativelly": "Diese Order wurde gemeinsam abgebrochen", + "You are not allowed to see this order": "Du darfst diese Order nicht sehen", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Die Roboter-Satoshis, die im Lager arbeiten, haben dich nicht verstanden. Bitte, melde den Fehler über Github https://github.com/reckless-satoshi/robosats/issues", - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Nicht definiert", - "Instant SEPA":"Instant SEPA", - "Amazon GiftCard":"Amazon Gutschein", - "Google Play Gift Code":"Google Play Gutschein", - "Cash F2F":"Cash F2F", - "On-Chain BTC":"On-Chain BTC", + "CHAT BOX - Chat.js": "Chat Box", + "You": "Du", + "Peer": "Partner", + "connected": "verbunden", + "disconnected": "getrennt", + "Type a message": "Schreibe eine Nachricht", + "Connecting...": "Verdinden...", + "Send": "Senden", + "Verify your privacy": "Überprüfe deine Privatsphäre", + "Audit PGP": "Audit PGP", + "Save full log as a JSON file (messages and credentials)": "Vollständiges Protokoll als JSON-Datei speichern ( Nachrichten und Anmeldeinformationen)", + "Export": "Exportieren", + "Don't trust, verify": "Don't trust, verify", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Deine Kommunikation wird Ende-zu-Ende mit OpenPGP verschlüsselt. Du kannst die Vertraulichkeit dieses Chats mit jedem OpenPGP-Standard Tool überprüfen.", + "Learn how to verify": "Learn how to verify", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Dein öffentlicher PGP-Schlüssel. Dein Chatpartner verwendet ihn für das Verschlüsseln der Nachrichten, damit nur du sie lesen kannst.", + "Your public key": "Dein öffentlicher Schlüssel", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "Der öffentliche PGP-Schlüssel deines Chatpartners. Du verwendest ihn um Nachrichten zu verschlüsseln, die nur er lesen kann und um zu überprüfen, ob dein Gegenüber die eingehenden Nachrichten signiert hat.", + "Peer public key": "Öffentlicher Schlüssel des Partners", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Dein verschlüsselter privater Schlüssel. Du verwendest ihn um die Nachrichten zu entschlüsseln, die dein Peer für dich verschlüsselt hat. Außerdem signierst du mit ihm die Nachrichten die du sendest.", + "Your encrypted private key": "Dein verschlüsselter privater Schlüssel", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "Die Passphrase zur Entschlüsselung deines privaten Schlüssels. Nur du kennst sie! Bitte nicht weitergeben. Sie ist auch dein Benutzer-Token für den Roboter-Avatar.", + "Your private key passphrase (keep secure!)": "Deine Passphrase für den privaten Schlüssel (sicher aufbewahren!)", + "Save credentials as a JSON file": "Anmeldeinformationen als JSON-Datei speichern", + "Keys": "Schlüssel", + "Save messages as a JSON file": "Nachrichten als JSON-Datei speichern", + "Messages": "Nachrichten", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Vertrags-Box", + "Robots show commitment to their peers": "Roboter verpflichten sich ihren Gegenübern", + "Lock {{amountSats}} Sats to PUBLISH order": "Sperre {{amountSats}} Sats zum VERÖFFENTLICHEN", + "Lock {{amountSats}} Sats to TAKE order": "Sperre {{amountSats}} Sats zum ANNEHMEN", + "Lock {{amountSats}} Sats as collateral": "Sperre {{amountSats}} Sats als Sicherheit", + "Copy to clipboard": "In Zwischenablage kopieren", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Diese Invoice wird in deiner Wallet eingefroren. Sie wird nur belastet, wenn du abbrichst oder einen Streitfall verlierst.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Diese Invoice wird in deiner Wallet eingefroren. Sie wird erst durchgeführt sobald du die {{currencyCode}}-Zahlung bestätigst.", + "Your maker bond is locked": "Deine Maker-Kaution ist gesperrt", + "Your taker bond is locked": "Deine Taker-Kaution ist gesperrt", + "Your maker bond was settled": "Deine Maker-Kaution wurde bezahlt", + "Your taker bond was settled": "Deine Taker-Kaution wurde bezahlt.", + "Your maker bond was unlocked": "Deine Maker-Kaution wurde freigegeben", + "Your taker bond was unlocked": "Deine Taker-Kaution wurde freigegeben.", + "Your order is public": "Deine Order ist öffentlich", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Sei geduldig, während die Roboter das Buch ansehen. Diese Box läutet 🔊, sobald ein Roboter deine Order annimmt, dann hast du {{deposit_timer_hours}} Stunden {{deposit_timer_minutes}} Minuten Zeit zu antworten. Wenn du nicht antwortest, riskierst du den Verlust deiner Kaution.", + "If the order expires untaken, your bond will return to you (no action needed).": "Wenn die Order nicht angenommen wird und abläuft, erhältst du die Kaution zurück (keine Aktion erforderlich).", + "Enable Telegram Notifications": "Telegram-Benachrichtigungen aktivieren", + "Enable TG Notifications": "Aktiviere TG-Benachrichtigungen", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Du wirst zu einem Chat mit dem RoboSats-Telegram-Bot weitergeleitet. Öffne einfach den Chat und drücke auf Start. Beachte, dass du deine Anonymität verringern könntest, wenn du Telegram-Benachrichtigungen aktivierst.", + "Go back": "Zurück", + "Enable": "Aktivieren", + "Telegram enabled": "Telegram aktiviert", + "Public orders for {{currencyCode}}": "Öffentliche Order für {{currencyCode}}", + "Premium rank": "Aufschlags-Rang", + "Among public {{currencyCode}} orders (higher is cheaper)": "Anzahl öffentlicher {{currencyCode}} Order (höher ist günstiger)", + "A taker has been found!": "Ein Taker wurde gefunden", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Bitte warte auf den Taker, um eine Kaution zu sperren. Wenn der Taker nicht rechtzeitig eine Kaution sperrt, wird die Order erneut veröffentlicht.", + "Submit an invoice for {{amountSats}} Sats": "Füge eine Invoice über {{amountSats}} Sats ein", + "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.": "Der Taker ist bereit! Bevor du {{amountFiat}} {{currencyCode}} sendest, möchten wir sicherstellen, dass du in der Lage bist, die BTC zu erhalten. Bitte füge eine gültige Invoice über {{amountSats}} Satoshis ein", + "Payout Lightning Invoice": "Lightning-Auszahlungs-Invoice", + "Your invoice looks good!": "Deine Invoice sieht gut aus!", + "We are waiting for the seller to lock the trade amount.": "Wir warten darauf, dass der Verkäufer den Handelsbetrag sperrt.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Warte einen Moment. Wenn der Verkäufer den Handelsbetrag nicht hinterlegt, bekommst du deine Kaution automatisch zurück. Darüber hinaus erhältst du eine Entschädigung (siehe die Belohnungen in deinem Profil).", + "The trade collateral is locked!": "Der Handelsbetrag ist gesperrt!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Wir warten darauf, dass der Käufer eine Lightning-Invoice einreicht. Sobald er dies tut, kannst du ihm die Details der Fiat-Zahlung mitteilen.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Warte einen Moment. Wenn der Käufer nicht kooperiert, bekommst du seine und deine Kaution automatisch zurück. Außerdem erhältst du eine Entschädigung (siehe die Belohnungen in deinem Profil).", + "Confirm {{amount}} {{currencyCode}} sent": "Bestätige {{amount}} {{currencyCode}} gesendet", + "Confirm {{amount}} {{currencyCode}} received": "Bestätige {{amount}} {{currencyCode}} erhalten", + "Open Dispute": "Streitfall eröffnen", + "The order has expired": "Die Order ist abgelaufen", + "Chat with the buyer": "Chatte mit dem Käufer", + "Chat with the seller": "Chatte mit dem Verkäufer", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Sag Hallo! Sei hilfreich und präzise. Lass ihn wissen, wie er dir {{amount}} {{currencyCode}} schicken kann.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "Der Käufer hat das Geld geschickt. Klicke auf 'Bestätige FIAT erhalten', sobald du es erhalten hast.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Sag Hallo! Frag nach den Zahlungsdetails und klicke auf 'Bestätige FIAT gesendet' sobald die Zahlung unterwegs ist.", + "Wait for the seller to confirm he has received the payment.": "Warte, bis der Verkäufer die Zahlung bestätigt.", + "Confirm you received {{amount}} {{currencyCode}}?": "Bestätige den Erhalt von {{amount}} {{currencyCode}}", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Nach dem Bestätigen der Zahlung, wird der Trade beendet. Die hinterlegten Satoshi gehen an den Käufer. Bestätige nur, wenn die {{amount}} {{currencyCode}}-Zahlung angekommen ist. Falls du die {{currencyCode}}-Zahlung erhalten hast und dies nicht bestätigst, verlierst du ggf. deine Kaution und die Handelssumme.", + "Confirm": "Bestätigen", + "Trade finished!": "Trade abgeschlossen!", + "rate_robosats": "Was hältst du von <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Danke! RoboSats liebt dich auch ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats wird noch besser mit mehr Nutzern und Liquidität. Erzähl einem Bitcoin-Freund von uns!", + "Thank you for using Robosats!": "Danke, dass du Robosats benutzt hast!", + "let_us_know_hot_to_improve": "Sag uns, was wir verbessern können (<1>Telegram / <3>Github)", + "Start Again": "Nochmal", + "Attempting Lightning Payment": "Versuche Lightning-Zahlung", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats versucht deine Lightning-Invoice zu bezahlen. Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.", + "Retrying!": "Erneut versuchen!", + "Lightning Routing Failed": "Lightning-Weiterleitung fehlgeschlagen", + "Your invoice has expired or more than 3 payment attempts have been made.": "Deine Invoice ist abgelaufen oder mehr als 3 Zahlungs-Versuche sind fehlgeschlagen. Reiche eine neue Invoice ein", + "Check the list of compatible wallets": "Prüfe die Liste mit kompatiblen Wallets", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats wird alle eine Minute 3 mal versuchen, deine Invoice auszuzahlen. Wenn es weiter fehlschlägt, kannst du eine neue Invoice einfügen. Prüfe deine Inbound-Liquidität. Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.", + "Next attempt in": "Nächster Versuch in", + "Do you want to open a dispute?": "Möchtest du einen Fall eröffnen?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Das RoboSats-Team wird die Aussagen und Beweise prüfen. Du musst die vollständige Situation erklären, wir können den Chat nicht sehen. Benutze am besten Wegwerf-Kontakt-Infos. Die hinterlegten Satoshis gehen an den Fall-Gewinner, der Verlierer verliert seine Kaution.", + "Disagree": "Ablehnen", + "Agree and open dispute": "Akzeptieren und Fall eröffnen", + "A dispute has been opened": "Ein Fall wurde eröffnet", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Bitte übermittle deine Aussage. Sei präzise und deutlich darüber, was vorgefallen ist und bring entsprechende Beweise vor. Du musst eine Kontaktmöglichkeit übermitteln: Wegwerfemail, XMPP oder Telegram-Nutzername zum Kontakt durch unser Team. Fälle werden von echten Robotern (aka Menschen) bearbeiten, also sei kooperativ für eine faire Entscheidung. Max. 5000 Zeichen.", + "Submit dispute statement": "Übermittle Fall-Aussage", + "We have received your statement": "Wir haben deine Aussage erhalten", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Wir warten auf die Aussage deines Gegenübers. Wenn du Fragen zum Fall hast oder weitere Informationen übermitteln möchtest, kontaktiere robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Bitte bewahre die Informationen die deine Order und Zahlungsweise identifizieren auf: Order-ID; Zahlungs-Hashes der Kaution oder Sicherheit (siehe dein Lightning-Wallet); exakte Anzahl an Satoshis; und dein Roboter-Avatar. Du musst dich als der involvierte Nutzer identifizieren könenn, über E-Mail (oder andere Kontaktarten).", + "We have the statements": "Wir haben die Aussagen erhalten", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Wir haben beide Aussagen erhalten, warte auf das Team, den Fall zu klären. Wenn du Fragen zum Fall hast oder weitere Informationen übermitteln möchtest, kontaktiere robosats@protonmail.com. Wenn du keine Kontaktdaten angegeben hast oder dir unsicher bist, kontaktiere uns sofort.", + "You have won the dispute": "Du hast den Fall gewonnen", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Du kannst die Satoshis (Sicherheit und Kaution) in deinem Profil finden. Wenn unser Team dir bei etwas helfen kann, zögere nicht, uns zu kontaktieren: robosats@protonmail.com (oder über deine Wegwerf-Kontaktdaten).", + "You have lost the dispute": "Du hast den Fall verloren", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Leider hast du diesen Fall verloren. Falls du denkst, dies war ein Fehler, kontaktieren uns über robosats@protonmail.com. Aber die Chancen, dass der Fall neu eröfffnet wird, sind gering.", + "Expired not taken": "Abgelaufen, nicht angenommen", + "Maker bond not locked": "Maker-Kaution nicht gesperrt", + "Escrow not locked": "Treuhandkonto nicht gesperrt", + "Invoice not submitted": "Invoice nicht eingereicht", + "Neither escrow locked or invoice submitted": "Weder Treuhandkonto gesperrt noch Invoice eingereicht", + "Renew Order": "Order erneuern", + "Pause the public order": "Order pausieren", + "Your order is paused": "Deine Order ist pausiert", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Deine öffentliche Order wurde pausiert. Im Moment kann sie von anderen Robotern weder gesehen noch angenommen werden. Du kannst sie jederzeit wieder aktivieren.", + "Unpause Order": "Order aktivieren", + "You risk losing your bond if you do not lock the collateral. Total time to available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Du riskierst den Verlust deiner Kaution, wenn du die Sicherheiten nicht sperrst. Die insgesamt zur Verfügung stehende Zeit beträgt {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "Kompatible Wallets ansehen", + "Failure reason:": "Fehlerursache:", + "Payment isn't failed (yet)": "Zahlung ist (noch) nicht gescheitert", + "There are more routes to try, but the payment timeout was exceeded.": "Es gibt noch weitere Routen, aber das Zeitlimit für die Zahlung wurde überschritten.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Alle möglichen Routen wurden ausprobiert und scheiterten permanent. Oder es gab überhaupt keine Routen zum Ziel.", + "A non-recoverable error has occurred.": "Es ist ein nicht behebbarer Fehler aufgetreten.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Die Zahlungsdetails sind falsch (unbekannter Hash, ungültiger Betrag oder ungültiges CLTV-Delta).", + "Insufficient unlocked balance in RoboSats' node.": "Unzureichendes freigeschaltetes Guthaben auf der Node von RoboSats.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "Die eingereichte Invoice enthält nur teure Routing-Hinweise, du verwendest eine inkompatible Wallet (wahrscheinlich Muun?). Prüfe den Leitfaden zur Kompatibilität von Wallets unter wallets.robosats.com", + "The invoice provided has no explicit amount": "Die vorgelegte Invoice enthält keinen expliziten Betrag", + "Does not look like a valid lightning invoice": "Sieht nicht nach einer gültigen Lightning-Invoice aus", + "The invoice provided has already expired": "Die angegebene Invoice ist bereits abgelaufen", - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Verkäufer", - "Buyer":"Käufer", - "I want to":"Ich möchte", - "Select Order Type":"Order Typ auswählen", - "ANY_type":"ALLE", - "ANY_currency":"ALLE", - "BUY":"KAUFEN", - "SELL":"VERKAUFEN", - "and receive":"und erhalte", - "and pay with":"und zahlen mit", - "and use":"und verwende", - "Select Payment Currency":"Währung auswählen", - "Robot":"Roboter", - "Is":"Ist", - "Currency":"Währung", - "Payment Method":"Zahlungsweise", - "Pay":"Bezahlung", - "Price":"Preis", - "Premium":"Aufschlag", - "You are SELLING BTC for {{currencyCode}}":"Du VERKAUFST BTC für {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"Du KAUFST BTC für {{currencyCode}}", - "You are looking at all":"Alle werden angezeigt", - "No orders found to sell BTC for {{currencyCode}}":"Keine BTC-Verkaufsangebote für {{currencyCode}} gefunden", - "No orders found to buy BTC for {{currencyCode}}":"Keine BTC-Kaufsangebote für {{currencyCode}} gefunden", - "Filter has no results":"Filter hat keine Ergebnisse", - "Be the first one to create an order":"Sei der Erste, der ein Angebot erstellt", - - - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Statistiken für Nerds", - "LND version":"LND-Version", - "Currently running commit hash":"Aktuell laufender Commit-Hash", - "24h contracted volume":"24h Handelsvolumen", - "Lifetime contracted volume":"Handelsvolumen insgesamt", - "Made with":"Gemacht mit", - "and":"und", - "... somewhere on Earth!":"... irgendwo auf der Erde!", - "Community":"Community", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Support wird nur über öffentliche Kanäle angeboten. Tritt unserer Telegram-Community bei, wenn du Fragen hast oder dich mit anderen coolen Robotern austauschen möchtest. Bitte nutze unsere Github Issues, wenn du einen Fehler findest oder neue Funktionen sehen willst!", - "Follow RoboSats in Twitter":"Folge RoboSats auf Twitter", - "Twitter Official Account":"Offizieller Twitter-Account", - "RoboSats Telegram Communities":"RoboSats Telegram Gruppen", - "Join RoboSats Spanish speaking community!":"Tritt der Spanischen RoboSats-Gruppe bei!", - "Join RoboSats Russian speaking community!":"Tritt der Russischen RoboSats-Gruppe bei!", - "Join RoboSats Chinese speaking community!":"Tritt der Chinesischen RoboSats-Gruppe bei!", - "Join RoboSats English speaking community!":"Tritt der Englischen RoboSats-Gruppe bei!", - "Tell us about a new feature or a bug":"Erzähle uns von neuen Funktionen oder einem Fehler", - "Github Issues - The Robotic Satoshis Open Source Project":"Github Issues - Das Roboter-Satoshi Open-Source-Projekt", - "Your Profile":"Dein Profil", - "Your robot":"Dein Roboter", - "One active order #{{orderID}}":"Eine aktive Order #{{orderID}}", - "Your current order":"Deine aktuelle Order", - "No active orders":"Keine aktive Order", - "Your token (will not remain here)":"Dein Token (wird hier nicht gespeichert)", - "Back it up!":"Speicher ihn ab!", - "Cannot remember":"Kann mich nicht erinnern", - "Rewards and compensations":"Belohnungen und Entschädigungen", - "Share to earn 100 Sats per trade":"Teilen, um 100 Sats pro Handel zu verdienen", - "Your referral link":"Dein Empfehlungslink", - "Your earned rewards":"Deine verdienten Belohnungen", - "Claim":"Erhalten", - "Invoice for {{amountSats}} Sats":"Invoice für {{amountSats}} Sats", - "Submit":"Bestätigen", - "There it goes, thank you!🥇":"Das war's, vielen Dank!🥇", - "You have an active order":"Du hast eine aktive Order", - "You can claim satoshis!":"Du kannst Satoshis abholen!", - "Public Buy Orders":"Öffentliche Kaufangebote", - "Public Sell Orders":"Öffentliche Verkaufsangebote", - "Today Active Robots":"Heute aktive Roboter", - "24h Avg Premium":"24h Durchschnittsaufschlag", - "Trade Fee":"Handelsgebühr", - "Show community and support links":"Community- und Support-Links anzeigen", - "Show stats for nerds":"Statistiken für Nerds anzeigen", - "Exchange Summary":"Börsen-Zusammenfassung", - "Public buy orders":"Öffentliche Kaufangebote", - "Public sell orders":"Öffentliche Verkaufsangebote", - "Book liquidity":"Marktplatz-Liquidität", - "Today active robots":"Heute aktive Roboter", - "24h non-KYC bitcoin premium":"24h non-KYC Bitcoin-Aufschlag", - "Maker fee":"Makergebühr", - "Taker fee":"Takergebühr", - "Number of public BUY orders":"Anzahl der öffentlichen KAUF-Angebote", - "Number of public SELL orders":"Anzahl der öffentlichen VERKAUFS-Angebote", - "Your last order #{{orderID}}":"Deine letzte Order #{{orderID}}", - "Inactive order":"Inaktive Order", - "You do not have previous orders":"Du hast keine vorherige Order", - - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Angebots-Box", - "Contract":"Vertrag", - "Active":"Activ", - "Seen recently":"Kürzlich gesehen", - "Inactive":"Inactiv", - "(Seller)":"(Verkäufer)", - "(Buyer)":"(Käufer)", - "Order maker":"Order-Maker", - "Order taker":"Order-Taker", - "Order Details":"Order-Details", - "Order status":"Order-Status", - "Waiting for maker bond":"Warten auf Maker-Kaution", - "Public":"Public", - "Waiting for taker bond":"Warten auf Taker-Kaution", - "Cancelled":"Abgebrochen", - "Expired":"Abgelaufen", - "Waiting for trade collateral and buyer invoice":"Warten auf Handels-Kaution und Käufer-Invoice", - "Waiting only for seller trade collateral":"Auf Kaution des Verkäufers warten", - "Waiting only for buyer invoice":"Warten auf Käufer-Invoice", - "Sending fiat - In chatroom":"Fiat senden - Im Chatroom", - "Fiat sent - In chatroom":"Fiat bezahlt - Im Chatroom", - "In dispute":"Offener Streitfall", - "Collaboratively cancelled":"Gemeinsam abgebrochen", - "Sending satoshis to buyer":"Sende Satoshis an den Käufer", - "Sucessful trade":"Erfolgreicher Handel", - "Failed lightning network routing":"Weiterleitung im Lightning-Netzwerk fehlgeschlagen", - "Wait for dispute resolution":"Warten auf Streitschlichtung", - "Maker lost dispute":"Maker hat Fall verloren", - "Taker lost dispute":"Taker hat Fall verloren", - "Amount range":"Betragsspanne", - "Swap destination":"Austausch-Ziel", - "Accepted payment methods":"Akzeptierte Zahlungsweisen", - "Others":"Weitere", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Aufschlag: {{premium}}%", - "Price and Premium":"Preis und Aufschlag", - "Amount of Satoshis":"Anzahl Satoshis", - "Premium over market price":"Aufschlag über dem Marktpreis", - "Order ID":"Order-ID", - "Deposit timer":"Einzahlungstimer", - "Expires in":"Läuft ab in", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} bittet um gemeinsamen Abbruch", - "You asked for a collaborative cancellation":"Du hast um einen gemeinsamen Abbruch gebeten", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Die Invoice ist abgelaufen. Du hast die Veröffentlichung der Order nicht rechtzeitig bestätigt. Erstelle eine neue Order.", - "This order has been cancelled by the maker":"Diese Order wurde vom Maker storniert", - "Invoice expired. You did not confirm taking the order in time.":"Die Invoice ist abgelaufen. Du hast die Annahme der Order nicht rechtzeitig bestätigt.", - "Penalty lifted, good to go!":"Die Strafe ist aufgehoben, es kann losgehen!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Du kannst noch keine Order annehmen! Warte {{timeMin}}m {{timeSec}}s", - "Too low":"Zu niedrig", - "Too high":"Zu hoch", - "Enter amount of fiat to exchange for bitcoin":"Fiat-Betrag für den Umtausch in Bitcoin eingeben", - "Amount {{currencyCode}}":"Betrag {{currencyCode}}", - "You must specify an amount first":"Du musst zuerst einen Betrag angeben", - "Take Order":"Order annehmen", - "Wait until you can take an order":"Warte, bis du eine Order annehmen kannst", - "Cancel the order?":"Order abbrechen?", - "If the order is cancelled now you will lose your bond.":"Wenn die Order jetzt storniert wird, verlierst du deine Kaution.", - "Confirm Cancel":"Abbruch bestätigen", - "The maker is away":"Der Maker ist abwesend", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"Wenn du diese Order annimmst, riskierst du, deine Zeit zu verschwenden. Wenn der Maker nicht rechtzeitig handelt, erhältst du eine Entschädigung in Satoshis in Höhe von 50 % der Maker-Kaution.", - "Collaborative cancel the order?":"Order gemeinsam abbrechen?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Der Trade wurde veröffentlicht. Die Order kann nur storniert werden, wenn Maker und Taker der Stornierung gemeinsam zustimmen.", - "Ask for Cancel":"Bitte um Abbruch", - "Cancel":"Abbrechen", - "Collaborative Cancel":"Gemeinsamer Abbruch", - "Invalid Order Id":"Ungültige Order-ID", - "You must have a robot avatar to see the order details":"Du musst einen Roboter-Avatar besitzen, um die Orderdetails zu sehen", - "This order has been cancelled collaborativelly":"Diese Order wurde gemeinsam abgebrochen", - "You are not allowed to see this order":"Du darfst diese Order nicht sehen", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Die Roboter-Satoshis, die im Lager arbeiten, haben dich nicht verstanden. Bitte, melde den Fehler über Github https://github.com/reckless-satoshi/robosats/issues", - - "CHAT BOX - Chat.js":"Chat Box", - "You":"Du", - "Peer":"Partner", - "connected":"verbunden", - "disconnected":"getrennt", - "Type a message":"Schreibe eine Nachricht", - "Connecting...":"Verdinden...", - "Send":"Senden", - "Verify your privacy":"Überprüfe deine Privatsphäre", - "Audit PGP":"Audit PGP", - "Save full log as a JSON file (messages and credentials)":"Vollständiges Protokoll als JSON-Datei speichern ( Nachrichten und Anmeldeinformationen)", - "Export":"Exportieren", - "Don't trust, verify":"Don't trust, verify", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"Deine Kommunikation wird Ende-zu-Ende mit OpenPGP verschlüsselt. Du kannst die Vertraulichkeit dieses Chats mit jedem OpenPGP-Standard Tool überprüfen.", - "Learn how to verify":"Learn how to verify", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"Dein öffentlicher PGP-Schlüssel. Dein Chatpartner verwendet ihn für das Verschlüsseln der Nachrichten, damit nur du sie lesen kannst.", - "Your public key":"Dein öffentlicher Schlüssel", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"Der öffentliche PGP-Schlüssel deines Chatpartners. Du verwendest ihn um Nachrichten zu verschlüsseln, die nur er lesen kann und um zu überprüfen, ob dein Gegenüber die eingehenden Nachrichten signiert hat.", - "Peer public key":"Öffentlicher Schlüssel des Partners", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"Dein verschlüsselter privater Schlüssel. Du verwendest ihn um die Nachrichten zu entschlüsseln, die dein Peer für dich verschlüsselt hat. Außerdem signierst du mit ihm die Nachrichten die du sendest.", - "Your encrypted private key":"Dein verschlüsselter privater Schlüssel", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"Die Passphrase zur Entschlüsselung deines privaten Schlüssels. Nur du kennst sie! Bitte nicht weitergeben. Sie ist auch dein Benutzer-Token für den Roboter-Avatar.", - "Your private key passphrase (keep secure!)":"Deine Passphrase für den privaten Schlüssel (sicher aufbewahren!)", - "Save credentials as a JSON file":"Anmeldeinformationen als JSON-Datei speichern", - "Keys":"Schlüssel", - "Save messages as a JSON file":"Nachrichten als JSON-Datei speichern", - "Messages":"Nachrichten", - - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Vertrags-Box", - "Robots show commitment to their peers": "Roboter verpflichten sich ihren Gegenübern", - "Lock {{amountSats}} Sats to PUBLISH order": "Sperre {{amountSats}} Sats zum VERÖFFENTLICHEN", - "Lock {{amountSats}} Sats to TAKE order": "Sperre {{amountSats}} Sats zum ANNEHMEN", - "Lock {{amountSats}} Sats as collateral": "Sperre {{amountSats}} Sats als Sicherheit", - "Copy to clipboard":"In Zwischenablage kopieren", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"Diese Invoice wird in deiner Wallet eingefroren. Sie wird nur belastet, wenn du abbrichst oder einen Streitfall verlierst.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"Diese Invoice wird in deiner Wallet eingefroren. Sie wird erst durchgeführt sobald du die {{currencyCode}}-Zahlung bestätigst.", - "Your maker bond is locked":"Deine Maker-Kaution ist gesperrt", - "Your taker bond is locked":"Deine Taker-Kaution ist gesperrt", - "Your maker bond was settled":"Deine Maker-Kaution wurde bezahlt", - "Your taker bond was settled":"Deine Taker-Kaution wurde bezahlt.", - "Your maker bond was unlocked":"Deine Maker-Kaution wurde freigegeben", - "Your taker bond was unlocked":"Deine Taker-Kaution wurde freigegeben.", - "Your order is public":"Deine Order ist öffentlich", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Sei geduldig, während die Roboter das Buch ansehen. Diese Box läutet 🔊, sobald ein Roboter deine Order annimmt, dann hast du {{deposit_timer_hours}} Stunden {{deposit_timer_minutes}} Minuten Zeit zu antworten. Wenn du nicht antwortest, riskierst du den Verlust deiner Kaution.", - "If the order expires untaken, your bond will return to you (no action needed).":"Wenn die Order nicht angenommen wird und abläuft, erhältst du die Kaution zurück (keine Aktion erforderlich).", - "Enable Telegram Notifications":"Telegram-Benachrichtigungen aktivieren", - "Enable TG Notifications":"Aktiviere TG-Benachrichtigungen", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"Du wirst zu einem Chat mit dem RoboSats-Telegram-Bot weitergeleitet. Öffne einfach den Chat und drücke auf Start. Beachte, dass du deine Anonymität verringern könntest, wenn du Telegram-Benachrichtigungen aktivierst.", - "Go back":"Zurück", - "Enable":"Aktivieren", - "Telegram enabled":"Telegram aktiviert", - "Public orders for {{currencyCode}}":"Öffentliche Order für {{currencyCode}}", - "Premium rank": "Aufschlags-Rang", - "Among public {{currencyCode}} orders (higher is cheaper)": "Anzahl öffentlicher {{currencyCode}} Order (höher ist günstiger)", - "A taker has been found!":"Ein Taker wurde gefunden", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Bitte warte auf den Taker, um eine Kaution zu sperren. Wenn der Taker nicht rechtzeitig eine Kaution sperrt, wird die Order erneut veröffentlicht.", - "Submit an invoice for {{amountSats}} Sats":"Füge eine Invoice über {{amountSats}} Sats ein", - "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.":"Der Taker ist bereit! Bevor du {{amountFiat}} {{currencyCode}} sendest, möchten wir sicherstellen, dass du in der Lage bist, die BTC zu erhalten. Bitte füge eine gültige Invoice über {{amountSats}} Satoshis ein", - "Payout Lightning Invoice":"Lightning-Auszahlungs-Invoice", - "Your invoice looks good!":"Deine Invoice sieht gut aus!", - "We are waiting for the seller to lock the trade amount.":"Wir warten darauf, dass der Verkäufer den Handelsbetrag sperrt.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Warte einen Moment. Wenn der Verkäufer den Handelsbetrag nicht hinterlegt, bekommst du deine Kaution automatisch zurück. Darüber hinaus erhältst du eine Entschädigung (siehe die Belohnungen in deinem Profil).", - "The trade collateral is locked!":"Der Handelsbetrag ist gesperrt!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Wir warten darauf, dass der Käufer eine Lightning-Invoice einreicht. Sobald er dies tut, kannst du ihm die Details der Fiat-Zahlung mitteilen.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Warte einen Moment. Wenn der Käufer nicht kooperiert, bekommst du seine und deine Kaution automatisch zurück. Außerdem erhältst du eine Entschädigung (siehe die Belohnungen in deinem Profil).", - "Confirm {{amount}} {{currencyCode}} sent":"Bestätige {{amount}} {{currencyCode}} gesendet", - "Confirm {{amount}} {{currencyCode}} received":"Bestätige {{amount}} {{currencyCode}} erhalten", - "Open Dispute":"Streitfall eröffnen", - "The order has expired":"Die Order ist abgelaufen", - "Chat with the buyer":"Chatte mit dem Käufer", - "Chat with the seller":"Chatte mit dem Verkäufer", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Sag Hallo! Sei hilfreich und präzise. Lass ihn wissen, wie er dir {{amount}} {{currencyCode}} schicken kann.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"Der Käufer hat das Geld geschickt. Klicke auf 'Bestätige FIAT erhalten', sobald du es erhalten hast.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Sag Hallo! Frag nach den Zahlungsdetails und klicke auf 'Bestätige FIAT gesendet' sobald die Zahlung unterwegs ist.", - "Wait for the seller to confirm he has received the payment.":"Warte, bis der Verkäufer die Zahlung bestätigt.", - "Confirm you received {{amount}} {{currencyCode}}?":"Bestätige den Erhalt von {{amount}} {{currencyCode}}", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Nach dem Bestätigen der Zahlung, wird der Trade beendet. Die hinterlegten Satoshi gehen an den Käufer. Bestätige nur, wenn die {{amount}} {{currencyCode}}-Zahlung angekommen ist. Falls du die {{currencyCode}}-Zahlung erhalten hast und dies nicht bestätigst, verlierst du ggf. deine Kaution und die Handelssumme.", - "Confirm":"Bestätigen", - "Trade finished!":"Trade abgeschlossen!", - "rate_robosats":"Was hältst du von <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Danke! RoboSats liebt dich auch ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats wird noch besser mit mehr Nutzern und Liquidität. Erzähl einem Bitcoin-Freund von uns!", - "Thank you for using Robosats!":"Danke, dass du Robosats benutzt hast!", - "let_us_know_hot_to_improve":"Sag uns, was wir verbessern können (<1>Telegram / <3>Github)", - "Start Again":"Nochmal", - "Attempting Lightning Payment":"Versuche Lightning-Zahlung", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats versucht deine Lightning-Invoice zu bezahlen. Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.", - "Retrying!":"Erneut versuchen!", - "Lightning Routing Failed":"Lightning-Weiterleitung fehlgeschlagen", - "Your invoice has expired or more than 3 payment attempts have been made.":"Deine Invoice ist abgelaufen oder mehr als 3 Zahlungs-Versuche sind fehlgeschlagen. Reiche eine neue Invoice ein", - "Check the list of compatible wallets":"Prüfe die Liste mit kompatiblen Wallets", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats wird alle eine Minute 3 mal versuchen, deine Invoice auszuzahlen. Wenn es weiter fehlschlägt, kannst du eine neue Invoice einfügen. Prüfe deine Inbound-Liquidität. Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.Denk daran, dass deine Lightning-Node erreichbar sein muss, um die Zahlung zu erhalten.", - "Next attempt in":"Nächster Versuch in", - "Do you want to open a dispute?":"Möchtest du einen Fall eröffnen?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"Das RoboSats-Team wird die Aussagen und Beweise prüfen. Du musst die vollständige Situation erklären, wir können den Chat nicht sehen. Benutze am besten Wegwerf-Kontakt-Infos. Die hinterlegten Satoshis gehen an den Fall-Gewinner, der Verlierer verliert seine Kaution.", - "Disagree":"Ablehnen", - "Agree and open dispute":"Akzeptieren und Fall eröffnen", - "A dispute has been opened":"Ein Fall wurde eröffnet", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Bitte übermittle deine Aussage. Sei präzise und deutlich darüber, was vorgefallen ist und bring entsprechende Beweise vor. Du musst eine Kontaktmöglichkeit übermitteln: Wegwerfemail, XMPP oder Telegram-Nutzername zum Kontakt durch unser Team. Fälle werden von echten Robotern (aka Menschen) bearbeiten, also sei kooperativ für eine faire Entscheidung. Max. 5000 Zeichen.", - "Submit dispute statement":"Übermittle Fall-Aussage", - "We have received your statement":"Wir haben deine Aussage erhalten", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Wir warten auf die Aussage deines Gegenübers. Wenn du Fragen zum Fall hast oder weitere Informationen übermitteln möchtest, kontaktiere robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Bitte bewahre die Informationen die deine Order und Zahlungsweise identifizieren auf: Order-ID; Zahlungs-Hashes der Kaution oder Sicherheit (siehe dein Lightning-Wallet); exakte Anzahl an Satoshis; und dein Roboter-Avatar. Du musst dich als der involvierte Nutzer identifizieren könenn, über E-Mail (oder andere Kontaktarten).", - "We have the statements":"Wir haben die Aussagen erhalten", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Wir haben beide Aussagen erhalten, warte auf das Team, den Fall zu klären. Wenn du Fragen zum Fall hast oder weitere Informationen übermitteln möchtest, kontaktiere robosats@protonmail.com. Wenn du keine Kontaktdaten angegeben hast oder dir unsicher bist, kontaktiere uns sofort.", - "You have won the dispute":"Du hast den Fall gewonnen", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Du kannst die Satoshis (Sicherheit und Kaution) in deinem Profil finden. Wenn unser Team dir bei etwas helfen kann, zögere nicht, uns zu kontaktieren: robosats@protonmail.com (oder über deine Wegwerf-Kontaktdaten).", - "You have lost the dispute":"Du hast den Fall verloren", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Leider hast du diesen Fall verloren. Falls du denkst, dies war ein Fehler, kontaktieren uns über robosats@protonmail.com. Aber die Chancen, dass der Fall neu eröfffnet wird, sind gering.", - "Expired not taken":"Abgelaufen, nicht angenommen", - "Maker bond not locked":"Maker-Kaution nicht gesperrt", - "Escrow not locked":"Treuhandkonto nicht gesperrt", - "Invoice not submitted":"Invoice nicht eingereicht", - "Neither escrow locked or invoice submitted":"Weder Treuhandkonto gesperrt noch Invoice eingereicht", - "Renew Order":"Order erneuern", - "Pause the public order":"Order pausieren", - "Your order is paused":"Deine Order ist pausiert", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"Deine öffentliche Order wurde pausiert. Im Moment kann sie von anderen Robotern weder gesehen noch angenommen werden. Du kannst sie jederzeit wieder aktivieren.", - "Unpause Order":"Order aktivieren", - "You risk losing your bond if you do not lock the collateral. Total time to available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"Du riskierst den Verlust deiner Kaution, wenn du die Sicherheiten nicht sperrst. Die insgesamt zur Verfügung stehende Zeit beträgt {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets":"Kompatible Wallets ansehen", - "Failure reason:":"Fehlerursache:", - "Payment isn't failed (yet)":"Zahlung ist (noch) nicht gescheitert", - "There are more routes to try, but the payment timeout was exceeded.":"Es gibt noch weitere Routen, aber das Zeitlimit für die Zahlung wurde überschritten.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"Alle möglichen Routen wurden ausprobiert und scheiterten permanent. Oder es gab überhaupt keine Routen zum Ziel.", - "A non-recoverable error has occurred.":"Es ist ein nicht behebbarer Fehler aufgetreten.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"Die Zahlungsdetails sind falsch (unbekannter Hash, ungültiger Betrag oder ungültiges CLTV-Delta).", - "Insufficient unlocked balance in RoboSats' node.":"Unzureichendes freigeschaltetes Guthaben auf der Node von RoboSats.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"Die eingereichte Invoice enthält nur teure Routing-Hinweise, du verwendest eine inkompatible Wallet (wahrscheinlich Muun?). Prüfe den Leitfaden zur Kompatibilität von Wallets unter wallets.robosats.com", - "The invoice provided has no explicit amount":"Die vorgelegte Invoice enthält keinen expliziten Betrag", - "Does not look like a valid lightning invoice":"Sieht nicht nach einer gültigen Lightning-Invoice aus", - "The invoice provided has already expired":"Die angegebene Invoice ist bereits abgelaufen", - - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Schließen", - "What is RoboSats?":"Was ist RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"Es ist ein privater BTC/FIAT Handelsplatz über Lightning.", - "RoboSats is an open source project ":"RoboSats ist ein Open-Source-Projekt ", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"Es vereinfacht das Zusammenfinden und minimiert das nötige Vertrauen. RoboSats steht für Privatsphäre und Schnelligkeit.", - "(GitHub).":"(GitHub).", - "How does it work?":"Wie funktioniert es?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymousAlice01 will Bitcoin verkaufen. Sie veröffentlich eine Verkaufs-Order. BafflingBob02 will Bitcoin kaufen und nimmt die Order an. Beide müssen eine kleine Kaution hinterlegen, um zu beweisen, dass sie echte Roboter sind. Dann schickt Alice die Handelssumme ebenfalls als Sicherheit. RoboSats sperrt diese, bis Alice den Zahlungserhalt bestätigt, dann werden die Satoshis an Bob geschickt. Genieße deine Satoshis, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"Zu keinem Zeitpunkt müssen AnonymousAlice01 und BafflingBob02 sich direkt ihre Satoshis anvertrauen. Im Fall eines Konflikts wird das RoboSats-Team bei der Klärung helfen.", - "You can find a step-by-step description of the trade pipeline in ":"Du findest eine Schritt-für-Schritt-Erklärung des Handelablaufs hier ", - "How it works":"Wie es funktioniert", - "You can also check the full guide in ":"Außerdem kannst du hier einen vollständigen Ratgeber finden ", - "How to use":"Wie wir es benutzt", - "What payment methods are accepted?":"Welche Zahlungsweisen stehen zur Verfügung?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Alle, wenn sie schnell genug sind. Du legst deine Zahlungsweisen selber fest. Du musst einen Gegenüber finden, der diese Zahlungsweise ebenfalls akzeptiert. Der Schritt der Fiat-Zahlung darf bis zu 24 Stunden dauern, bis automatisch ein Fall eröffnet wird. Wir empfehlen dringend, sofortige Zahlungsweisen zu verwenden.", - "Are there trade limits?":"Gibt es Handel-Beschränkungen?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"Die maximale Höhe einer Order beträgt {{maxAmount}} Satoshis um Weiterleitungsprobleme zu vermeiden. Es gibt keine Beschränkung für die Anzahl an Trades. Ein Roboter kann nur eine Order gleichzeitig veröffentlichen. Aber du kannst mehrere Roboter in mehreren Browser haben (denk an das Speichern deines Tokens!).", - "Is RoboSats private?":"Ist RoboSats privat?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats wird nie nach deinem Namen, Land oder ID fragen. Robosats verwahrt nicht dein Guthaben oder interessiert sich für deine Identität. RoboSats sammelt oder speichert keine persönlichen Daten. Für bestmögliche Privatsphäre nutze den Tor-Browser und verwende den .onion Hidden-Service.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Dein Handelpartner ist der einzige, der Informationen über dich erhalten kann. Halte es kurz und präzise. Vermeide Informationen, die nicht für die Zahlung zwingend notwendig sind.", - "What are the risks?":"Gibt es Risiken?", - "This is an experimental application, things could go wrong. Trade small amounts!":"Dieses Projekt ist ein Experiment, Dinge können schiefgehen. Handle mit kleinen Summen!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"Der Verkäufer hat das gleiche Rückbuchungsrisiko wie bei anderen Privatgeschäften. Paypal oder Kreditkarten werden nicht empfohlen.", - "What is the trust model?":"Muss man dem Gegenüber vertrauen?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"Käufer und Verkäufer müssen sich nie vertrauen. Etwas Vertrauen in RoboSats ist notwendig, da die Verknüpfung zwischen Verkäufer- und Käufer-Invoice (noch) nicht 'atomic' ist. Außerdem entscheidet das RoboSats-Team über Streitigkeiten.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"Um dass klarzustellen. Das nötige Vetrauen wird minimalisiert. Trotzdem gibt es einen Weg für RoboSats, deine Satoshi zu behalten: indem sie nicht an den Käufer weitergeleitet werden. Man kann behaupten, dass das nicht in RoboSats' Interesse wäre, da es die Reputation für eine geringe Summe beschädigen würde. Aber du solltest trotzdem vorsichtig sein und nur kleine Handel durchführen. Für größere Summen nutze On-Chain-Escrow-Services wie BISQ.", - "You can build more trust on RoboSats by inspecting the source code.":"Du kannst den RoboSats Source-Code selbst überprüfen um dich sicherer zu fühlen.", - "Project source code":"Source-Code des Projekts", - "What happens if RoboSats suddenly disappears?":"Was passiert, wenn RoboSats plötzlich verschwindet?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Deine Sats gehen an dich zurück. Jede Sperrtransaktion wird selbst dann wieder freigegeben, wenn RoboSats für immer offline geht. Das gilt für Käufer- und Verkäufer-Kautionen. Trotzdem gibt es ein kurzes Zeitfenster zwischen Fiat-Zahlungsbestätigung und durchführung der Lightning-Transaktion, in dem die Summe für immer verloren gehen kann. Dies ist ungefähr 1 Sekunde. Stelle sicher, dass du genug Inbound-Liquidität hast. Bei Problemen melde dich über RoboSats' öffentliche Kanäle", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"In vielen Ländern ist RoboSats wie Ebay oder Craigslist. Deine Rechtslage weicht vielleicht ab, das liegt in deiner Verantwortung.", - "Is RoboSats legal in my country?":"Ist RoboSats in meinem Land erlaubt?", - "Disclaimer":"Hinweise", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Dieses Lightning-Projekt ist wie es ist. Es befindet sich in der Entwicklung: Handle mit äußerster Vorsicht. Es gibt keine private Unterstützung. Hilfe wird nur über die öffentlichen Kanäle angeboten ", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats wird dich nie kontaktieren. RoboSats fragt definitiv nie nach deinem Roboter-Token." -} \ No newline at end of file + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Schließen", + "What is RoboSats?": "Was ist RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Es ist ein privater BTC/FIAT Handelsplatz über Lightning.", + "RoboSats is an open source project ": "RoboSats ist ein Open-Source-Projekt ", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Es vereinfacht das Zusammenfinden und minimiert das nötige Vertrauen. RoboSats steht für Privatsphäre und Schnelligkeit.", + "(GitHub).": "(GitHub).", + "How does it work?": "Wie funktioniert es?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 will Bitcoin verkaufen. Sie veröffentlich eine Verkaufs-Order. BafflingBob02 will Bitcoin kaufen und nimmt die Order an. Beide müssen eine kleine Kaution hinterlegen, um zu beweisen, dass sie echte Roboter sind. Dann schickt Alice die Handelssumme ebenfalls als Sicherheit. RoboSats sperrt diese, bis Alice den Zahlungserhalt bestätigt, dann werden die Satoshis an Bob geschickt. Genieße deine Satoshis, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "Zu keinem Zeitpunkt müssen AnonymousAlice01 und BafflingBob02 sich direkt ihre Satoshis anvertrauen. Im Fall eines Konflikts wird das RoboSats-Team bei der Klärung helfen.", + "You can find a step-by-step description of the trade pipeline in ": "Du findest eine Schritt-für-Schritt-Erklärung des Handelablaufs hier ", + "How it works": "Wie es funktioniert", + "You can also check the full guide in ": "Außerdem kannst du hier einen vollständigen Ratgeber finden ", + "How to use": "Wie wir es benutzt", + "What payment methods are accepted?": "Welche Zahlungsweisen stehen zur Verfügung?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Alle, wenn sie schnell genug sind. Du legst deine Zahlungsweisen selber fest. Du musst einen Gegenüber finden, der diese Zahlungsweise ebenfalls akzeptiert. Der Schritt der Fiat-Zahlung darf bis zu 24 Stunden dauern, bis automatisch ein Fall eröffnet wird. Wir empfehlen dringend, sofortige Zahlungsweisen zu verwenden.", + "Are there trade limits?": "Gibt es Handel-Beschränkungen?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Die maximale Höhe einer Order beträgt {{maxAmount}} Satoshis um Weiterleitungsprobleme zu vermeiden. Es gibt keine Beschränkung für die Anzahl an Trades. Ein Roboter kann nur eine Order gleichzeitig veröffentlichen. Aber du kannst mehrere Roboter in mehreren Browser haben (denk an das Speichern deines Tokens!).", + "Is RoboSats private?": "Ist RoboSats privat?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats wird nie nach deinem Namen, Land oder ID fragen. Robosats verwahrt nicht dein Guthaben oder interessiert sich für deine Identität. RoboSats sammelt oder speichert keine persönlichen Daten. Für bestmögliche Privatsphäre nutze den Tor-Browser und verwende den .onion Hidden-Service.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Dein Handelpartner ist der einzige, der Informationen über dich erhalten kann. Halte es kurz und präzise. Vermeide Informationen, die nicht für die Zahlung zwingend notwendig sind.", + "What are the risks?": "Gibt es Risiken?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Dieses Projekt ist ein Experiment, Dinge können schiefgehen. Handle mit kleinen Summen!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Der Verkäufer hat das gleiche Rückbuchungsrisiko wie bei anderen Privatgeschäften. Paypal oder Kreditkarten werden nicht empfohlen.", + "What is the trust model?": "Muss man dem Gegenüber vertrauen?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Käufer und Verkäufer müssen sich nie vertrauen. Etwas Vertrauen in RoboSats ist notwendig, da die Verknüpfung zwischen Verkäufer- und Käufer-Invoice (noch) nicht 'atomic' ist. Außerdem entscheidet das RoboSats-Team über Streitigkeiten.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Um dass klarzustellen. Das nötige Vetrauen wird minimalisiert. Trotzdem gibt es einen Weg für RoboSats, deine Satoshi zu behalten: indem sie nicht an den Käufer weitergeleitet werden. Man kann behaupten, dass das nicht in RoboSats' Interesse wäre, da es die Reputation für eine geringe Summe beschädigen würde. Aber du solltest trotzdem vorsichtig sein und nur kleine Handel durchführen. Für größere Summen nutze On-Chain-Escrow-Services wie BISQ.", + "You can build more trust on RoboSats by inspecting the source code.": "Du kannst den RoboSats Source-Code selbst überprüfen um dich sicherer zu fühlen.", + "Project source code": "Source-Code des Projekts", + "What happens if RoboSats suddenly disappears?": "Was passiert, wenn RoboSats plötzlich verschwindet?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Deine Sats gehen an dich zurück. Jede Sperrtransaktion wird selbst dann wieder freigegeben, wenn RoboSats für immer offline geht. Das gilt für Käufer- und Verkäufer-Kautionen. Trotzdem gibt es ein kurzes Zeitfenster zwischen Fiat-Zahlungsbestätigung und durchführung der Lightning-Transaktion, in dem die Summe für immer verloren gehen kann. Dies ist ungefähr 1 Sekunde. Stelle sicher, dass du genug Inbound-Liquidität hast. Bei Problemen melde dich über RoboSats' öffentliche Kanäle", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "In vielen Ländern ist RoboSats wie Ebay oder Craigslist. Deine Rechtslage weicht vielleicht ab, das liegt in deiner Verantwortung.", + "Is RoboSats legal in my country?": "Ist RoboSats in meinem Land erlaubt?", + "Disclaimer": "Hinweise", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Dieses Lightning-Projekt ist wie es ist. Es befindet sich in der Entwicklung: Handle mit äußerster Vorsicht. Es gibt keine private Unterstützung. Hilfe wird nur über die öffentlichen Kanäle angeboten ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats wird dich nie kontaktieren. RoboSats fragt definitiv nie nach deinem Roboter-Token." +} diff --git a/frontend/static/locales/en.json b/frontend/static/locales/en.json index 667721dbc..ba281b031 100644 --- a/frontend/static/locales/en.json +++ b/frontend/static/locales/en.json @@ -1,527 +1,528 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "You are not using RoboSats privately", - "desktop_unsafe_alert": "Some features are disabled for your protection (e.g. chat) and you will not be able to complete a trade without them. To protect your privacy and fully enable RoboSats, use <1>Tor Browser and visit the <3>Onion site.", - "phone_unsafe_alert": "You will not be able to complete a trade. Use <1>Tor Browser and visit the <3>Onion site.", - "Hide":"Hide", - "You are self-hosting RoboSats":"You are self-hosting RoboSats", - "RoboSats client is served from your own node granting you the strongest security and privacy.":"RoboSats client is served from your own node granting you the strongest security and privacy.", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "You are not using RoboSats privately", + "desktop_unsafe_alert": "Some features are disabled for your protection (e.g. chat) and you will not be able to complete a trade without them. To protect your privacy and fully enable RoboSats, use <1>Tor Browser and visit the <3>Onion site.", + "phone_unsafe_alert": "You will not be able to complete a trade. Use <1>Tor Browser and visit the <3>Onion site.", + "Hide": "Hide", + "You are self-hosting RoboSats": "You are self-hosting RoboSats", + "RoboSats client is served from your own node granting you the strongest security and privacy.": "RoboSats client is served from your own node granting you the strongest security and privacy.", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Simple and Private LN P2P Exchange", + "This is your trading avatar": "This is your trading avatar", + "Store your token safely": "Store your token safely", + "A robot avatar was found, welcome back!": "A robot avatar was found, welcome back!", + "Copied!": "Copied!", + "Generate a new token": "Generate a new token", + "Generate Robot": "Generate Robot", + "You must enter a new token first": "You must enter a new token first", + "Make Order": "Make Order", + "Info": "Info", + "View Book": "View Book", + "Learn RoboSats": "Learn RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.", + "Let's go!": "Let's go!", + "Save token and PGP credentials to file": "Save token and PGP credentials to file", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Simple and Private LN P2P Exchange", - "This is your trading avatar":"This is your trading avatar", - "Store your token safely":"Store your token safely", - "A robot avatar was found, welcome back!":"A robot avatar was found, welcome back!", - "Copied!":"Copied!", - "Generate a new token":"Generate a new token", - "Generate Robot":"Generate Robot", - "You must enter a new token first":"You must enter a new token first", - "Make Order":"Make Order", - "Info":"Info", - "View Book":"View Book", - "Learn RoboSats":"Learn RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.", - "Let's go!":"Let's go!", - "Save token and PGP credentials to file":"Save token and PGP credentials to file", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Order", + "Customize": "Customize", + "Buy or Sell Bitcoin?": "Buy or Sell Bitcoin?", + "Buy": "Buy", + "Sell": "Sell", + "Amount": "Amount", + "Amount of fiat to exchange for bitcoin": "Amount of fiat to exchange for bitcoin", + "Invalid": "Invalid", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Enter your preferred fiat payment methods. Fast methods are highly recommended.", + "Must be shorter than 65 characters": "Must be shorter than 65 characters", + "Swap Destination(s)": "Swap Destination(s)", + "Fiat Payment Method(s)": "Fiat Payment Method(s)", + "You can add any method": "You can add any method", + "Add New": "Add New", + "Choose a Pricing Method": "Choose a Pricing Method", + "Relative": "Relative", + "Let the price move with the market": "Let the price move with the market", + "Premium over Market (%)": "Premium over Market (%)", + "Explicit": "Explicit", + "Set a fix amount of satoshis": "Set a fix amount of satoshis", + "Satoshis": "Satoshis", + "Fixed price:": "Fixed price:", + "Order current rate:": "Order current rate:", + "Your order fixed exchange rate": "Your order fixed exchange rate", + "Your order's current exchange rate. Rate will move with the market.": "Your order's current exchange rate. Rate will move with the market.", + "Let the taker chose an amount within the range": "Let the taker choose an amount within the range", + "Enable Amount Range": "Enable Amount Range", + "From": "From", + "to": "to", + "Expiry Timers": "Expiry Timers", + "Public Duration (HH:mm)": "Public Duration (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Escrow Deposit Time-Out (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Set the skin-in-the-game, increase for higher safety assurance", + "Fidelity Bond Size": "Fidelity Bond Size", + "Allow bondless takers": "Allow bondless takers", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "COMING SOON - High risk! Limited to {{limitSats}}K Sats", + "You must fill the order correctly": "You must fill the order correctly", + "Create Order": "Create Order", + "Back": "Back", + "Create an order for ": "Create an order for ", + "Create a BTC buy order for ": "Create a BTC buy order for ", + "Create a BTC sell order for ": "Create a BTC sell order for ", + " of {{satoshis}} Satoshis": " of {{satoshis}} Satoshis", + " at market price": " at market price", + " at a {{premium}}% premium": " at a {{premium}}% premium", + " at a {{discount}}% discount": " at a {{discount}}% discount", + "Must be less than {{max}}%": "Must be less than {{max}}%", + "Must be more than {{min}}%": "Must be more than {{min}}%", + "Must be less than {{maxSats}": "Must be less than {{maxSats}}", + "Must be more than {{minSats}}": "Must be more than {{minSats}}", + "Store your robot token": "Store your robot token", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.", + "Done": "Done", + "You do not have a robot avatar": "You do not have a robot avatar", + "You need to generate a robot avatar in order to become an order maker": "You need to generate a robot avatar in order to become an order maker", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Not specified", + "Instant SEPA": "Instant SEPA", + "Amazon GiftCard": "Amazon GiftCard", + "Google Play Gift Code": "Google Play Gift Code", + "Cash F2F": "Cash F2F", + "On-Chain BTC": "On-Chain BTC", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Seller", + "Buyer": "Buyer", + "I want to": "I want to", + "Select Order Type": "Select Order Type", + "ANY_type": "ANY", + "ANY_currency": "ANY", + "BUY": "BUY", + "SELL": "SELL", + "and receive": "and receive", + "and pay with": "and pay with", + "and use": "and use", + "Select Payment Currency": "Select Payment Currency", + "Robot": "Robot", + "Is": "Is", + "Currency": "Currency", + "Payment Method": "Payment Method", + "Pay": "Pay", + "Price": "Price", + "Premium": "Premium", + "You are SELLING BTC for {{currencyCode}}": "You are SELLING BTC for {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "You are BUYING BTC for {{currencyCode}}", + "You are looking at all": "You are looking at all", + "No orders found to sell BTC for {{currencyCode}}": "No orders found to sell BTC for {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "No orders found to buy BTC for {{currencyCode}}", + "Filter has no results": "Filter has no results", + "Be the first one to create an order": "Be the first one to create an order", + "Orders per page:": "Orders per page:", + "No rows": "No rows", + "No results found.": "No results found.", + "An error occurred.": "An error occurred.", + "Columns": "Columns", + "Select columns": "Select columns", + "Find column": "Find column", + "Column title": "Column title", + "Reorder column": "Reorder column", + "Show all": "Show all", + "Hide all": "Hide all", + "Add filter": "Add filter", + "Delete": "Delete", + "Logic operator": "Logic operator", + "Operator": "Operator", + "And": "And", + "Or": "Or", + "Value": "Value", + "Filter value": "Filter value", + "contains": "contains", + "equals": "equals", + "starts with": "starts with", + "ends with": "ends with", + "is": "is", + "is not": "is not", + "is after": "is after", + "is on or after": "is on or after", + "is before": "is before", + "is on or before": "is on or before", + "is empty": "is empty", + "is not empty": "is not empty", + "is any of": "is any of", + "any": "any", + "true": "true", + "false": "false", + "Menu": "Menu", + "Show columns": "Show columns", + "Filter": "Filter", + "Unsort": "Unsort", + "Sort by ASC": "Sort by ASC", + "Sort by DESC": "Sort by DESC", + "Sort": "Sort", + "Show filters": "Show filters", + "yes": "yes", + "no": "no", + "Depth chart": "Depth chart", + "Chart": "Chart", - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Order", - "Customize":"Customize", - "Buy or Sell Bitcoin?":"Buy or Sell Bitcoin?", - "Buy":"Buy", - "Sell":"Sell", - "Amount":"Amount", - "Amount of fiat to exchange for bitcoin":"Amount of fiat to exchange for bitcoin", - "Invalid":"Invalid", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Enter your preferred fiat payment methods. Fast methods are highly recommended.", - "Must be shorter than 65 characters":"Must be shorter than 65 characters", - "Swap Destination(s)":"Swap Destination(s)", - "Fiat Payment Method(s)":"Fiat Payment Method(s)", - "You can add any method":"You can add any method", - "Add New":"Add New", - "Choose a Pricing Method":"Choose a Pricing Method", - "Relative":"Relative", - "Let the price move with the market":"Let the price move with the market", - "Premium over Market (%)":"Premium over Market (%)", - "Explicit":"Explicit", - "Set a fix amount of satoshis":"Set a fix amount of satoshis", - "Satoshis":"Satoshis", - "Fixed price:":"Fixed price:", - "Order current rate:":"Order current rate:", - "Your order fixed exchange rate":"Your order fixed exchange rate", - "Your order's current exchange rate. Rate will move with the market.":"Your order's current exchange rate. Rate will move with the market.", - "Let the taker chose an amount within the range":"Let the taker choose an amount within the range", - "Enable Amount Range":"Enable Amount Range", - "From": "From", - "to":"to", - "Expiry Timers":"Expiry Timers", - "Public Duration (HH:mm)":"Public Duration (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)":"Escrow Deposit Time-Out (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Set the skin-in-the-game, increase for higher safety assurance", - "Fidelity Bond Size":"Fidelity Bond Size", - "Allow bondless takers":"Allow bondless takers", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"COMING SOON - High risk! Limited to {{limitSats}}K Sats", - "You must fill the order correctly":"You must fill the order correctly", - "Create Order":"Create Order", - "Back":"Back", - "Create an order for ":"Create an order for ", - "Create a BTC buy order for ":"Create a BTC buy order for ", - "Create a BTC sell order for ":"Create a BTC sell order for ", - " of {{satoshis}} Satoshis":" of {{satoshis}} Satoshis", - " at market price":" at market price", - " at a {{premium}}% premium":" at a {{premium}}% premium", - " at a {{discount}}% discount":" at a {{discount}}% discount", - "Must be less than {{max}}%":"Must be less than {{max}}%", - "Must be more than {{min}}%":"Must be more than {{min}}%", - "Must be less than {{maxSats}": "Must be less than {{maxSats}}", - "Must be more than {{minSats}}": "Must be more than {{minSats}}", - "Store your robot token":"Store your robot token", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.", - "Done":"Done", - "You do not have a robot avatar":"You do not have a robot avatar", - "You need to generate a robot avatar in order to become an order maker":"You need to generate a robot avatar in order to become an order maker", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Stats For Nerds", + "LND version": "LND version", + "Currently running commit hash": "Currently running commit hash", + "24h contracted volume": "24h contracted volume", + "Lifetime contracted volume": "Lifetime contracted volume", + "Made with": "Made with", + "and": "and", + "... somewhere on Earth!": "... somewhere on Earth!", + "Community": "Community", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!", + "Follow RoboSats in Twitter": "Follow RoboSats in Twitter", + "Twitter Official Account": "Twitter Official Account", + "RoboSats Telegram Communities": "RoboSats Telegram Communities", + "Join RoboSats Spanish speaking community!": "Join RoboSats Spanish speaking community!", + "Join RoboSats Russian speaking community!": "Join RoboSats Russian speaking community!", + "Join RoboSats Chinese speaking community!": "Join RoboSats Chinese speaking community!", + "Join RoboSats English speaking community!": "Join RoboSats English speaking community!", + "Tell us about a new feature or a bug": "Tell us about a new feature or a bug", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis Open Source Project", + "Your Profile": "Your Profile", + "Your robot": "Your robot", + "One active order #{{orderID}}": "One active order #{{orderID}}", + "Your current order": "Your current order", + "No active orders": "No active orders", + "Your token (will not remain here)": "Your token (will not remain here)", + "Back it up!": "Back it up!", + "Cannot remember": "Cannot remember", + "Rewards and compensations": "Rewards and compensations", + "Share to earn 100 Sats per trade": "Share to earn 100 Sats per trade", + "Your referral link": "Your referral link", + "Your earned rewards": "Your earned rewards", + "Claim": "Claim", + "Invoice for {{amountSats}} Sats": "Invoice for {{amountSats}} Sats", + "Submit": "Submit", + "There it goes, thank you!🥇": "There it goes, thank you!🥇", + "You have an active order": "You have an active order", + "You can claim satoshis!": "You can claim satoshis!", + "Public Buy Orders": "Public Buy Orders", + "Public Sell Orders": "Public Sell Orders", + "Today Active Robots": "Today Active Robots", + "24h Avg Premium": "24h Avg Premium", + "Trade Fee": "Trade Fee", + "Show community and support links": "Show community and support links", + "Show stats for nerds": "Show stats for nerds", + "Exchange Summary": "Exchange Summary", + "Public buy orders": "Public buy orders", + "Public sell orders": "Public sell orders", + "Book liquidity": "Book liquidity", + "Today active robots": "Today active robots", + "24h non-KYC bitcoin premium": "24h non-KYC bitcoin premium", + "Maker fee": "Maker fee", + "Taker fee": "Taker fee", + "Number of public BUY orders": "Number of public BUY orders", + "Number of public SELL orders": "Number of public SELL orders", + "Your last order #{{orderID}}": "Your last order #{{orderID}}", + "Inactive order": "Inactive order", + "You do not have previous orders": "You do not have previous orders", + "Join RoboSats' Subreddit": "Join RoboSats' Subreddit", + "RoboSats in Reddit": "RoboSats in Reddit", + "Current onchain payout fee": "Current onchain payout fee", + "Use stealth invoices": "Use stealth invoices", + "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.": "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.", + "Update your RoboSats client": "Update your RoboSats client", + "The RoboSats coordinator is on version {{coordinatorVersion}}, but your client app is {{clientVersion}}. This version mismatch might lead to a bad user experience.": "The RoboSats coordinator is on version {{coordinatorVersion}}, but your client app is {{clientVersion}}. This version mismatch might lead to a bad user experience.", + "Download RoboSats {{coordinatorVersion}} APK from Github releases": "Download RoboSats {{coordinatorVersion}} APK from Github releases", + "On Android RoboSats app": "On Android RoboSats app", + "Check your node's store or update the Docker image yourself": "Check your node's store or update the Docker image yourself", + "On your own sovereign node": "On your own sovereign node", + "Simply refresh your Tor Browser tab (or press Ctrl+Shift+R)": "Simply refresh your Tor Browser tab (or press Ctrl+Shift+R)", + "On remotely served client via web": "On remotely served client via web", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Order Box", + "Contract": "Contract", + "Active": "Active", + "Seen recently": "Seen recently", + "Inactive": "Inactive", + "(Seller)": "(Seller)", + "(Buyer)": "(Buyer)", + "Order maker": "Order maker", + "Order taker": "Order taker", + "Order Details": "Order Details", + "Order status": "Order status", + "Waiting for maker bond": "Waiting for maker bond", + "Public": "Public", + "Waiting for taker bond": "Waiting for taker bond", + "Cancelled": "Cancelled", + "Expired": "Expired", + "Waiting for trade collateral and buyer invoice": "Waiting for trade collateral and buyer invoice", + "Waiting only for seller trade collateral": "Waiting only for seller trade collateral", + "Waiting only for buyer invoice": "Waiting only for buyer invoice", + "Sending fiat - In chatroom": "Sending fiat - In chatroom", + "Fiat sent - In chatroom": "Fiat sent - In chatroom", + "In dispute": "In dispute", + "Collaboratively cancelled": "Collaboratively cancelled", + "Sending satoshis to buyer": "Sending satoshis to buyer", + "Sucessful trade": "Successful trade", + "Failed lightning network routing": "Failed lightning network routing", + "Wait for dispute resolution": "Wait for dispute resolution", + "Maker lost dispute": "Maker lost dispute", + "Taker lost dispute": "Taker lost dispute", + "Amount range": "Amount range", + "Swap destination": "Swap destination", + "Accepted payment methods": "Accepted payment methods", + "Others": "Others", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%", + "Price and Premium": "Price and Premium", + "Amount of Satoshis": "Amount of Satoshis", + "Premium over market price": "Premium over market price", + "Order ID": "Order ID", + "Deposit timer": "Deposit timer", + "Expires in": "Expires in", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} is asking for a collaborative cancel", + "You asked for a collaborative cancellation": "You asked for a collaborative cancellation", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Invoice expired. You did not confirm publishing the order in time. Make a new order.", + "This order has been cancelled by the maker": "This order has been cancelled by the maker", + "Invoice expired. You did not confirm taking the order in time.": "Invoice expired. You did not confirm taking the order in time.", + "Penalty lifted, good to go!": "Penalty lifted, good to go!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s", + "Too low": "Too low", + "Too high": "Too high", + "Enter amount of fiat to exchange for bitcoin": "Enter amount of fiat to exchange for bitcoin", + "Amount {{currencyCode}}": "Amount {{currencyCode}}", + "You must specify an amount first": "You must specify an amount first", + "Take Order": "Take Order", + "Wait until you can take an order": "Wait until you can take an order", + "Cancel the order?": "Cancel the order?", + "If the order is cancelled now you will lose your bond.": "If the order is cancelled now you will lose your bond.", + "Confirm Cancel": "Confirm Cancel", + "The maker is away": "The maker is away", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.", + "Collaborative cancel the order?": "Collaborative cancel the order?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.", + "Ask for Cancel": "Ask for Cancel", + "Cancel": "Cancel", + "Collaborative Cancel": "Collaborative Cancel", + "Invalid Order Id": "Invalid Order Id", + "You must have a robot avatar to see the order details": "You must have a robot avatar to see the order details", + "This order has been cancelled collaborativelly": "This order has been cancelled collaboratively", + "This order is not available": "This order is not available", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues", + "WebLN": "WebLN", + "Payment not received, please check your WebLN wallet.": "Payment not received, please check your WebLN wallet.", + "Invoice not received, please check your WebLN wallet.": "Invoice not received, please check your WebLN wallet.", + "Payment detected, you can close now your WebLN wallet popup.": "Payment detected, you can close now your WebLN wallet popup.", - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Not specified", - "Instant SEPA":"Instant SEPA", - "Amazon GiftCard":"Amazon GiftCard", - "Google Play Gift Code":"Google Play Gift Code", - "Cash F2F":"Cash F2F", - "On-Chain BTC":"On-Chain BTC", + "CHAT BOX - Chat.js": "Chat Box", + "You": "You", + "Peer": "Peer", + "connected": "connected", + "disconnected": "disconnected", + "Type a message": "Type a message", + "Connecting...": "Connecting...", + "Send": "Send", + "Verify your privacy": "Verify your privacy", + "Audit PGP": "Audit PGP", + "Save full log as a JSON file (messages and credentials)": "Save full log as a JSON file (messages and credentials)", + "Export": "Export", + "Don't trust, verify": "Don't trust, verify", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.", + "Learn how to verify": "Learn how to verify", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Your PGP public key. Your peer uses it to encrypt messages only you can read.", + "Your public key": "Your public key", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "Your peer PGP public key. You use it to encrypt messages only he can read.and to verify your peer signed the incoming messages.", + "Peer public key": "Peer public key", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.", + "Your encrypted private key": "Your encrypted private key", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot avatar user token.", + "Your private key passphrase (keep secure!)": "Your private key passphrase (keep secure!)", + "Save credentials as a JSON file": "Save credentials as a JSON file", + "Keys": "Keys", + "Save messages as a JSON file": "Save messages as a JSON file", + "Messages": "Messages", + "Verified signature by {{nickname}}": "Verified signature by {{nickname}}", + "Cannot verify signature of {{nickname}}": "Cannot verify signature of {{nickname}}", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Contract Box", + "Robots show commitment to their peers": "Robots show commitment to their peers", + "Lock {{amountSats}} Sats to PUBLISH order": "Lock {{amountSats}} Sats to PUBLISH order", + "Lock {{amountSats}} Sats to TAKE order": "Lock {{amountSats}} Sats to TAKE order", + "Lock {{amountSats}} Sats as collateral": "Lock {{amountSats}} Sats as collateral", + "Copy to clipboard": "Copy to clipboard", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.", + "Your maker bond is locked": "Your maker bond is locked", + "Your taker bond is locked": "Your taker bond is locked", + "Your maker bond was settled": "Your maker bond was settled", + "Your taker bond was settled": "Your taker bond was settled", + "Your maker bond was unlocked": "Your maker bond was unlocked", + "Your taker bond was unlocked": "Your taker bond was unlocked", + "Your order is public": "Your order is public", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.", + "If the order expires untaken, your bond will return to you (no action needed).": "If the order expires untaken, your bond will return to you (no action needed).", + "Enable Telegram Notifications": "Enable Telegram Notifications", + "Enable TG Notifications": "Enable TG Notifications", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.", + "Go back": "Go back", + "Enable": "Enable", + "Telegram enabled": "Telegram enabled", + "Public orders for {{currencyCode}}": "Public orders for {{currencyCode}}", + "Premium rank": "Premium rank", + "Among public {{currencyCode}} orders (higher is cheaper)": "Among public {{currencyCode}} orders (higher is cheaper)", + "A taker has been found!": "A taker has been found!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.", + "Payout Lightning Invoice": "Payout Lightning Invoice", + "Your info looks good!": "Your info looks good!", + "We are waiting for the seller to lock the trade amount.": "We are waiting for the seller to lock the trade amount.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).", + "The trade collateral is locked!": "The trade collateral is locked!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).", + "Confirm {{amount}} {{currencyCode}} sent": "Confirm {{amount}} {{currencyCode}} sent", + "Confirm {{amount}} {{currencyCode}} received": "Confirm {{amount}} {{currencyCode}} received", + "Open Dispute": "Open Dispute", + "The order has expired": "The order has expired", + "Chat with the buyer": "Chat with the buyer", + "Chat with the seller": "Chat with the seller", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.", + "Wait for the seller to confirm he has received the payment.": "Wait for the seller to confirm he has received the payment.", + "Confirm you received {{amount}} {{currencyCode}}?": "Confirm you received {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.", + "Confirm": "Confirm", + "Trade finished!": "Trade finished!", + "rate_robosats": "What do you think of <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Thank you! RoboSats loves you too ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!", + "Thank you for using Robosats!": "Thank you for using Robosats!", + "let_us_know_hot_to_improve": "Let us know how the platform could improve (<1>Telegram / <3>Github)", + "Start Again": "Start Again", + "Attempting Lightning Payment": "Attempting Lightning Payment", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.", + "Retrying!": "Retrying!", + "Lightning Routing Failed": "Lightning Routing Failed", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", + "Check the list of compatible wallets": "Check the list of compatible wallets", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.", + "Next attempt in": "Next attempt in", + "Do you want to open a dispute?": "Do you want to open a dispute?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.", + "Disagree": "Disagree", + "Agree and open dispute": "Agree and open dispute", + "A dispute has been opened": "A dispute has been opened", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.", + "Submit dispute statement": "Submit dispute statement", + "We have received your statement": "We have received your statement", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).", + "We have the statements": "We have the statements", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.", + "You have won the dispute": "You have won the dispute", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).", + "You have lost the dispute": "You have lost the dispute", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.", + "Expired not taken": "Expired not taken", + "Maker bond not locked": "Maker bond not locked", + "Escrow not locked": "Escrow not locked", + "Invoice not submitted": "Invoice not submitted", + "Neither escrow locked or invoice submitted": "Neither escrow locked or invoice submitted", + "Renew Order": "Renew Order", + "Pause the public order": "Pause the public order", + "Your order is paused": "Your order is paused", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.", + "Unpause Order": "Unpause Order", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "See Compatible Wallets", + "Failure reason:": "Failure reason:", + "Payment isn't failed (yet)": "Payment isn't failed (yet)", + "There are more routes to try, but the payment timeout was exceeded.": "There are more routes to try, but the payment timeout was exceeded.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.", + "A non-recoverable error has occurred.": "A non-recoverable error has occurred.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).", + "Insufficient unlocked balance in RoboSats' node.": "Insufficient unlocked balance in RoboSats' node.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com", + "The invoice provided has no explicit amount": "The invoice provided has no explicit amount", + "Does not look like a valid lightning invoice": "Does not look like a valid lightning invoice", + "The invoice provided has already expired": "The invoice provided has already expired", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.", + "Invalid address": "Invalid address", + "Unable to validate address, check bitcoind backend": "Unable to validate address, check bitcoind backend", + "Submit payout info for {{amountSats}} Sats": "Submit payout info for {{amountSats}} Sats", + "Submit a valid invoice for {{amountSats}} Satoshis.": "Submit a valid invoice for {{amountSats}} Satoshis.", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats will do a swap and send the Sats to your onchain address.", + "Swap fee": "Swap fee", + "Mining fee": "Mining fee", + "Mining Fee": "Mining Fee", + "Final amount you will receive": "Final amount you will receive", + "Bitcoin Address": "Bitcoin Address", + "Your TXID": "Your TXID", + "Lightning": "Lightning", + "Onchain": "Onchain", + "open_dispute": "To open a dispute you need to wait <1><1/>", + "Trade Summary": "Trade Summary", + "Maker": "Maker", + "Taker": "Taker", + "User role": "User role", + "Sent": "Sent", + "Received": "Received", + "BTC received": "BTC received", + "BTC sent": "BTC sent", + "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)": "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", + "Trade fee": "Trade fee", + "{{swapFeeSats}} Sats ({{swapFeePercent}}%)": "{{swapFeeSats}} Sats ({{swapFeePercent}}%)", + "Onchain swap fee": "Onchain swap fee", + "{{miningFeeSats}} Sats": "{{miningFeeSats}} Sats", + "{{bondSats}} Sats ({{bondPercent}}%)": "{{bondSats}} Sats ({{bondPercent}}%)", + "Maker bond": "Maker bond", + "Taker bond": "Taker bond", + "Unlocked": "Unlocked", + "{{revenueSats}} Sats": "{{revenueSats}} Sats", + "Platform trade revenue": "Platform trade revenue", + "{{routingFeeSats}} MiliSats": "{{routingFeeSats}} MiliSats", + "Platform covered routing fee": "Platform covered routing fee", + "Timestamp": "Timestamp", + "Completed in": "Completed in", + "Contract exchange rate": "Contract exchange rate", - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Seller", - "Buyer":"Buyer", - "I want to":"I want to", - "Select Order Type":"Select Order Type", - "ANY_type":"ANY", - "ANY_currency":"ANY", - "BUY":"BUY", - "SELL":"SELL", - "and receive":"and receive", - "and pay with":"and pay with", - "and use":"and use", - "Select Payment Currency":"Select Payment Currency", - "Robot":"Robot", - "Is":"Is", - "Currency":"Currency", - "Payment Method":"Payment Method", - "Pay":"Pay", - "Price":"Price", - "Premium":"Premium", - "You are SELLING BTC for {{currencyCode}}":"You are SELLING BTC for {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"You are BUYING BTC for {{currencyCode}}", - "You are looking at all":"You are looking at all", - "No orders found to sell BTC for {{currencyCode}}":"No orders found to sell BTC for {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"No orders found to buy BTC for {{currencyCode}}", - "Filter has no results":"Filter has no results", - "Be the first one to create an order":"Be the first one to create an order", - "Orders per page:":"Orders per page:", - "No rows":"No rows", - "No results found.":"No results found.", - "An error occurred.":"An error occurred.", - "Columns":"Columns", - "Select columns":"Select columns", - "Find column":"Find column", - "Column title":"Column title", - "Reorder column":"Reorder column", - "Show all":"Show all", - "Hide all":"Hide all", - "Add filter":"Add filter", - "Delete":"Delete", - "Logic operator":"Logic operator", - "Operator":"Operator", - "And":"And", - "Or":"Or", - "Value":"Value", - "Filter value":"Filter value", - "contains":"contains", - "equals":"equals", - "starts with":"starts with", - "ends with":"ends with", - "is":"is", - "is not":"is not", - "is after":"is after", - "is on or after":"is on or after", - "is before":"is before", - "is on or before":"is on or before", - "is empty":"is empty", - "is not empty":"is not empty", - "is any of":"is any of", - "any":"any", - "true":"true", - "false":"false", - "Menu":"Menu", - "Show columns":"Show columns", - "Filter":"Filter", - "Unsort":"Unsort", - "Sort by ASC":"Sort by ASC", - "Sort by DESC":"Sort by DESC", - "Sort":"Sort", - "Show filters":"Show filters", - "yes":"yes", - "no":"no", - "Depth chart": "Depth chart", - "Chart": "Chart", - - - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Stats For Nerds", - "LND version":"LND version", - "Currently running commit hash":"Currently running commit hash", - "24h contracted volume":"24h contracted volume", - "Lifetime contracted volume":"Lifetime contracted volume", - "Made with":"Made with", - "and":"and", - "... somewhere on Earth!":"... somewhere on Earth!", - "Community":"Community", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!", - "Follow RoboSats in Twitter":"Follow RoboSats in Twitter", - "Twitter Official Account":"Twitter Official Account", - "RoboSats Telegram Communities":"RoboSats Telegram Communities", - "Join RoboSats Spanish speaking community!":"Join RoboSats Spanish speaking community!", - "Join RoboSats Russian speaking community!":"Join RoboSats Russian speaking community!", - "Join RoboSats Chinese speaking community!":"Join RoboSats Chinese speaking community!", - "Join RoboSats English speaking community!":"Join RoboSats English speaking community!", - "Tell us about a new feature or a bug":"Tell us about a new feature or a bug", - "Github Issues - The Robotic Satoshis Open Source Project":"Github Issues - The Robotic Satoshis Open Source Project", - "Your Profile":"Your Profile", - "Your robot":"Your robot", - "One active order #{{orderID}}":"One active order #{{orderID}}", - "Your current order":"Your current order", - "No active orders":"No active orders", - "Your token (will not remain here)":"Your token (will not remain here)", - "Back it up!":"Back it up!", - "Cannot remember":"Cannot remember", - "Rewards and compensations":"Rewards and compensations", - "Share to earn 100 Sats per trade":"Share to earn 100 Sats per trade", - "Your referral link":"Your referral link", - "Your earned rewards":"Your earned rewards", - "Claim":"Claim", - "Invoice for {{amountSats}} Sats":"Invoice for {{amountSats}} Sats", - "Submit":"Submit", - "There it goes, thank you!🥇":"There it goes, thank you!🥇", - "You have an active order":"You have an active order", - "You can claim satoshis!":"You can claim satoshis!", - "Public Buy Orders":"Public Buy Orders", - "Public Sell Orders":"Public Sell Orders", - "Today Active Robots":"Today Active Robots", - "24h Avg Premium":"24h Avg Premium", - "Trade Fee":"Trade Fee", - "Show community and support links":"Show community and support links", - "Show stats for nerds":"Show stats for nerds", - "Exchange Summary":"Exchange Summary", - "Public buy orders":"Public buy orders", - "Public sell orders":"Public sell orders", - "Book liquidity":"Book liquidity", - "Today active robots":"Today active robots", - "24h non-KYC bitcoin premium":"24h non-KYC bitcoin premium", - "Maker fee":"Maker fee", - "Taker fee":"Taker fee", - "Number of public BUY orders":"Number of public BUY orders", - "Number of public SELL orders":"Number of public SELL orders", - "Your last order #{{orderID}}":"Your last order #{{orderID}}", - "Inactive order":"Inactive order", - "You do not have previous orders":"You do not have previous orders", - "Join RoboSats' Subreddit":"Join RoboSats' Subreddit", - "RoboSats in Reddit":"RoboSats in Reddit", - "Current onchain payout fee":"Current onchain payout fee", - "Use stealth invoices":"Use stealth invoices", - "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.":"Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.", - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Order Box", - "Contract":"Contract", - "Active":"Active", - "Seen recently":"Seen recently", - "Inactive":"Inactive", - "(Seller)":"(Seller)", - "(Buyer)":"(Buyer)", - "Order maker":"Order maker", - "Order taker":"Order taker", - "Order Details":"Order Details", - "Order status":"Order status", - "Waiting for maker bond":"Waiting for maker bond", - "Public":"Public", - "Waiting for taker bond":"Waiting for taker bond", - "Cancelled":"Cancelled", - "Expired":"Expired", - "Waiting for trade collateral and buyer invoice":"Waiting for trade collateral and buyer invoice", - "Waiting only for seller trade collateral":"Waiting only for seller trade collateral", - "Waiting only for buyer invoice":"Waiting only for buyer invoice", - "Sending fiat - In chatroom":"Sending fiat - In chatroom", - "Fiat sent - In chatroom":"Fiat sent - In chatroom", - "In dispute":"In dispute", - "Collaboratively cancelled":"Collaboratively cancelled", - "Sending satoshis to buyer":"Sending satoshis to buyer", - "Sucessful trade":"Successful trade", - "Failed lightning network routing":"Failed lightning network routing", - "Wait for dispute resolution":"Wait for dispute resolution", - "Maker lost dispute":"Maker lost dispute", - "Taker lost dispute":"Taker lost dispute", - "Amount range":"Amount range", - "Swap destination":"Swap destination", - "Accepted payment methods":"Accepted payment methods", - "Others":"Others", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%", - "Price and Premium":"Price and Premium", - "Amount of Satoshis":"Amount of Satoshis", - "Premium over market price":"Premium over market price", - "Order ID":"Order ID", - "Deposit timer":"Deposit timer", - "Expires in":"Expires in", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} is asking for a collaborative cancel", - "You asked for a collaborative cancellation":"You asked for a collaborative cancellation", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Invoice expired. You did not confirm publishing the order in time. Make a new order.", - "This order has been cancelled by the maker":"This order has been cancelled by the maker", - "Invoice expired. You did not confirm taking the order in time.":"Invoice expired. You did not confirm taking the order in time.", - "Penalty lifted, good to go!":"Penalty lifted, good to go!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s", - "Too low":"Too low", - "Too high":"Too high", - "Enter amount of fiat to exchange for bitcoin":"Enter amount of fiat to exchange for bitcoin", - "Amount {{currencyCode}}":"Amount {{currencyCode}}", - "You must specify an amount first":"You must specify an amount first", - "Take Order":"Take Order", - "Wait until you can take an order":"Wait until you can take an order", - "Cancel the order?":"Cancel the order?", - "If the order is cancelled now you will lose your bond.":"If the order is cancelled now you will lose your bond.", - "Confirm Cancel":"Confirm Cancel", - "The maker is away":"The maker is away", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.", - "Collaborative cancel the order?":"Collaborative cancel the order?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.", - "Ask for Cancel":"Ask for Cancel", - "Cancel":"Cancel", - "Collaborative Cancel":"Collaborative Cancel", - "Invalid Order Id":"Invalid Order Id", - "You must have a robot avatar to see the order details":"You must have a robot avatar to see the order details", - "This order has been cancelled collaborativelly":"This order has been cancelled collaboratively", - "This order is not available":"This order is not available", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues", - "WebLN": "WebLN", - "Payment not received, please check your WebLN wallet.": "Payment not received, please check your WebLN wallet.", - "Invoice not received, please check your WebLN wallet.": "Invoice not received, please check your WebLN wallet.", - "Payment detected, you can close now your WebLN wallet popup.": "Payment detected, you can close now your WebLN wallet popup.", - - "CHAT BOX - Chat.js":"Chat Box", - "You":"You", - "Peer":"Peer", - "connected":"connected", - "disconnected":"disconnected", - "Type a message":"Type a message", - "Connecting...":"Connecting...", - "Send":"Send", - "Verify your privacy":"Verify your privacy", - "Audit PGP":"Audit PGP", - "Save full log as a JSON file (messages and credentials)":"Save full log as a JSON file (messages and credentials)", - "Export":"Export", - "Don't trust, verify":"Don't trust, verify", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.", - "Learn how to verify":"Learn how to verify", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"Your PGP public key. Your peer uses it to encrypt messages only you can read.", - "Your public key":"Your public key", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"Your peer PGP public key. You use it to encrypt messages only he can read.and to verify your peer signed the incoming messages.", - "Peer public key":"Peer public key", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.", - "Your encrypted private key":"Your encrypted private key", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot avatar user token.", - "Your private key passphrase (keep secure!)":"Your private key passphrase (keep secure!)", - "Save credentials as a JSON file":"Save credentials as a JSON file", - "Keys":"Keys", - "Save messages as a JSON file":"Save messages as a JSON file", - "Messages":"Messages", - "Verified signature by {{nickname}}":"Verified signature by {{nickname}}", - "Cannot verify signature of {{nickname}}":"Cannot verify signature of {{nickname}}", - - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Contract Box", - "Robots show commitment to their peers": "Robots show commitment to their peers", - "Lock {{amountSats}} Sats to PUBLISH order": "Lock {{amountSats}} Sats to PUBLISH order", - "Lock {{amountSats}} Sats to TAKE order": "Lock {{amountSats}} Sats to TAKE order", - "Lock {{amountSats}} Sats as collateral": "Lock {{amountSats}} Sats as collateral", - "Copy to clipboard":"Copy to clipboard", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.", - "Your maker bond is locked":"Your maker bond is locked", - "Your taker bond is locked":"Your taker bond is locked", - "Your maker bond was settled":"Your maker bond was settled", - "Your taker bond was settled":"Your taker bond was settled", - "Your maker bond was unlocked":"Your maker bond was unlocked", - "Your taker bond was unlocked":"Your taker bond was unlocked", - "Your order is public":"Your order is public", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.", - "If the order expires untaken, your bond will return to you (no action needed).":"If the order expires untaken, your bond will return to you (no action needed).", - "Enable Telegram Notifications":"Enable Telegram Notifications", - "Enable TG Notifications":"Enable TG Notifications", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.", - "Go back":"Go back", - "Enable":"Enable", - "Telegram enabled":"Telegram enabled", - "Public orders for {{currencyCode}}":"Public orders for {{currencyCode}}", - "Premium rank": "Premium rank", - "Among public {{currencyCode}} orders (higher is cheaper)": "Among public {{currencyCode}} orders (higher is cheaper)", - "A taker has been found!":"A taker has been found!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.", - "Payout Lightning Invoice":"Payout Lightning Invoice", - "Your info looks good!":"Your info looks good!", - "We are waiting for the seller to lock the trade amount.":"We are waiting for the seller to lock the trade amount.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).", - "The trade collateral is locked!":"The trade collateral is locked!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).", - "Confirm {{amount}} {{currencyCode}} sent":"Confirm {{amount}} {{currencyCode}} sent", - "Confirm {{amount}} {{currencyCode}} received":"Confirm {{amount}} {{currencyCode}} received", - "Open Dispute":"Open Dispute", - "The order has expired":"The order has expired", - "Chat with the buyer":"Chat with the buyer", - "Chat with the seller":"Chat with the seller", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"The buyer has sent the fiat. Click 'Confirm Received' once you receive it.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.", - "Wait for the seller to confirm he has received the payment.":"Wait for the seller to confirm he has received the payment.", - "Confirm you received {{amount}} {{currencyCode}}?":"Confirm you received {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.", - "Confirm":"Confirm", - "Trade finished!":"Trade finished!", - "rate_robosats":"What do you think of <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Thank you! RoboSats loves you too ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!", - "Thank you for using Robosats!":"Thank you for using Robosats!", - "let_us_know_hot_to_improve":"Let us know how the platform could improve (<1>Telegram / <3>Github)", - "Start Again":"Start Again", - "Attempting Lightning Payment":"Attempting Lightning Payment", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.", - "Retrying!":"Retrying!", - "Lightning Routing Failed":"Lightning Routing Failed", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.":"Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.", - "Check the list of compatible wallets":"Check the list of compatible wallets", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.", - "Next attempt in":"Next attempt in", - "Do you want to open a dispute?":"Do you want to open a dispute?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.", - "Disagree":"Disagree", - "Agree and open dispute":"Agree and open dispute", - "A dispute has been opened":"A dispute has been opened", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.", - "Submit dispute statement":"Submit dispute statement", - "We have received your statement":"We have received your statement", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).", - "We have the statements":"We have the statements", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.", - "You have won the dispute":"You have won the dispute", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).", - "You have lost the dispute":"You have lost the dispute", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.", - "Expired not taken":"Expired not taken", - "Maker bond not locked":"Maker bond not locked", - "Escrow not locked":"Escrow not locked", - "Invoice not submitted":"Invoice not submitted", - "Neither escrow locked or invoice submitted":"Neither escrow locked or invoice submitted", - "Renew Order":"Renew Order", - "Pause the public order":"Pause the public order", - "Your order is paused":"Your order is paused", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.", - "Unpause Order":"Unpause Order", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets":"See Compatible Wallets", - "Failure reason:":"Failure reason:", - "Payment isn't failed (yet)":"Payment isn't failed (yet)", - "There are more routes to try, but the payment timeout was exceeded.":"There are more routes to try, but the payment timeout was exceeded.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"All possible routes were tried and failed permanently. Or there were no routes to the destination at all.", - "A non-recoverable error has occurred.":"A non-recoverable error has occurred.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).", - "Insufficient unlocked balance in RoboSats' node.":"Insufficient unlocked balance in RoboSats' node.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com", - "The invoice provided has no explicit amount":"The invoice provided has no explicit amount", - "Does not look like a valid lightning invoice":"Does not look like a valid lightning invoice", - "The invoice provided has already expired":"The invoice provided has already expired", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.", - "Invalid address":"Invalid address", - "Unable to validate address, check bitcoind backend":"Unable to validate address, check bitcoind backend", - "Submit payout info for {{amountSats}} Sats":"Submit payout info for {{amountSats}} Sats", - "Submit a valid invoice for {{amountSats}} Satoshis.":"Submit a valid invoice for {{amountSats}} Satoshis.", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.":"Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.", - "RoboSats will do a swap and send the Sats to your onchain address.":"RoboSats will do a swap and send the Sats to your onchain address.", - "Swap fee":"Swap fee", - "Mining fee":"Mining fee", - "Mining Fee":"Mining Fee", - "Final amount you will receive":"Final amount you will receive", - "Bitcoin Address":"Bitcoin Address", - "Your TXID":"Your TXID", - "Lightning":"Lightning", - "Onchain":"Onchain", - "open_dispute":"To open a dispute you need to wait <1><1/>", - "Trade Summary":"Trade Summary", - "Maker":"Maker", - "Taker":"Taker", - "User role":"User role", - "Sent":"Sent", - "Received":"Received", - "BTC received":"BTC received", - "BTC sent":"BTC sent", - "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)":"{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", - "Trade fee":"Trade fee", - "{{swapFeeSats}} Sats ({{swapFeePercent}}%)":"{{swapFeeSats}} Sats ({{swapFeePercent}}%)", - "Onchain swap fee":"Onchain swap fee", - "{{miningFeeSats}} Sats":"{{miningFeeSats}} Sats", - "{{bondSats}} Sats ({{bondPercent}}%)":"{{bondSats}} Sats ({{bondPercent}}%)", - "Maker bond":"Maker bond", - "Taker bond":"Taker bond", - "Unlocked":"Unlocked", - "{{revenueSats}} Sats":"{{revenueSats}} Sats", - "Platform trade revenue":"Platform trade revenue", - "{{routingFeeSats}} MiliSats":"{{routingFeeSats}} MiliSats", - "Platform covered routing fee":"Platform covered routing fee", - "Timestamp":"Timestamp", - "Completed in":"Completed in", - "Contract exchange rate":"Contract exchange rate", - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Close", - "What is RoboSats?":"What is RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"It is a BTC/FIAT peer-to-peer exchange over lightning.", - "RoboSats is an open source project ":"RoboSats is an open source project ", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.", - "(GitHub).":"(GitHub).", - "How does it work?":"How does it work?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.", - "You can find a step-by-step description of the trade pipeline in ":"You can find a step-by-step description of the trade pipeline in ", - "How it works":"How it works", - "You can also check the full guide in ":"You can also check the full guide in ", - "How to use":"How to use", - "What payment methods are accepted?":"What payment methods are accepted?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has an expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.", - "Are there trade limits?":"Are there trade limits?", - "What are the fees?":"What are the fees?", - "RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.":"RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.", - "Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.":"Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).", - "Is RoboSats private?":"Is RoboSats private?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.", - "What are the risks?":"What are the risks?", - "This is an experimental application, things could go wrong. Trade small amounts!":"This is an experimental application, things could go wrong. Trade small amounts!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.", - "What is the trust model?":"What is the trust model?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq", - "You can build more trust on RoboSats by inspecting the source code.":"You can build more trust on RoboSats by inspecting the source code.", - "Project source code":"Project source code", - "What happens if RoboSats suddenly disappears?":"What happens if RoboSats suddenly disappears?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.", - "Is RoboSats legal in my country?":"Is RoboSats legal in my country?", - "Disclaimer":"Disclaimer", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats will never contact you. RoboSats will definitely never ask for your robot token." + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Close", + "What is RoboSats?": "What is RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "It is a BTC/FIAT peer-to-peer exchange over lightning.", + "RoboSats is an open source project ": "RoboSats is an open source project ", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.", + "(GitHub).": "(GitHub).", + "How does it work?": "How does it work?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.", + "You can find a step-by-step description of the trade pipeline in ": "You can find a step-by-step description of the trade pipeline in ", + "How it works": "How it works", + "You can also check the full guide in ": "You can also check the full guide in ", + "How to use": "How to use", + "What payment methods are accepted?": "What payment methods are accepted?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has an expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.", + "Are there trade limits?": "Are there trade limits?", + "What are the fees?": "What are the fees?", + "RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.": "RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.", + "Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.": "Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).", + "Is RoboSats private?": "Is RoboSats private?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.", + "What are the risks?": "What are the risks?", + "This is an experimental application, things could go wrong. Trade small amounts!": "This is an experimental application, things could go wrong. Trade small amounts!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.", + "What is the trust model?": "What is the trust model?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq", + "You can build more trust on RoboSats by inspecting the source code.": "You can build more trust on RoboSats by inspecting the source code.", + "Project source code": "Project source code", + "What happens if RoboSats suddenly disappears?": "What happens if RoboSats suddenly disappears?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.", + "Is RoboSats legal in my country?": "Is RoboSats legal in my country?", + "Disclaimer": "Disclaimer", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token." } diff --git a/frontend/static/locales/es.json b/frontend/static/locales/es.json index b9a6a2ce1..e3e74c07a 100644 --- a/frontend/static/locales/es.json +++ b/frontend/static/locales/es.json @@ -1,527 +1,521 @@ { - "UNSAFE-ALERT": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "No usas RoboSats de forma privada", - "desktop_unsafe_alert": "Algunas funciones (como el chat) están deshabilitadas para protegerte y sin ellas no podrás completar un intercambio. Para proteger tu privacidad y habilitar RoboSats por completo, usa el <1>Navegador Tor y visita el <3>sitio cebolla.", - "phone_unsafe_alert": "No podrás completar un intercambio. Usa el <1>Navegador Tor y visita el <3>sitio cebolla.", - "Hide": "Ocultar", - "You are self-hosting RoboSats":"Estás hosteando RoboSats", - "RoboSats client is served from your own node granting you the strongest security and privacy.":"El cliente RoboSats es servido por tu propio nodo, gozas de la mayor seguridad y privacidad.", - + "UNSAFE-ALERT": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "No usas RoboSats de forma privada", + "desktop_unsafe_alert": "Algunas funciones (como el chat) están deshabilitadas para protegerte y sin ellas no podrás completar un intercambio. Para proteger tu privacidad y habilitar RoboSats por completo, usa el <1>Navegador Tor y visita el <3>sitio cebolla.", + "phone_unsafe_alert": "No podrás completar un intercambio. Usa el <1>Navegador Tor y visita el <3>sitio cebolla.", + "Hide": "Ocultar", + "You are self-hosting RoboSats": "Estás hosteando RoboSats", + "RoboSats client is served from your own node granting you the strongest security and privacy.": "El cliente RoboSats es servido por tu propio nodo, gozas de la mayor seguridad y privacidad.", - "UserGenPage": "User Generation Page and Landing Page", - "Simple and Private LN P2P Exchange": "Intercambio LN P2P Fácil y Privado", - "This is your trading avatar": "Este es tu Robot de compraventa", - "Store your token safely":"Guarda tu token de forma segura", - "A robot avatar was found, welcome back!": "Se encontró un Robot, ¡bienvenido de nuevo!", - "Copied!":"¡Copiado!", - "Generate a new token":"Genera un nuevo token", - "Generate Robot":"Generar Robot", - "You must enter a new token first": "Primero introduce un nuevo token", - "Make Order":"Crear orden", - "Info": "Info", - "View Book": "Ver libro", - "Learn RoboSats":"Aprende RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"Vas a visitar la página Learn RoboSats. Ha sido construida por la comunidad y contiene tutoriales y documentación que te ayudará a aprender como se usa RoboSats y a entender como funciona.", - "Let's go!":"¡Vamos!", - "Save token and PGP credentials to file":"Guardar archivo con token y credenciales PGP", + "UserGenPage": "User Generation Page and Landing Page", + "Simple and Private LN P2P Exchange": "Intercambio LN P2P Fácil y Privado", + "This is your trading avatar": "Este es tu Robot de compraventa", + "Store your token safely": "Guarda tu token de forma segura", + "A robot avatar was found, welcome back!": "Se encontró un Robot, ¡bienvenido de nuevo!", + "Copied!": "¡Copiado!", + "Generate a new token": "Genera un nuevo token", + "Generate Robot": "Generar Robot", + "You must enter a new token first": "Primero introduce un nuevo token", + "Make Order": "Crear orden", + "Info": "Info", + "View Book": "Ver libro", + "Learn RoboSats": "Aprende RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Vas a visitar la página Learn RoboSats. Ha sido construida por la comunidad y contiene tutoriales y documentación que te ayudará a aprender como se usa RoboSats y a entender como funciona.", + "Let's go!": "¡Vamos!", + "Save token and PGP credentials to file": "Guardar archivo con token y credenciales PGP", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Orden", + "Customize": "Personalizar", + "Buy or Sell Bitcoin?": "¿Comprar o vender bitcoin?", + "Buy": "Comprar", + "Sell": "Vender", + "Amount": "Monto", + "Amount of fiat to exchange for bitcoin": "Monto de fiat a cambiar por bitcoin", + "Invalid": "No válido", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Introduce tus métodos de pago. Se recomiendan encarecidamente métodos rápidos.", + "Must be shorter than 65 characters": "Debe tener menos de 65 caracteres", + "Swap Destination(s)": "Destino(s) del swap", + "Fiat Payment Method(s)": "Método(s) de pago en fiat", + "You can add new methods": "Puedes añadir nuevos métodos", + "Add New": "Añadir nuevo", + "Choose a Pricing Method": "Elige cómo establecer el precio", + "Relative": "Relativo", + "Let the price move with the market": "El precio se moverá relativo al mercado", + "Premium over Market (%)": "Prima sobre el mercado (%)", + "Explicit": "Fijo", + "Set a fix amount of satoshis": "Establece un monto fijo de Sats", + "Satoshis": "Satoshis", + "Fixed price:": "Precio fijo:", + "Order current rate:": "Precio actual:", + "Your order fixed exchange rate": "La tasa de cambio fija de tu orden", + "Your order's current exchange rate. Rate will move with the market.": "La tasa de cambio de tu orden justo en estos momentos. Se moverá relativa al mercado.", + "Let the taker chose an amount within the range": "Permite que el tomador elija un monto dentro del rango.", + "Enable Amount Range": "Activar monto con rango", + "From": "Desde", + "to": "a ", + "Expiry Timers": "Temporizadores", + "Public Duration (HH:mm)": "Duración pública (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Plazo límite depósito (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Establece la implicación requerida (aumentar para mayor seguridad)", + "Fidelity Bond Size": "Tamaño de la fianza", + "Allow bondless takers": "Permitir tomadores sin fianza", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "PRÓXIMAMENTE - ¡Alto riesgo! Limitado a {{limitSats}}K Sats", + "You must fill the order correctly": "Debes rellenar la orden correctamente", + "Create Order": "Crear orden", + "Back": "Volver", + "Create an order for ": "Crear una orden por ", + "Create a BTC buy order for ": "Crear orden de compra de BTC por ", + "Create a BTC sell order for ": "Crear orden de venta de BTC por ", + " of {{satoshis}} Satoshis": " de {{satoshis}} Sats", + " at market price": " a precio de mercado", + " at a {{premium}}% premium": " con una prima del {{premium}}%", + " at a {{discount}}% discount": " con descuento del {{discount}}%", + "Must be less than {{max}}%": "Debe ser menos del {{max}}%", + "Must be more than {{min}}%": "Debe ser más del {{min}}%", + "Must be less than {{maxSats}": "Debe ser menos de {{maxSats}}", + "Must be more than {{minSats}}": "Debe ser más de {{minSats}}", + "Store your robot token": "Guarda el token", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Puede que necesites recuperar tu robot avatar en el futuro: haz una copia de seguridad del token. Puedes simplemente copiarlo en otra aplicación.", + "Done": "Hecho", + "You do not have a robot avatar": "No tienes un avatar robot", + "You need to generate a robot avatar in order to become an order maker": "Necesitas generar un avatar robot antes de crear una orden", - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Orden", - "Customize":"Personalizar", - "Buy or Sell Bitcoin?":"¿Comprar o vender bitcoin?", - "Buy":"Comprar", - "Sell":"Vender", - "Amount":"Monto", - "Amount of fiat to exchange for bitcoin":"Monto de fiat a cambiar por bitcoin", - "Invalid":"No válido", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Introduce tus métodos de pago. Se recomiendan encarecidamente métodos rápidos.", - "Must be shorter than 65 characters":"Debe tener menos de 65 caracteres", - "Swap Destination(s)": "Destino(s) del swap", - "Fiat Payment Method(s)":"Método(s) de pago en fiat", - "You can add new methods":"Puedes añadir nuevos métodos", - "Add New":"Añadir nuevo", - "Choose a Pricing Method":"Elige cómo establecer el precio", - "Relative":"Relativo", - "Let the price move with the market":"El precio se moverá relativo al mercado", - "Premium over Market (%)": "Prima sobre el mercado (%)", - "Explicit":"Fijo", - "Set a fix amount of satoshis": "Establece un monto fijo de Sats", - "Satoshis": "Satoshis", - "Fixed price:":"Precio fijo:", - "Order current rate:":"Precio actual:", - "Your order fixed exchange rate":"La tasa de cambio fija de tu orden", - "Your order's current exchange rate. Rate will move with the market.":"La tasa de cambio de tu orden justo en estos momentos. Se moverá relativa al mercado.", - "Let the taker chose an amount within the range":"Permite que el tomador elija un monto dentro del rango.", - "Enable Amount Range":"Activar monto con rango", - "From": "Desde", - "to":"a ", - "Expiry Timers":"Temporizadores", - "Public Duration (HH:mm)": "Duración pública (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)":"Plazo límite depósito (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance": "Establece la implicación requerida (aumentar para mayor seguridad)", - "Fidelity Bond Size": "Tamaño de la fianza", - "Allow bondless takers":"Permitir tomadores sin fianza", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "PRÓXIMAMENTE - ¡Alto riesgo! Limitado a {{limitSats}}K Sats", - "You must fill the order correctly": "Debes rellenar la orden correctamente", - "Create Order":"Crear orden", - "Back":"Volver", - "Create an order for ":"Crear una orden por ", - "Create a BTC buy order for ": "Crear orden de compra de BTC por ", - "Create a BTC sell order for ": "Crear orden de venta de BTC por ", - " of {{satoshis}} Satoshis": " de {{satoshis}} Sats", - " at market price":" a precio de mercado", - " at a {{premium}}% premium":" con una prima del {{premium}}%", - " at a {{discount}}% discount":" con descuento del {{discount}}%", - "Must be less than {{max}}%":"Debe ser menos del {{max}}%", - "Must be more than {{min}}%":"Debe ser más del {{min}}%", - "Must be less than {{maxSats}": "Debe ser menos de {{maxSats}}", - "Must be more than {{minSats}}": "Debe ser más de {{minSats}}", - "Store your robot token":"Guarda el token", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"Puede que necesites recuperar tu robot avatar en el futuro: haz una copia de seguridad del token. Puedes simplemente copiarlo en otra aplicación.", - "Done":"Hecho", - "You do not have a robot avatar":"No tienes un avatar robot", - "You need to generate a robot avatar in order to become an order maker":"Necesitas generar un avatar robot antes de crear una orden", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Sin especificar", + "Instant SEPA": "SEPA Instantánea", + "Amazon GiftCard": "Amazon Tarjeta Regalo", + "Amazon ES GiftCard": "Amazon ES Tarjeta Regalo", + "Amazon MX GiftCard": "Amazon MX Tarjeta Regalo", + "Google Play Gift Code": "Google Play Tarjeta Regalo", + "Cash F2F": "Efectivo en persona", + "On-Chain BTC": "On-Chain BTC", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Vende", + "Buyer": "Compra", + "I want to": "Quiero", + "Select Order Type": "Selecciona tipo de orden", + "ANY_type": "TODO", + "ANY_currency": "TODO", + "BUY": "COMPRAR", + "SELL": "VENDER", + "and receive": "y recibir", + "and pay with": "y pagar con", + "and use": "y usar", + "Select Payment Currency": "Selecciona moneda de pago", + "Robot": "Robot", + "Is": "Es", + "Currency": "Moneda", + "Payment Method": "Método de pago", + "Pay": "Pagar", + "Price": "Precio", + "Premium": "Prima", + "You are SELLING BTC for {{currencyCode}}": "VENDER bitcoin por {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "COMPRAR bitcoin por {{currencyCode}}", + "You are looking at all": "Estás viendo todo", + "No orders found to sell BTC for {{currencyCode}}": "No hay órdenes para vender bitcoin por {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "No hay órdenes para comprar bitcoin por {{currencyCode}}", + "Filter has no results": "No hay resultados para este filtro", + "Be the first one to create an order": "Sé el primero en crear una orden", + "Orders per page:": "Órdenes por vista:", + "No rows": "No hay filas", + "No results found.": "No se encontraron resultados.", + "An error occurred.": "Hubo un error.", + "Columns": "Columnas", + "Select columns": "Selecciona columnas", + "Find column": "Buscar columna", + "Column title": "Nombre de columna", + "Reorder column": "Reordenar columnas", + "Show all": "Mostrar todas", + "Hide all": "Ocultar todas", + "Add filter": "Añadir filtro", + "Delete": "Eliminar", + "Logic operator": "Operador lógico", + "Operator": "Operador", + "And": "Y", + "Or": "O", + "Value": "Valor", + "Filter value": "Filtrar valor", + "contains": "contiene", + "equals": "igual a", + "starts with": "empieza con", + "ends with": "termina con", + "is": "es", + "is not": "no es", + "is after": "está detrás", + "is on or after": "está en o detrás", + "is before": "está delante", + "is on or before": "está en o delante", + "is empty": "está vacio", + "is not empty": "no está vacio", + "is any of": "es alguno de", + "any": "alguno", + "true": "verdad", + "false": "falso", + "Menu": "Menu", + "Show columns": "Mostrar columnas", + "Filter": "Filtrar", + "Unsort": "Desordenar", + "Sort by ASC": "Ordenar ascendente", + "Sort by DESC": "Ordenar descendente", + "Sort": "Ordenar", + "Show filters": "Mostrar filtros", + "yes": "si", + "no": "no", + "Depth chart": "Gráfico de profundidad", + "Chart": "Gráfico", - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Sin especificar", - "Instant SEPA":"SEPA Instantánea", - "Amazon GiftCard":"Amazon Tarjeta Regalo", - "Amazon ES GiftCard":"Amazon ES Tarjeta Regalo", - "Amazon MX GiftCard":"Amazon MX Tarjeta Regalo", - "Google Play Gift Code":"Google Play Tarjeta Regalo", - "Cash F2F":"Efectivo en persona", - "On-Chain BTC":"On-Chain BTC", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Estadísticas para nerds", + "LND version": "Versión LND", + "Currently running commit hash": "Hash de la versión actual", + "24h contracted volume": "Volumen contratado en 24h", + "Lifetime contracted volume": "Volumen contratado total", + "Made with": "Hecho con", + "and": "y", + "... somewhere on Earth!": "... en algún lugar de la tierra!", + "Community": "Comunidad", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Sólo se ofrece soporte a través de canales públicos. Únete a nuestra comunidad de Telegram si tienes preguntas o quieres pasar el rato con otros Robots geniales. Por favor, utiliza nuestro GitHub para notificar un error o proponer nuevas funcionalidades.", + "Follow RoboSats in Twitter": "Sigue a RoboSats ", + "Twitter Official Account": "Cuenta oficial en Twitter", + "Join RoboSats Spanish speaking community!": "¡Únete a la comunidad de RoboSats en español!", + "Join RoboSats Russian speaking community!": "¡Únete a la comunidad de RoboSats en ruso!", + "Join RoboSats Chinese speaking community!": "¡Únete a la comunidad de RoboSats en chino!", + "Join RoboSats English speaking community!": "¡Únete a la comunidad de RoboSats en inglés!", + "Tell us about a new feature or a bug": "Propón funcionalidades o notifica errores", + "Github Issues - The Robotic Satoshis Open Source Project": "Issues de GitHub - The Robotic Satoshis Open Source Project", + "Your Profile": "Tu perfil", + "Your robot": "Tu Robot", + "One active order #{{orderID}}": "Ir a orden activa #{{orderID}}", + "Your current order": "Tu orden actual", + "No active orders": "No hay órdenes activas", + "Your token (will not remain here)": "Tu token (no permanecerá aquí)", + "Back it up!": "¡Guárdalo!", + "Cannot remember": "Se olvidó", + "Rewards and compensations": "Recompensas y compensaciones", + "Share to earn 100 Sats per trade": "Comparte para ganar 100 Sats por intercambio", + "Your referral link": "Tu enlace de referidos", + "Your earned rewards": "Tus recompensas ganadas", + "Claim": "Retirar", + "Invoice for {{amountSats}} Sats": "Factura por {{amountSats}} Sats", + "Submit": "Enviar", + "There it goes, thank you!🥇": "Ahí va, ¡gracias!🥇", + "You have an active order": "Tienes una orden activa", + "You can claim satoshis!": "¡Puedes retirar Sats!", + "Public Buy Orders": "Órdenes de compra", + "Public Sell Orders": "Órdenes de venta", + "Today Active Robots": "Robots activos hoy", + "24h Avg Premium": "Prima media en 24h", + "Trade Fee": "Comisión", + "Show community and support links": "Mostrar enlaces de comunidad y soporte", + "Show stats for nerds": "Mostrar estadísticas para nerds", + "Exchange Summary": "Resumen del Exchange", + "Public buy orders": "Órdenes de compra públicas", + "Public sell orders": "Órdenes de venta públicas", + "Book liquidity": "Liquidez en el libro", + "Today active robots": "Robots activos hoy", + "24h non-KYC bitcoin premium": "Prima de bitcoin sin KYC en 24h", + "Maker fee": "Comisión del creador", + "Taker fee": "Comisión del tomador", + "Number of public BUY orders": "Nº de órdenes públicas de COMPRA", + "Number of public SELL orders": "Nº de órdenes públicas de VENTA", + "Your last order #{{orderID}}": "Tu última orden #{{orderID}}", + "Inactive order": "Orden inactiva", + "You do not have previous orders": "No tienes órdenes previas", + "Join RoboSats' Subreddit": "Únete al subreddit de RoboSats", + "RoboSats in Reddit": "RoboSats en Reddit", + "Current onchain payout fee": "Coste actual de recibir onchain", + "Use stealth invoices": "Facturas sigilosas", + "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.": "Las facturas sigilosas no contienen información sobre tu orden excepto una referencia a la misma. Activalas para no desvelar información a tu proveedor de wallet custodial.", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Orden", + "Contract": "Contrato", + "Active": "Activo", + "Seen recently": "Visto recientemente", + "Inactive": "Inactivo", + "(Seller)": "(Vendedor)", + "(Buyer)": "(Comprador)", + "Order maker": "Creador", + "Order taker": "Tomador", + "Order Details": "Detalles", + "Order status": "Estado de la orden", + "Waiting for maker bond": "Esperando la fianza del creador", + "Public": "Pública", + "Waiting for taker bond": "Esperando la fianza del tomador", + "Cancelled": "Cancelada", + "Expired": "Expirada", + "Waiting for trade collateral and buyer invoice": "Esperando el colateral y la factura del comprador", + "Waiting only for seller trade collateral": "Esperando el colateral del vendedor", + "Waiting only for buyer invoice": "Esperando la factura del comprador", + "Sending fiat - In chatroom": "Enviando el fiat - En el chat", + "Fiat sent - In chatroom": "Fiat enviado - En el chat", + "In dispute": "En disputa", + "Collaboratively cancelled": "Cancelada colaborativamente", + "Sending satoshis to buyer": "Enviando Sats al comprador", + "Sucessful trade": "Intercambio exitoso", + "Failed lightning network routing": "Enrutamiento fallido en la red Lightning", + "Wait for dispute resolution": "Espera a la resolución de la disputa", + "Maker lost dispute": "El creador perdió la disputa", + "Taker lost dispute": "El tomador perdió la disputa", + "Amount range": "Rango del monto", + "Swap destination": "Destino del swap", + "Accepted payment methods": "Métodos de pago aceptados", + "Others": "Otros", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%", + "Price and Premium": "Precio y prima", + "Amount of Satoshis": "Cantidad de Sats", + "Premium over market price": "Prima sobre el mercado", + "Order ID": "Orden ID", + "Deposit timer": "Para depositar", + "Expires in": "Expira en", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} solicita cancelar colaborativamente", + "You asked for a collaborative cancellation": "Solicitaste cancelar colaborativamente", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Factura caducada: no confirmaste la publicación de la orden a tiempo. Puedes crear una nueva orden.", + "This order has been cancelled by the maker": "El creador ha cancelado esta orden", + "Invoice expired. You did not confirm taking the order in time.": "La factura retenida ha expirado. Al no bloquearla a tiempo, no has confirmado tomar la orden.", + "Penalty lifted, good to go!": "Sanción revocada, ¡vamos!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "¡No puedes tomar una orden aún! Espera {{timeMin}}m {{timeSec}}s", + "Too low": "Muy poco", + "Too high": "Demasiado", + "Enter amount of fiat to exchange for bitcoin": "Introduce el monto de fiat a cambiar por bitcoin", + "Amount {{currencyCode}}": "Monto {{currencyCode}}", + "You must specify an amount first": "Primero debes especificar el monto", + "Take Order": "Tomar orden", + "Wait until you can take an order": "Espera hasta poder tomar una orden", + "Cancel the order?": "¿Cancelar la orden?", + "If the order is cancelled now you will lose your bond.": "Si cancelas la orden ahora perderás tu fianza.", + "Confirm Cancel": "Confirmar cancelación", + "The maker is away": "El creador está ausente", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Tomando esta orden corres el riesgo de perder el tiempo. Si el creador no procede a tiempo, se te compensará en Sats con el 50% de la fianza del creador.", + "Collaborative cancel the order?": "¿Cancelar la orden colaborativamente?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Dado que el colateral está bloqueado, la orden solo puede cancelarse si tanto el creador como el tomador lo acuerdan.", + "Ask for Cancel": "Solicitar cancelación", + "Cancel": "Cancelar", + "Collaborative Cancel": "Cancelación colaborativa", + "Invalid Order Id": "ID de orden no válida", + "You must have a robot avatar to see the order details": "Debes tener un Robot para ver los detalles de la orden", + "This order has been cancelled collaborativelly": "Esta orden se ha cancelado colaborativamente", + "This order is not available": "Esta orden no está disponible", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Los Satoshis Robóticos del almacén no te entendieron. Por favor rellena un Bug Issue en Github https://github.com/reckless-satoshi/robosats/issues", + "WebLN": "WebLN", + "Payment not received, please check your WebLN wallet.": "No se ha recibido el pago, echa un vistazo a tu wallet WebLN.", + "Invoice not received, please check your WebLN wallet.": "No se ha recibido la factura, echa un vistazo a tu wallet WebLN.", + "You can close now your WebLN wallet popup.": "Ahora puedes cerrar el popup de tu wallet WebLN.", - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Vende", - "Buyer":"Compra", - "I want to":"Quiero", - "Select Order Type":"Selecciona tipo de orden", - "ANY_type": "TODO", - "ANY_currency": "TODO", - "BUY":"COMPRAR", - "SELL":"VENDER", - "and receive":"y recibir", - "and pay with":"y pagar con", - "and use":"y usar", - "Select Payment Currency":"Selecciona moneda de pago", - "Robot":"Robot", - "Is":"Es", - "Currency":"Moneda", - "Payment Method":"Método de pago", - "Pay": "Pagar", - "Price":"Precio", - "Premium":"Prima", - "You are SELLING BTC for {{currencyCode}}": "VENDER bitcoin por {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}": "COMPRAR bitcoin por {{currencyCode}}", - "You are looking at all": "Estás viendo todo", - "No orders found to sell BTC for {{currencyCode}}": "No hay órdenes para vender bitcoin por {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}": "No hay órdenes para comprar bitcoin por {{currencyCode}}", - "Filter has no results":"No hay resultados para este filtro", - "Be the first one to create an order":"Sé el primero en crear una orden", - "Orders per page:":"Órdenes por vista:", - "No rows":"No hay filas", - "No results found.":"No se encontraron resultados.", - "An error occurred.":"Hubo un error.", - "Columns":"Columnas", - "Select columns":"Selecciona columnas", - "Find column":"Buscar columna", - "Column title":"Nombre de columna", - "Reorder column":"Reordenar columnas", - "Show all":"Mostrar todas", - "Hide all":"Ocultar todas", - "Add filter":"Añadir filtro", - "Delete":"Eliminar", - "Logic operator":"Operador lógico", - "Operator":"Operador", - "And":"Y", - "Or":"O", - "Value":"Valor", - "Filter value":"Filtrar valor", - "contains":"contiene", - "equals":"igual a", - "starts with":"empieza con", - "ends with":"termina con", - "is":"es", - "is not":"no es", - "is after":"está detrás", - "is on or after":"está en o detrás", - "is before":"está delante", - "is on or before":"está en o delante", - "is empty":"está vacio", - "is not empty":"no está vacio", - "is any of":"es alguno de", - "any":"alguno", - "true":"verdad", - "false":"falso", - "Menu":"Menu", - "Show columns":"Mostrar columnas", - "Filter":"Filtrar", - "Unsort":"Desordenar", - "Sort by ASC":"Ordenar ascendente", - "Sort by DESC":"Ordenar descendente", - "Sort":"Ordenar", - "Show filters":"Mostrar filtros", - "yes":"si", - "no":"no", - "Depth chart": "Gráfico de profundidad", - "Chart": "Gráfico", + "CHAT BOX - Chat.js": "Ventana del chat", + "You": "Tú", + "Peer": "Él", + "connected": "conectado", + "disconnected": "desconectado", + "Type a message": "Escribe un mensaje", + "Connecting...": "Conectando...", + "Send": "Enviar", + "Verify your privacy": "Verifica tu privacidad", + "Audit PGP": "Auditar", + "Save full log as a JSON file (messages and credentials)": "Guardar el log completo como JSON (credenciales y mensajes)", + "Export": "Exporta", + "Don't trust, verify": "No confíes, verifica", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Tu comunicación se encripta de punta-a-punta con OpenPGP. Puedes verificar la privacida de este chat con cualquier herramienta de tercero basada en el estandar PGP.", + "Learn how to verify": "Aprende a verificar", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Esta es tu llave pública PGP. Tu contraparte la usa para encriptar mensajes que sólo tú puedes leer.", + "Your public key": "Tu llave pública", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "La llave pública PGP de tu contraparte. La usas para encriptar mensajes que solo él puede leer y verificar que es él quíen firmó los mensajes que recibes.", + "Peer public key": "Llave pública de tu contraparte", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Tu llave privada PGP encriptada. La usas para desencriptar los mensajes que tu contraparte te envia. También la usas para firmar los mensajes que le envias.", + "Your encrypted private key": "Tu llave privada encriptada", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "La contraseña para desencriptar tu llave privada. ¡Solo tú la sabes! Mantenla en secreto. También es el token de tu robot.", + "Your private key passphrase (keep secure!)": "La contraseña de tu llave privada ¡Mantener segura!", + "Save credentials as a JSON file": "Guardar credenciales como achivo JSON", + "Keys": "Llaves", + "Save messages as a JSON file": "Guardar mensajes como archivo JSON", + "Messages": "Mensajes", + "Verified signature by {{nickname}}": "Firma de {{nickname}} verificada", + "Cannot verify signature of {{nickname}}": "No se pudo verificar la firma de {{nickname}}", - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Estadísticas para nerds", - "LND version":"Versión LND", - "Currently running commit hash": "Hash de la versión actual", - "24h contracted volume":"Volumen contratado en 24h", - "Lifetime contracted volume":"Volumen contratado total", - "Made with":"Hecho con", - "and":"y", - "... somewhere on Earth!": "... en algún lugar de la tierra!", - "Community":"Comunidad", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Sólo se ofrece soporte a través de canales públicos. Únete a nuestra comunidad de Telegram si tienes preguntas o quieres pasar el rato con otros Robots geniales. Por favor, utiliza nuestro GitHub para notificar un error o proponer nuevas funcionalidades.", - "Follow RoboSats in Twitter":"Sigue a RoboSats ", - "Twitter Official Account":"Cuenta oficial en Twitter", - "Join RoboSats Spanish speaking community!": "¡Únete a la comunidad de RoboSats en español!", - "Join RoboSats Russian speaking community!": "¡Únete a la comunidad de RoboSats en ruso!", - "Join RoboSats Chinese speaking community!": "¡Únete a la comunidad de RoboSats en chino!", - "Join RoboSats English speaking community!": "¡Únete a la comunidad de RoboSats en inglés!", - "Tell us about a new feature or a bug":"Propón funcionalidades o notifica errores", - "Github Issues - The Robotic Satoshis Open Source Project": "Issues de GitHub - The Robotic Satoshis Open Source Project", - "Your Profile":"Tu perfil", - "Your robot": "Tu Robot", - "One active order #{{orderID}}":"Ir a orden activa #{{orderID}}", - "Your current order":"Tu orden actual", - "No active orders":"No hay órdenes activas", - "Your token (will not remain here)":"Tu token (no permanecerá aquí)", - "Back it up!":"¡Guárdalo!", - "Cannot remember":"Se olvidó", - "Rewards and compensations":"Recompensas y compensaciones", - "Share to earn 100 Sats per trade": "Comparte para ganar 100 Sats por intercambio", - "Your referral link":"Tu enlace de referidos", - "Your earned rewards":"Tus recompensas ganadas", - "Claim":"Retirar", - "Invoice for {{amountSats}} Sats": "Factura por {{amountSats}} Sats", - "Submit":"Enviar", - "There it goes, thank you!🥇": "Ahí va, ¡gracias!🥇", - "You have an active order":"Tienes una orden activa", - "You can claim satoshis!": "¡Puedes retirar Sats!", - "Public Buy Orders":"Órdenes de compra", - "Public Sell Orders":"Órdenes de venta", - "Today Active Robots":"Robots activos hoy", - "24h Avg Premium": "Prima media en 24h", - "Trade Fee":"Comisión", - "Show community and support links":"Mostrar enlaces de comunidad y soporte", - "Show stats for nerds":"Mostrar estadísticas para nerds", - "Exchange Summary":"Resumen del Exchange", - "Public buy orders":"Órdenes de compra públicas", - "Public sell orders":"Órdenes de venta públicas", - "Book liquidity":"Liquidez en el libro", - "Today active robots":"Robots activos hoy", - "24h non-KYC bitcoin premium": "Prima de bitcoin sin KYC en 24h", - "Maker fee":"Comisión del creador", - "Taker fee":"Comisión del tomador", - "Number of public BUY orders": "Nº de órdenes públicas de COMPRA", - "Number of public SELL orders": "Nº de órdenes públicas de VENTA", - "Your last order #{{orderID}}":"Tu última orden #{{orderID}}", - "Inactive order":"Orden inactiva", - "You do not have previous orders":"No tienes órdenes previas", - "Join RoboSats' Subreddit":"Únete al subreddit de RoboSats", - "RoboSats in Reddit":"RoboSats en Reddit", - "Current onchain payout fee":"Coste actual de recibir onchain", - "Use stealth invoices":"Facturas sigilosas", - "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.":"Las facturas sigilosas no contienen información sobre tu orden excepto una referencia a la misma. Activalas para no desvelar información a tu proveedor de wallet custodial.", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Contrato", + "Robots show commitment to their peers": "Los Robots deben mostrar su compromiso", + "Lock {{amountSats}} Sats to PUBLISH order": "Bloquea {{amountSats}} Sats para PUBLICAR", + "Lock {{amountSats}} Sats to TAKE order": "Bloquea {{amountSats}} Sats para TOMAR", + "Lock {{amountSats}} Sats as collateral": "Bloquea {{amountSats}} Sats como colateral", + "Copy to clipboard": "Copiar al portapapeles", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Esto es una factura retenida, los Sats se bloquean en tu cartera. Solo se cobrará si cancelas o pierdes una disputa.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Esto es una factura retenida, los Sats se bloquean en tu cartera. Será liberada al comprador al confirmar que has recibido {{currencyCode}}.", + "Your maker bond is locked": "Tu fianza de creador está bloqueada", + "Your taker bond is locked": "Tu fianza de tomador está bloqueada", + "Your maker bond was settled": "Tu fianza se ha cobrado", + "Your taker bond was settled": "Tu fianza se ha cobrado", + "Your maker bond was unlocked": "Tu fianza se ha desbloqueado", + "Your taker bond was unlocked": "Tu fianza se ha desbloqueado", + "Your order is public": "Tu orden es pública", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Se paciente hasta que un robot tome tu orden. Esta ventana sonará 🔊 una vez que algún Robot tome tu orden. Entonces tendrás {{deposit_timer_hours}}h {{deposit_timer_minutes}}min para responder, si no respondes te arriesgas a perder tu fianza.", + "If the order expires untaken, your bond will return to you (no action needed).": "Si tu oferta expira sin ser tomada, tu fianza será desbloqueada en tu cartera automáticamente.", + "Enable Telegram Notifications": "Notificar en Telegram", + "Enable TG Notifications": "Activar Notificaciones TG", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Serás llevado a un chat con el bot de Telegram de RoboSats. Simplemente pulsa Empezar. Ten en cuenta que si activas las notificaciones de Telegram reducirás tu anonimato.", + "Go back": "Volver", + "Enable": "Activar", + "Telegram enabled": "Telegram activado", + "Public orders for {{currencyCode}}": "Órdenes públicas por {{currencyCode}}", + "Premium rank": "Percentil de la prima", + "Among public {{currencyCode}} orders (higher is cheaper)": "Entre las órdenes públicas de {{currencyCode}} (más alto, más barato)", + "A taker has been found!": "¡Un tomador ha sido encontrado!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Por favor, espera a que el tomador bloquee su fianza. Si no lo hace a tiempo, la orden será pública de nuevo.", + "Payout Lightning Invoice": "Factura Lightning", + "Your info looks good!": "¡Info del envio recibida!", + "We are waiting for the seller lock the trade amount.": "Esperando a que el vendedor bloquee el colateral.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Espera un momento. Si el vendedor no deposita, recuperarás tu fianza automáticamente. Además, recibirás una compensación (comprueba las recompensas en tu perfil).", + "The trade collateral is locked!": "¡El colateral está bloqueado!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Estamos esperando a que el comprador envíe una factura Lightning. Cuando lo haga, podrás comunicarle directamente los detalles del pago en fiat.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Espera un momento. Si el comprador no coopera, se te devolverá el colateral y tu fianza automáticamente. Además, recibiras una compensación (comprueba las recompensas en tu perfil).", + "Confirm {{amount}} {{currencyCode}} sent": "Confirmar {{amount}} {{currencyCode}} enviado", + "Confirm {{amount}} {{currencyCode}} received": "Confirmar {{amount}} {{currencyCode}} recibido", + "Open Dispute": "Abrir Disputa", + "The order has expired": "La orden ha expirado", + "Chat with the buyer": "Habla con el comprador", + "Chat with the seller": "Habla con el vendedor", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "¡Di hola! Sé claro y conciso. Escríbele como puede enviarte {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "El comprador a enviado el fiat. Presiona 'Confirmar recibido' cuando lo hayas recibido.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "¡Di hola! Pide los detalles de pago y pulsa 'Confirmar enviado' en cuanto pagues.", + "Wait for the seller to confirm he has received the payment.": "Espera a que el vendedor confirme que ha recibido el pago.", + "Confirm you received {{amount}} {{currencyCode}}?": "¿Confirmas que has recibido {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Confirmando que has recibido el fiat finalizará el intercambio. Los Sats del colateral se enviarán al comparador. Confirma sólo después de asegurar que te ha llegado {{amount}} {{currencyCode}}. Además, si lo has recibido {{currencyCode}} y no confirmas la recepción, te arriesgas a perder tu fianza.", + "Confirm": "Confirmar", + "Trade finished!": "¡Intercambio finalizado!", + "rate_robosats": "¿Qué opinas de <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "¡Muchas gracias! RoboSats también te ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats mejora con más liquidez y usuarios. ¡Cuéntale a un amigo bitcoiner sobre RoboSats!", + "Thank you for using Robosats!": "¡Gracias por usar RoboSats!", + "let_us_know_hot_to_improve": "Dinos cómo podría mejorar la plataforma (<1>Telegram / <3>Github)", + "Start Again": "Empezar de nuevo", + "Attempting Lightning Payment": "Intentando el pago Lightning", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats está intentando pagar tu factura de Lightning. Recuerda que los nodos Lightning deben estar en línea para recibir pagos.", + "Retrying!": "¡Reintentando!", + "Lightning Routing Failed": "Fallo en el enrutamiento de Lightning", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Tu factura ha expirado o se han hecho más de 3 intentos de pago. Entrega una nueva factura.", + "Check the list of compatible wallets": "Mira la lista de carteras compatibles", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats intentará pagar tu factura 3 veces con una pausa de un minuto entre intento. Si sigue fallando, podrás presentar una nueva factura. Comprueba si tienes suficiente liquidez entrante. Recuerda que los nodos de Lightning tienen que estar en línea para poder recibir pagos.", + "Next attempt in": "Próximo intento en", + "Do you want to open a dispute?": "¿Quieres abrir una disputa?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "El equipo de RoboSats examinará las declaraciones y evidencias presentadas. Como el equipo no puede leer el chat, necesitas escribir una declaració completa y exhaustiva. Es mejor dar un método de contacto de usar y tirar con tu declaración. Los Sats del colateral serán enviados al ganador de la disputa, mientras que el perdedor perderá la fianza.", + "Disagree": "Volver", + "Agree and open dispute": "Abrir disputa", + "A dispute has been opened": "Una disputa ha sido abierta", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Por favor, presenta tu declaración. Se claro y conciso sobre que pasó y entrega la evidencia necesaria. DEBES dar un metodo de contacto para comunicarte con el equipo: método de contacto de usar y tirar, XMPP o usuario de Telegram. Las disputas son resueltas con la discreción de los Robots reales (también conocidos como humanos), así que ayuda en lo posible para asegurar un resultado justo. 5000 caracteres máx.", + "Submit dispute statement": "Presentar declaración", + "We have received your statement": "Hemos recibido tu declaración", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Estamos esperando la declaración de tu compañero. Si dudas sobre el estado de la disputa o quieres añadir más información, contacta en robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Por favor, guarda la información necesaria para identificar tu orden y tus pagos: ID de orden; claves del pago de la fianza o el colateral (comprueba tu cartera Lightning); cantidad exacta de Sats; y nombre del Robot. Tendrás que identificarte como el usuario involucrado en este intercambio por email (u otro método de contacto).", + "We have the statements": "Tenemos la declaración", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Ambas declaraciones se han recibido, espera a que el equipo resuelva la disputa. Si dudas sobre el estado de la disputa o quieres añadir información, contacta con robosats@protonmail.com. Si no diste un método de contacto, o dudas de si lo escribiste bien, escríbenos inmediatamente.", + "You have won the dispute": "Has ganado la disputa", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Puedes retirar la cantidad de la resolución de la disputa (fianza y colateral) desde las recompensas de tu perfil. Si hay algo que el equipo pueda hacer, no dudes en contactar con robosats@protonmail.com (o a través del método de contacto de usar y tirar que especificaste).", + "You have lost the dispute": "Has perdido la disputa", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Desafortunadamente has perdido la disputa. Si piensas que es un error también puedes pedir reabrir el caso por email a robosats@protonmail.com. De todas formas, las probabilidades de ser investigado de nuevo son bajas.", + "Expired not taken": "Expiró sin ser tomada", + "Maker bond not locked": "La fianza del creador no fue bloqueada", + "Escrow not locked": "El depósito de garantía no fue bloqueado", + "Invoice not submitted": "No se entregó factura del comprado", + "Neither escrow locked or invoice submitted": "Ni el depósito de garantía fue bloqueado ni se entregó factura del comprador", + "Renew Order": "Renovar Orden", + "Pause the public order": "Pausar la orden pública", + "Your order is paused": "Tu orden está en pausa", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Tu orden pública fue pausada. Ahora mismo, la orden no puede ser vista ni tomada por otros robots. Puedes volver a activarla cuando desees.", + "Unpause Order": "Activar Orden", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Si no bloqueas el colateral te arriesgas a perder tu fianza. Dispones en total de {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "Ver billeteras compatibles", + "Failure reason:": "Razón del fallo:", + "Payment isn't failed (yet)": "El pago no ha fallado aún", + "There are more routes to try, but the payment timeout was exceeded.": "Quedan rutas por probar, pero el tiempo máximo del intento ha sido excedido.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Todas las rutas posibles han sido probadas y han fallado de forma permanente. O quizá no había ninguna ruta.", + "A non-recoverable error has occurred.": "A non-recoverable error has occurred.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Los detalles del pago son incorrectos (hash desconocido, cantidad inválida o CLTV delta final inválido).", + "Insufficient unlocked balance in RoboSats' node.": "Balance libre de ser usado en el nodo de RoboSats insuficiente.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "La factura entregada parece solo tener rutas ocultas muy caras, estas usando una billetera incomptable(¿Quizás Muun?). Echa un vistazo a la lista de billeteras compatibles en wallets.robosats.com", + "The invoice provided has no explicit amount": "La factura entregada no contiene una cantidad explícita", + "Does not look like a valid lightning invoice": "No parece ser una factura lightning válida", + "The invoice provided has already expired": "La factura que has entregado ya ha caducado", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Asegurate de EXPORTAR el registro del chat. Los administradores pueden pedirte el registro del chat en caso de discrepancias. Es tu responsabilidad proveerlo.", + "Invalid address": "Dirección inválida", + "Unable to validate address, check bitcoind backend": "No ha sido posible validar la dirección, comprobar el backend bitcoind", + "Submit payout info for {{amountSats}} Sats": "Envia info para recibir {{amountSats}} Sats", + "Submit a valid invoice for {{amountSats}} Satoshis.": "Envía una factura por {{amountSats}} Sats", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "Antes de dejarte enviar {{amountFiat}} {{currencyCode}}, queremos asegurarnos de que puedes recibir BTC.", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats hará un swap y enviará los Sats a tu dirección en la cadena.", + "Swap fee": "Comisión del swap", + "Mining fee": "Comisión minera", + "Mining Fee": "Comisión Minera", + "Final amount you will receive": "Monto final que vas a recibir", + "Bitcoin Address": "Dirección Bitcoin", + "Your TXID": "Tu TXID", + "Lightning": "Lightning", + "Onchain": "Onchain", + "open_dispute": "Para abrir una disputa debes esperar <1><1/>", + "Trade Summary": "Resumen del intercambio", + "Maker": "Creador", + "Taker": "Tomador", + "User role": "Operación", + "Sent": "Enviado", + "Received": "Recibido", + "BTC received": "BTC recibido", + "BTC sent": "BTC enviado", + "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)": "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", + "Trade fee": "Comisión", + "{{swapFeeSats}} Sats ({{swapFeePercent}}%)": "{{swapFeeSats}} Sats ({{swapFeePercent}}%)", + "Onchain swap fee": "Coste swap onchain", + "{{miningFeeSats}} Sats": "{{miningFeeSats}} Sats", + "{{bondSats}} Sats ({{bondPercent}}%)": "{{bondSats}} Sats ({{bondPercent}}%)", + "Maker bond": "Fianza de creador", + "Taker bond": "Fianza de tomador", + "Unlocked": "Desbloqueada", + "{{revenueSats}} Sats": "{{revenueSats}} Sats", + "Platform trade revenue": "Beneficio de la plataforma", + "{{routingFeeSats}} MiliSats": "{{routingFeeSats}} MiliSats", + "Platform covered routing fee": "Coste de enrutado cubierto", + "Timestamp": "Marca de hora", + "Completed in": "Completado en", + "Contract exchange rate": "Tasa de cambio del contrato", - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box": "Orden", - "Contract":"Contrato", - "Active":"Activo", - "Seen recently":"Visto recientemente", - "Inactive":"Inactivo", - "(Seller)":"(Vendedor)", - "(Buyer)":"(Comprador)", - "Order maker": "Creador", - "Order taker": "Tomador", - "Order Details":"Detalles", - "Order status":"Estado de la orden", - "Waiting for maker bond":"Esperando la fianza del creador", - "Public":"Pública", - "Waiting for taker bond":"Esperando la fianza del tomador", - "Cancelled":"Cancelada", - "Expired":"Expirada", - "Waiting for trade collateral and buyer invoice": "Esperando el colateral y la factura del comprador", - "Waiting only for seller trade collateral": "Esperando el colateral del vendedor", - "Waiting only for buyer invoice": "Esperando la factura del comprador", - "Sending fiat - In chatroom":"Enviando el fiat - En el chat", - "Fiat sent - In chatroom":"Fiat enviado - En el chat", - "In dispute":"En disputa", - "Collaboratively cancelled":"Cancelada colaborativamente", - "Sending satoshis to buyer": "Enviando Sats al comprador", - "Sucessful trade":"Intercambio exitoso", - "Failed lightning network routing":"Enrutamiento fallido en la red Lightning", - "Wait for dispute resolution":"Espera a la resolución de la disputa", - "Maker lost dispute":"El creador perdió la disputa", - "Taker lost dispute":"El tomador perdió la disputa", - "Amount range":"Rango del monto", - "Swap destination": "Destino del swap", - "Accepted payment methods":"Métodos de pago aceptados", - "Others":"Otros", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%", - "Price and Premium":"Precio y prima", - "Amount of Satoshis": "Cantidad de Sats", - "Premium over market price":"Prima sobre el mercado", - "Order ID":"Orden ID", - "Deposit timer":"Para depositar", - "Expires in":"Expira en", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} solicita cancelar colaborativamente", - "You asked for a collaborative cancellation":"Solicitaste cancelar colaborativamente", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Factura caducada: no confirmaste la publicación de la orden a tiempo. Puedes crear una nueva orden.", - "This order has been cancelled by the maker":"El creador ha cancelado esta orden", - "Invoice expired. You did not confirm taking the order in time.":"La factura retenida ha expirado. Al no bloquearla a tiempo, no has confirmado tomar la orden.", - "Penalty lifted, good to go!":"Sanción revocada, ¡vamos!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"¡No puedes tomar una orden aún! Espera {{timeMin}}m {{timeSec}}s", - "Too low": "Muy poco", - "Too high":"Demasiado", - "Enter amount of fiat to exchange for bitcoin": "Introduce el monto de fiat a cambiar por bitcoin", - "Amount {{currencyCode}}":"Monto {{currencyCode}}", - "You must specify an amount first":"Primero debes especificar el monto", - "Take Order":"Tomar orden", - "Wait until you can take an order":"Espera hasta poder tomar una orden", - "Cancel the order?": "¿Cancelar la orden?", - "If the order is cancelled now you will lose your bond.": "Si cancelas la orden ahora perderás tu fianza.", - "Confirm Cancel":"Confirmar cancelación", - "The maker is away": "El creador está ausente", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Tomando esta orden corres el riesgo de perder el tiempo. Si el creador no procede a tiempo, se te compensará en Sats con el 50% de la fianza del creador.", - "Collaborative cancel the order?":"¿Cancelar la orden colaborativamente?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Dado que el colateral está bloqueado, la orden solo puede cancelarse si tanto el creador como el tomador lo acuerdan.", - "Ask for Cancel":"Solicitar cancelación", - "Cancel":"Cancelar", - "Collaborative Cancel":"Cancelación colaborativa", - "Invalid Order Id": "ID de orden no válida", - "You must have a robot avatar to see the order details": "Debes tener un Robot para ver los detalles de la orden", - "This order has been cancelled collaborativelly":"Esta orden se ha cancelado colaborativamente", - "This order is not available": "Esta orden no está disponible", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Los Satoshis Robóticos del almacén no te entendieron. Por favor rellena un Bug Issue en Github https://github.com/reckless-satoshi/robosats/issues", - "WebLN": "WebLN", - "Payment not received, please check your WebLN wallet.": "No se ha recibido el pago, echa un vistazo a tu wallet WebLN.", - "Invoice not received, please check your WebLN wallet.": "No se ha recibido la factura, echa un vistazo a tu wallet WebLN.", - "You can close now your WebLN wallet popup.": "Ahora puedes cerrar el popup de tu wallet WebLN.", - - "CHAT BOX - Chat.js": "Ventana del chat", - "You": "Tú", - "Peer": "Él", - "connected": "conectado", - "disconnected": "desconectado", - "Type a message": "Escribe un mensaje", - "Connecting...": "Conectando...", - "Send": "Enviar", - "Verify your privacy":"Verifica tu privacidad", - "Audit PGP":"Auditar", - "Save full log as a JSON file (messages and credentials)":"Guardar el log completo como JSON (credenciales y mensajes)", - "Export":"Exporta", - "Don't trust, verify":"No confíes, verifica", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"Tu comunicación se encripta de punta-a-punta con OpenPGP. Puedes verificar la privacida de este chat con cualquier herramienta de tercero basada en el estandar PGP.", - "Learn how to verify":"Aprende a verificar", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"Esta es tu llave pública PGP. Tu contraparte la usa para encriptar mensajes que sólo tú puedes leer.", - "Your public key":"Tu llave pública", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"La llave pública PGP de tu contraparte. La usas para encriptar mensajes que solo él puede leer y verificar que es él quíen firmó los mensajes que recibes.", - "Peer public key":"Llave pública de tu contraparte", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"Tu llave privada PGP encriptada. La usas para desencriptar los mensajes que tu contraparte te envia. También la usas para firmar los mensajes que le envias.", - "Your encrypted private key":"Tu llave privada encriptada", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"La contraseña para desencriptar tu llave privada. ¡Solo tú la sabes! Mantenla en secreto. También es el token de tu robot.", - "Your private key passphrase (keep secure!)":"La contraseña de tu llave privada ¡Mantener segura!", - "Save credentials as a JSON file":"Guardar credenciales como achivo JSON", - "Keys":"Llaves", - "Save messages as a JSON file":"Guardar mensajes como archivo JSON", - "Messages":"Mensajes", - "Verified signature by {{nickname}}":"Firma de {{nickname}} verificada", - "Cannot verify signature of {{nickname}}":"No se pudo verificar la firma de {{nickname}}", - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box": "Contrato", - "Robots show commitment to their peers": "Los Robots deben mostrar su compromiso", - "Lock {{amountSats}} Sats to PUBLISH order": "Bloquea {{amountSats}} Sats para PUBLICAR", - "Lock {{amountSats}} Sats to TAKE order": "Bloquea {{amountSats}} Sats para TOMAR", - "Lock {{amountSats}} Sats as collateral": "Bloquea {{amountSats}} Sats como colateral", - "Copy to clipboard": "Copiar al portapapeles", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Esto es una factura retenida, los Sats se bloquean en tu cartera. Solo se cobrará si cancelas o pierdes una disputa.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Esto es una factura retenida, los Sats se bloquean en tu cartera. Será liberada al comprador al confirmar que has recibido {{currencyCode}}.", - "Your maker bond is locked": "Tu fianza de creador está bloqueada", - "Your taker bond is locked": "Tu fianza de tomador está bloqueada", - "Your maker bond was settled": "Tu fianza se ha cobrado", - "Your taker bond was settled": "Tu fianza se ha cobrado", - "Your maker bond was unlocked": "Tu fianza se ha desbloqueado", - "Your taker bond was unlocked": "Tu fianza se ha desbloqueado", - "Your order is public": "Tu orden es pública", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Se paciente hasta que un robot tome tu orden. Esta ventana sonará 🔊 una vez que algún Robot tome tu orden. Entonces tendrás {{deposit_timer_hours}}h {{deposit_timer_minutes}}min para responder, si no respondes te arriesgas a perder tu fianza.", - "If the order expires untaken, your bond will return to you (no action needed).": "Si tu oferta expira sin ser tomada, tu fianza será desbloqueada en tu cartera automáticamente.", - "Enable Telegram Notifications": "Notificar en Telegram", - "Enable TG Notifications": "Activar Notificaciones TG", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Serás llevado a un chat con el bot de Telegram de RoboSats. Simplemente pulsa Empezar. Ten en cuenta que si activas las notificaciones de Telegram reducirás tu anonimato.", - "Go back": "Volver", - "Enable": "Activar", - "Telegram enabled": "Telegram activado", - "Public orders for {{currencyCode}}": "Órdenes públicas por {{currencyCode}}", - "Premium rank": "Percentil de la prima", - "Among public {{currencyCode}} orders (higher is cheaper)": "Entre las órdenes públicas de {{currencyCode}} (más alto, más barato)", - "A taker has been found!": "¡Un tomador ha sido encontrado!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Por favor, espera a que el tomador bloquee su fianza. Si no lo hace a tiempo, la orden será pública de nuevo.", - "Payout Lightning Invoice": "Factura Lightning", - "Your info looks good!": "¡Info del envio recibida!", - "We are waiting for the seller lock the trade amount.": "Esperando a que el vendedor bloquee el colateral.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Espera un momento. Si el vendedor no deposita, recuperarás tu fianza automáticamente. Además, recibirás una compensación (comprueba las recompensas en tu perfil).", - "The trade collateral is locked!": "¡El colateral está bloqueado!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Estamos esperando a que el comprador envíe una factura Lightning. Cuando lo haga, podrás comunicarle directamente los detalles del pago en fiat.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Espera un momento. Si el comprador no coopera, se te devolverá el colateral y tu fianza automáticamente. Además, recibiras una compensación (comprueba las recompensas en tu perfil).", - "Confirm {{amount}} {{currencyCode}} sent": "Confirmar {{amount}} {{currencyCode}} enviado", - "Confirm {{amount}} {{currencyCode}} received": "Confirmar {{amount}} {{currencyCode}} recibido", - "Open Dispute": "Abrir Disputa", - "The order has expired": "La orden ha expirado", - "Chat with the buyer": "Habla con el comprador", - "Chat with the seller": "Habla con el vendedor", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "¡Di hola! Sé claro y conciso. Escríbele como puede enviarte {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "El comprador a enviado el fiat. Presiona 'Confirmar recibido' cuando lo hayas recibido.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "¡Di hola! Pide los detalles de pago y pulsa 'Confirmar enviado' en cuanto pagues.", - "Wait for the seller to confirm he has received the payment.": "Espera a que el vendedor confirme que ha recibido el pago.", - "Confirm you received {{amount}} {{currencyCode}}?": "¿Confirmas que has recibido {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Confirmando que has recibido el fiat finalizará el intercambio. Los Sats del colateral se enviarán al comparador. Confirma sólo después de asegurar que te ha llegado {{amount}} {{currencyCode}}. Además, si lo has recibido {{currencyCode}} y no confirmas la recepción, te arriesgas a perder tu fianza.", - "Confirm": "Confirmar", - "Trade finished!": "¡Intercambio finalizado!", - "rate_robosats": "¿Qué opinas de <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️": "¡Muchas gracias! RoboSats también te ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats mejora con más liquidez y usuarios. ¡Cuéntale a un amigo bitcoiner sobre RoboSats!", - "Thank you for using Robosats!": "¡Gracias por usar RoboSats!", - "let_us_know_hot_to_improve": "Dinos cómo podría mejorar la plataforma (<1>Telegram / <3>Github)", - "Start Again": "Empezar de nuevo", - "Attempting Lightning Payment": "Intentando el pago Lightning", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats está intentando pagar tu factura de Lightning. Recuerda que los nodos Lightning deben estar en línea para recibir pagos.", - "Retrying!": "¡Reintentando!", - "Lightning Routing Failed": "Fallo en el enrutamiento de Lightning", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Tu factura ha expirado o se han hecho más de 3 intentos de pago. Entrega una nueva factura.", - "Check the list of compatible wallets": "Mira la lista de carteras compatibles", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats intentará pagar tu factura 3 veces con una pausa de un minuto entre intento. Si sigue fallando, podrás presentar una nueva factura. Comprueba si tienes suficiente liquidez entrante. Recuerda que los nodos de Lightning tienen que estar en línea para poder recibir pagos.", - "Next attempt in": "Próximo intento en", - "Do you want to open a dispute?": "¿Quieres abrir una disputa?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "El equipo de RoboSats examinará las declaraciones y evidencias presentadas. Como el equipo no puede leer el chat, necesitas escribir una declaració completa y exhaustiva. Es mejor dar un método de contacto de usar y tirar con tu declaración. Los Sats del colateral serán enviados al ganador de la disputa, mientras que el perdedor perderá la fianza.", - "Disagree": "Volver", - "Agree and open dispute": "Abrir disputa", - "A dispute has been opened": "Una disputa ha sido abierta", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Por favor, presenta tu declaración. Se claro y conciso sobre que pasó y entrega la evidencia necesaria. DEBES dar un metodo de contacto para comunicarte con el equipo: método de contacto de usar y tirar, XMPP o usuario de Telegram. Las disputas son resueltas con la discreción de los Robots reales (también conocidos como humanos), así que ayuda en lo posible para asegurar un resultado justo. 5000 caracteres máx.", - "Submit dispute statement": "Presentar declaración", - "We have received your statement": "Hemos recibido tu declaración", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Estamos esperando la declaración de tu compañero. Si dudas sobre el estado de la disputa o quieres añadir más información, contacta en robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Por favor, guarda la información necesaria para identificar tu orden y tus pagos: ID de orden; claves del pago de la fianza o el colateral (comprueba tu cartera Lightning); cantidad exacta de Sats; y nombre del Robot. Tendrás que identificarte como el usuario involucrado en este intercambio por email (u otro método de contacto).", - "We have the statements": "Tenemos la declaración", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Ambas declaraciones se han recibido, espera a que el equipo resuelva la disputa. Si dudas sobre el estado de la disputa o quieres añadir información, contacta con robosats@protonmail.com. Si no diste un método de contacto, o dudas de si lo escribiste bien, escríbenos inmediatamente.", - "You have won the dispute": "Has ganado la disputa", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Puedes retirar la cantidad de la resolución de la disputa (fianza y colateral) desde las recompensas de tu perfil. Si hay algo que el equipo pueda hacer, no dudes en contactar con robosats@protonmail.com (o a través del método de contacto de usar y tirar que especificaste).", - "You have lost the dispute": "Has perdido la disputa", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Desafortunadamente has perdido la disputa. Si piensas que es un error también puedes pedir reabrir el caso por email a robosats@protonmail.com. De todas formas, las probabilidades de ser investigado de nuevo son bajas.", - "Expired not taken":"Expiró sin ser tomada", - "Maker bond not locked":"La fianza del creador no fue bloqueada", - "Escrow not locked":"El depósito de garantía no fue bloqueado", - "Invoice not submitted":"No se entregó factura del comprado", - "Neither escrow locked or invoice submitted":"Ni el depósito de garantía fue bloqueado ni se entregó factura del comprador", - "Renew Order":"Renovar Orden", - "Pause the public order":"Pausar la orden pública", - "Your order is paused":"Tu orden está en pausa", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"Tu orden pública fue pausada. Ahora mismo, la orden no puede ser vista ni tomada por otros robots. Puedes volver a activarla cuando desees.", - "Unpause Order":"Activar Orden", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"Si no bloqueas el colateral te arriesgas a perder tu fianza. Dispones en total de {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets":"Ver billeteras compatibles", - "Failure reason:":"Razón del fallo:", - "Payment isn't failed (yet)":"El pago no ha fallado aún", - "There are more routes to try, but the payment timeout was exceeded.":"Quedan rutas por probar, pero el tiempo máximo del intento ha sido excedido.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"Todas las rutas posibles han sido probadas y han fallado de forma permanente. O quizá no había ninguna ruta.", - "A non-recoverable error has occurred.":"A non-recoverable error has occurred.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"Los detalles del pago son incorrectos (hash desconocido, cantidad inválida o CLTV delta final inválido).", - "Insufficient unlocked balance in RoboSats' node.":"Balance libre de ser usado en el nodo de RoboSats insuficiente.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"La factura entregada parece solo tener rutas ocultas muy caras, estas usando una billetera incomptable(¿Quizás Muun?). Echa un vistazo a la lista de billeteras compatibles en wallets.robosats.com", - "The invoice provided has no explicit amount":"La factura entregada no contiene una cantidad explícita", - "Does not look like a valid lightning invoice":"No parece ser una factura lightning válida", - "The invoice provided has already expired":"La factura que has entregado ya ha caducado", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"Asegurate de EXPORTAR el registro del chat. Los administradores pueden pedirte el registro del chat en caso de discrepancias. Es tu responsabilidad proveerlo.", - "Invalid address":"Dirección inválida", - "Unable to validate address, check bitcoind backend":"No ha sido posible validar la dirección, comprobar el backend bitcoind", - "Submit payout info for {{amountSats}} Sats":"Envia info para recibir {{amountSats}} Sats", - "Submit a valid invoice for {{amountSats}} Satoshis.": "Envía una factura por {{amountSats}} Sats", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.":"Antes de dejarte enviar {{amountFiat}} {{currencyCode}}, queremos asegurarnos de que puedes recibir BTC.", - "RoboSats will do a swap and send the Sats to your onchain address.":"RoboSats hará un swap y enviará los Sats a tu dirección en la cadena.", - "Swap fee":"Comisión del swap", - "Mining fee":"Comisión minera", - "Mining Fee":"Comisión Minera", - "Final amount you will receive":"Monto final que vas a recibir", - "Bitcoin Address":"Dirección Bitcoin", - "Your TXID":"Tu TXID", - "Lightning":"Lightning", - "Onchain":"Onchain", - "open_dispute":"Para abrir una disputa debes esperar <1><1/>", - "Trade Summary":"Resumen del intercambio", - "Maker":"Creador", - "Taker":"Tomador", - "User role":"Operación", - "Sent":"Enviado", - "Received":"Recibido", - "BTC received":"BTC recibido", - "BTC sent":"BTC enviado", - "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)":"{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", - "Trade fee":"Comisión", - "{{swapFeeSats}} Sats ({{swapFeePercent}}%)":"{{swapFeeSats}} Sats ({{swapFeePercent}}%)", - "Onchain swap fee":"Coste swap onchain", - "{{miningFeeSats}} Sats":"{{miningFeeSats}} Sats", - "{{bondSats}} Sats ({{bondPercent}}%)":"{{bondSats}} Sats ({{bondPercent}}%)", - "Maker bond":"Fianza de creador", - "Taker bond":"Fianza de tomador", - "Unlocked":"Desbloqueada", - "{{revenueSats}} Sats":"{{revenueSats}} Sats", - "Platform trade revenue":"Beneficio de la plataforma", - "{{routingFeeSats}} MiliSats":"{{routingFeeSats}} MiliSats", - "Platform covered routing fee":"Coste de enrutado cubierto", - "Timestamp":"Marca de hora", - "Completed in":"Completado en", - "Contract exchange rate":"Tasa de cambio del contrato", - - - "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", - "Close": "Cerrar", - "What is RoboSats?": "¿Qué es RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Es un exchange P2P que facilita intercambios bitcoin/fiat sobre Lightning.", - "RoboSats is an open source project ": "RoboSats es un proyecto de código abierto ", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Simplifica el emparejamiento y minimiza la necesidad de confianza. RoboSats se centra en la privacidad y la velocidad.", - "(GitHub).": "(GitHub).", - "How does it work?": "¿Cómo funciona?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 quiere vender bitcoin. Ella publica una orden de venta. BafflingBob02 quiere comprar bitcoin y escoge la orden de Alicia. Ambos tienen que bloquear una pequeña fianza en Lightning para probar que son verdaderos Robots. Después, Alicia envía el colateral también usando una factura de Lightning. RoboSats bloquea la factura hasta que Alicia confirma haber recibido el fiat, después el bitcoin se libera y envía a Bob. ¡Disfruta tu bitcoin, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "En ningún momento AnonymousAlice01 ni BafflingBob02 tienen que confiar los fondos de bitcoin a la otra parte. En caso de conflicto, el personal de RoboSats ayudará a resolver la disputa.", - "You can find a step-by-step description of the trade pipeline in ": "Puedes encontrar una descripción paso a paso de los intercambios en ", - "How it works": "Cómo funciona", - "You can also check the full guide in ": "También puedes revisar la guía entera en ", - "How to use": "Cómo utilizar", - "What payment methods are accepted?": "¿Qué métodos de pago son aceptados?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Todos siempre que sean rápidos. Puedes escribir abajo tu método de pago preferido(s). Tendrás que encontrar un compañero que acepte ese método. El paso para intercambiar el fiat tiene un tiempo de expiración de 24 horas antes de que se abra una disputa automáticamente. Te recomendamos métodos instantáneos de envío de fiat.", - "What are the fees?":"¿Cuales son las comisiones?", - "RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.":"La comisión total de un intercambio es {{tradeFee}}%. Esta comisión se divide en: creador de la orden ({{makerFee}}%) y tomador de la order ({{takerFee}}%). En caso de que se utilize una dirección onchain para recibir los chats también exise una comisión variable para cubrir el coste del swap (ver las estadisticas del exchange clickando abajo para ver el coste actual del swap).", - "Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.":"Ten en cuenta que tu pasarela de pagos fiat puede cobrarte comisiones extra. En cualquier caso, estos costes siempre son cubiertos por el comprador. Esto incluye, comsiones de transferencia, costes bancarios y horquilla de intercambio de divisas. El vendedor debe recibir la cantidad exacta que se detalla en la orden.", - "Are there trade limits?": "¿Hay límites de intercambios?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Para minimizar fallos en el enrutamiento Lightning, el máximo por intercambio es de {{maxAmount}} Sats. No hay límite de intercambios en el tiempo. Aunque un Robot solo puede intervenir en una orden a la vez, puedes usar varios Robots en diferentes navegadores (¡recuerda guardar los tokens de tus Robots!).", - "Is RoboSats private?": "¿RoboSats es privado?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats no custodia tus fondos y no recolecta o custodia ningún dato personal, pues no le importa quien eres. RoboSats nunca te preguntará por tu nombre, país o número de documento. Para mejorar tu privacidad, usa el Navegador Tor y accede al enlace .onion.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Tu compañero de intercambio es el único que puede potencialmente adivinar algo sobre ti. Mantén tu conversación corta y concisa. Evita dar datos que no sean estrictamente necesarios para el pago del fiat.", - "What are the risks?": "¿Cuáles son los riesgos?", - "This is an experimental application, things could go wrong. Trade small amounts!": "Esta es una aplicación experimental, algo puede ir mal. ¡Intercambia en pequeñas cantidades!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "El vendedor tiene los mismos riesgos de devolución como con cualquier servicio P2P. PayPal o tarjetas de crédito no están recomendadas.", - "What is the trust model?": "¿Cuál es el modelo de confianza?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "El comprador y el vendedor nunca deben de confiar el uno en el otro. Una mínima confianza en RoboSats es necesaria, pues es el enlace entre la fianza del vendedor y el pago del comprador, que no es atómico (todavía). Además, las disputas se resuelven por el personal de RoboSats.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Con total claridad, los requerimentos de confianza son minimizados. De todas formas, todavía hay una forma en que RoboSats podría huir con tus Sats: no enviándoselos al comprador. Podría argumentarse que ese movimiento dañaría la reputación de RoboSats por un pequeño importe. De todas formas, deberías dudar y solo intercambiar pequeños montos cada vez. Para montos grandes usa un exchange de primera capa como Bisq", - "You can build more trust on RoboSats by inspecting the source code.": "Puedes aumentar la confianza en RoboSats inspeccionando el código fuente.", - "Project source code": "Código fuente del proyecto", - "What happens if RoboSats suddenly disappears?": "¿Qué pasaría si RoboSats desapareciera?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Tus Sats te serán devueltos. Cualquier factura que no se liquide será automaticamente devuelta incluso aunque RoboSats desaparezca. Esto es cierto tanto para las fianzas como para los colaterales. De todas formas, entre que el vendedor confirma haber recibido el fiat y el comprador recibe los Sats, hay un tiempo de aprox. 1 segundo en que los fondos podrían perderse si RoboSats desapareciera. Asegurate de tener suficiente liquidez entrante para evitar fallos de enrutamiento. Si tienes algún problema, busca en los canales públicos de RoboSats.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "En muchos países usar RoboSats no es diferente a usar Ebay o WallaPop. Tu regulación puede variar, es tu responsabilidad su cumplimiento.", - "Is RoboSats legal in my country?": "¿Es RoboSats legal en mi país?", - "Disclaimer": "Aviso", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Esta aplicación de Lightning está en continuo desarrollo y se entrega tal cual: intercambia con la máxima precaución. No hay soporte privado. El soporte se ofrece solo en canales públicos.", - "(Telegram)": "(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats nunca te contactará. RoboSats jamás te preguntará por el token de tu Robot." + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Cerrar", + "What is RoboSats?": "¿Qué es RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Es un exchange P2P que facilita intercambios bitcoin/fiat sobre Lightning.", + "RoboSats is an open source project ": "RoboSats es un proyecto de código abierto ", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Simplifica el emparejamiento y minimiza la necesidad de confianza. RoboSats se centra en la privacidad y la velocidad.", + "(GitHub).": "(GitHub).", + "How does it work?": "¿Cómo funciona?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 quiere vender bitcoin. Ella publica una orden de venta. BafflingBob02 quiere comprar bitcoin y escoge la orden de Alicia. Ambos tienen que bloquear una pequeña fianza en Lightning para probar que son verdaderos Robots. Después, Alicia envía el colateral también usando una factura de Lightning. RoboSats bloquea la factura hasta que Alicia confirma haber recibido el fiat, después el bitcoin se libera y envía a Bob. ¡Disfruta tu bitcoin, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "En ningún momento AnonymousAlice01 ni BafflingBob02 tienen que confiar los fondos de bitcoin a la otra parte. En caso de conflicto, el personal de RoboSats ayudará a resolver la disputa.", + "You can find a step-by-step description of the trade pipeline in ": "Puedes encontrar una descripción paso a paso de los intercambios en ", + "How it works": "Cómo funciona", + "You can also check the full guide in ": "También puedes revisar la guía entera en ", + "How to use": "Cómo utilizar", + "What payment methods are accepted?": "¿Qué métodos de pago son aceptados?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Todos siempre que sean rápidos. Puedes escribir abajo tu método de pago preferido(s). Tendrás que encontrar un compañero que acepte ese método. El paso para intercambiar el fiat tiene un tiempo de expiración de 24 horas antes de que se abra una disputa automáticamente. Te recomendamos métodos instantáneos de envío de fiat.", + "What are the fees?": "¿Cuales son las comisiones?", + "RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.": "La comisión total de un intercambio es {{tradeFee}}%. Esta comisión se divide en: creador de la orden ({{makerFee}}%) y tomador de la order ({{takerFee}}%). En caso de que se utilize una dirección onchain para recibir los chats también exise una comisión variable para cubrir el coste del swap (ver las estadisticas del exchange clickando abajo para ver el coste actual del swap).", + "Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.": "Ten en cuenta que tu pasarela de pagos fiat puede cobrarte comisiones extra. En cualquier caso, estos costes siempre son cubiertos por el comprador. Esto incluye, comsiones de transferencia, costes bancarios y horquilla de intercambio de divisas. El vendedor debe recibir la cantidad exacta que se detalla en la orden.", + "Are there trade limits?": "¿Hay límites de intercambios?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Para minimizar fallos en el enrutamiento Lightning, el máximo por intercambio es de {{maxAmount}} Sats. No hay límite de intercambios en el tiempo. Aunque un Robot solo puede intervenir en una orden a la vez, puedes usar varios Robots en diferentes navegadores (¡recuerda guardar los tokens de tus Robots!).", + "Is RoboSats private?": "¿RoboSats es privado?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats no custodia tus fondos y no recolecta o custodia ningún dato personal, pues no le importa quien eres. RoboSats nunca te preguntará por tu nombre, país o número de documento. Para mejorar tu privacidad, usa el Navegador Tor y accede al enlace .onion.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Tu compañero de intercambio es el único que puede potencialmente adivinar algo sobre ti. Mantén tu conversación corta y concisa. Evita dar datos que no sean estrictamente necesarios para el pago del fiat.", + "What are the risks?": "¿Cuáles son los riesgos?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Esta es una aplicación experimental, algo puede ir mal. ¡Intercambia en pequeñas cantidades!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "El vendedor tiene los mismos riesgos de devolución como con cualquier servicio P2P. PayPal o tarjetas de crédito no están recomendadas.", + "What is the trust model?": "¿Cuál es el modelo de confianza?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "El comprador y el vendedor nunca deben de confiar el uno en el otro. Una mínima confianza en RoboSats es necesaria, pues es el enlace entre la fianza del vendedor y el pago del comprador, que no es atómico (todavía). Además, las disputas se resuelven por el personal de RoboSats.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Con total claridad, los requerimentos de confianza son minimizados. De todas formas, todavía hay una forma en que RoboSats podría huir con tus Sats: no enviándoselos al comprador. Podría argumentarse que ese movimiento dañaría la reputación de RoboSats por un pequeño importe. De todas formas, deberías dudar y solo intercambiar pequeños montos cada vez. Para montos grandes usa un exchange de primera capa como Bisq", + "You can build more trust on RoboSats by inspecting the source code.": "Puedes aumentar la confianza en RoboSats inspeccionando el código fuente.", + "Project source code": "Código fuente del proyecto", + "What happens if RoboSats suddenly disappears?": "¿Qué pasaría si RoboSats desapareciera?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Tus Sats te serán devueltos. Cualquier factura que no se liquide será automaticamente devuelta incluso aunque RoboSats desaparezca. Esto es cierto tanto para las fianzas como para los colaterales. De todas formas, entre que el vendedor confirma haber recibido el fiat y el comprador recibe los Sats, hay un tiempo de aprox. 1 segundo en que los fondos podrían perderse si RoboSats desapareciera. Asegurate de tener suficiente liquidez entrante para evitar fallos de enrutamiento. Si tienes algún problema, busca en los canales públicos de RoboSats.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "En muchos países usar RoboSats no es diferente a usar Ebay o WallaPop. Tu regulación puede variar, es tu responsabilidad su cumplimiento.", + "Is RoboSats legal in my country?": "¿Es RoboSats legal en mi país?", + "Disclaimer": "Aviso", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Esta aplicación de Lightning está en continuo desarrollo y se entrega tal cual: intercambia con la máxima precaución. No hay soporte privado. El soporte se ofrece solo en canales públicos.", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats nunca te contactará. RoboSats jamás te preguntará por el token de tu Robot." } diff --git a/frontend/static/locales/eu.json b/frontend/static/locales/eu.json index f27d0f90d..fb93f88d6 100644 --- a/frontend/static/locales/eu.json +++ b/frontend/static/locales/eu.json @@ -1,446 +1,438 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Ez duzu Robosats pribatuki erabiltzen", - "desktop_unsafe_alert": "Ezaugarri batzuk ezgaituta daude zure babeserako (adib. txata) eta ezingo duzu trukea osatu haiek gabe. Zure pribatutasuna babesteko eta Robosats osoki gaitzeko, erabili <1>Tor Browser eta bisitatu <3>Onion gunea.", - "phone_unsafe_alert": "Ezingo duzu trukea osatu. Erabili <1>Tor Browser eta bisitatu <3>Onion gunea.", - "Hide":"Ezkutatu", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Ez duzu Robosats pribatuki erabiltzen", + "desktop_unsafe_alert": "Ezaugarri batzuk ezgaituta daude zure babeserako (adib. txata) eta ezingo duzu trukea osatu haiek gabe. Zure pribatutasuna babesteko eta Robosats osoki gaitzeko, erabili <1>Tor Browser eta bisitatu <3>Onion gunea.", + "phone_unsafe_alert": "Ezingo duzu trukea osatu. Erabili <1>Tor Browser eta bisitatu <3>Onion gunea.", + "Hide": "Ezkutatu", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "LN P2P Exchange Sinple eta Pribatua", + "This is your trading avatar": "Hau da zure salerosketa Robota", + "Store your token safely": "Gorde zure tokena era seguru batean", + "A robot avatar was found, welcome back!": "Robot bat aurkitu da, ongi etorri berriz ere!", + "Copied!": "Kopiatuta!", + "Generate a new token": "Token berri bat sortu", + "Generate Robot": "Robota sortu", + "You must enter a new token first": "Aurrena, token berri bat sartu", + "Make Order": "Eskaera Egin", + "Info": "Infoa", + "View Book": "Ikusi Liburua", + "Learn RoboSats": "Ikasi RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Learn Robosats bisitatu behar duzu. Bertan, Robosats erabiltzen ikasteko eta nola dabilen ulertzeko tutorialak eta dokumentazioa aurkituko dituzu.", + "Let's go!": "Goazen!", + "Save token and PGP credentials to file": "Gorde tokena eta PGP kredentzialak fitxategira", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "LN P2P Exchange Sinple eta Pribatua", - "This is your trading avatar":"Hau da zure salerosketa Robota", - "Store your token safely":"Gorde zure tokena era seguru batean", - "A robot avatar was found, welcome back!":"Robot bat aurkitu da, ongi etorri berriz ere!", - "Copied!":"Kopiatuta!", - "Generate a new token":"Token berri bat sortu", - "Generate Robot":"Robota sortu", - "You must enter a new token first":"Aurrena, token berri bat sartu", - "Make Order":"Eskaera Egin", - "Info":"Infoa", - "View Book":"Ikusi Liburua", - "Learn RoboSats":"Ikasi RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"Learn Robosats bisitatu behar duzu. Bertan, Robosats erabiltzen ikasteko eta nola dabilen ulertzeko tutorialak eta dokumentazioa aurkituko dituzu.", - "Let's go!":"Goazen!", - "Save token and PGP credentials to file":"Gorde tokena eta PGP kredentzialak fitxategira", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Eskaera", + "Customize": "Pertsonalizatu", + "Buy or Sell Bitcoin?": "Bitcoin Erosi ala Saldu?", + "Buy": "Erosi", + "Sell": "Saldu", + "Amount": "Kopurua", + "Amount of fiat to exchange for bitcoin": "Bitcoingatik aldatzeko fiat kopurua", + "Invalid": "Baliogabea", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Sartu nahiago dituzun fiat ordainketa moduak. Modu azkarrak gomendatzen dira.", + "Must be shorter than 65 characters": "65 karaktere baino gutxiago izan behar ditu", + "Swap Destination(s)": "Trukearen Norakoa(k)", + "Fiat Payment Method(s)": "Fiat Ordainketa Modua(k)", + "You can add any method": "Edozein metodo gehitu dezakezu", + "Add New": "Gehitu Berria", + "Choose a Pricing Method": "Aukeratu prezioa nola ezarri", + "Relative": "Erlatiboa", + "Let the price move with the market": "Prezioa merkatuarekin mugituko da", + "Premium over Market (%)": "Merkatuarekiko Prima (%)", + "Explicit": "Finkoa", + "Set a fix amount of satoshis": "Satoshi kopuru finko bat ezarri", + "Satoshis": "Satoshiak", + "Fixed price:": "Prezio finkoa:", + "Order current rate:": "Uneko Prezioa:", + "Your order fixed exchange rate": "Zure eskaeraren kanbio-tasa finkoa", + "Your order's current exchange rate. Rate will move with the market.": "Zure eskaeraren oraingo kanbio-tasa. Tasa merkatuarekin mugituko da", + "Let the taker chose an amount within the range": "Hartzaileak zenbateko bat hauta dezake tartearen barruan", + "Enable Amount Range": "Zenbateko Tartea Baimendu", + "From": "Min.", + "to": "max.", + "Expiry Timers": "Tenporizadoreak", + "Public Duration (HH:mm)": "Iraupen publikoa (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Gordailuaren gehienezko epea (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Inplikazio maila finkatu, handitu segurtasun gehiago izateko", + "Fidelity Bond Size": "Fidantzaren tamaina", + "Allow bondless takers": "Fidantza gabeko hartzaileak baimendu", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "LASTER - Arrisku altua! {{limitSats}}K Satera mugatua", + "You must fill the order correctly": "Eskaera zuzenki bete behar duzu", + "Create Order": "Eskaera Egin", + "Back": "Atzera", + "Create an order for ": "Eskaera bat sortu: ", + "Create a BTC buy order for ": "BTC erosketa eskaera bat sortu: ", + "Create a BTC sell order for ": "BTC salmenta eskaera bat sortu: ", + " of {{satoshis}} Satoshis": " {{satoshis}} Satoshirentzat", + " at market price": " merkatuko prezioan", + " at a {{premium}}% premium": " %{{premium}}-ko primarekin", + " at a {{discount}}% discount": " %{{discount}}-ko deskontuarekin", + "Must be less than {{max}}%": "%{{max}} baino gutxiago izan behar da", + "Must be more than {{min}}%": "%{{min}} baino gehiago izan behar da", + "Must be less than {{maxSats}": "{{maxSats}} baino gutxiago izan behar da", + "Must be more than {{minSats}}": "{{minSats}} baino gehiago izan behar da", + "Store your robot token": "Gorde zure robot tokena", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Zure robot avatarra berreskuratu nahi izango duzu: gorde seguru. Beste aplikazio batean kopia dezakezu", + "Done": "Prest", + "You do not have a robot avatar": "Ez daukazu robot avatarrik", + "You need to generate a robot avatar in order to become an order maker": "Robot avatar bat sortu behar duzu eskaera bat egin ahal izateko", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Zehaztu gabea", + "Instant SEPA": "Bat-bateko SEPA", + "Amazon GiftCard": "Amazon Opari Txartela", + "Google Play Gift Code": "Google Play Opari Kodea", + "Cash F2F": "Eskudirua aurrez-aurre", + "On-Chain BTC": "On-Chain BTC", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Saltzaile", + "Buyer": "Erosle", + "I want to": "Nahi dut", + "Select Order Type": "Aukeratu eskaera mota", + "ANY_type": "EDOZEIN", + "ANY_currency": "EDOZEIN", + "BUY": "EROSI", + "SELL": "SALDU", + "and receive": "eta jaso", + "and pay with": "eta ordaindu erabiliz", + "and use": "eta erabili", + "Select Payment Currency": "Aukeratu Ordainketa Txanpona", + "Robot": "Robota", + "Is": "Da", + "Currency": "Txanpona", + "Payment Method": "Ordainketa Modua", + "Pay": "Ordaindu", + "Price": "Prezioa", + "Premium": "Prima", + "You are SELLING BTC for {{currencyCode}}": "BTC SALTZEN ari zara {{currencyCode}}gatik", + "You are BUYING BTC for {{currencyCode}}": "BTC EROSTEN ari zara {{currencyCode}}gatik", + "You are looking at all": "Dena ikusten ari zara", + "No orders found to sell BTC for {{currencyCode}}": "Eskaerarik ez BTC {{currencyCode}}gatik saltzeko", + "No orders found to buy BTC for {{currencyCode}}": "Eskaerarik ez BTC {{currencyCode}}gatik erosteko", + "Filter has no results": "Iragazkiak ez du emaitzarik", + "Be the first one to create an order": "Lehena izan eskaera bat sortzen", - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Eskaera", - "Customize":"Pertsonalizatu", - "Buy or Sell Bitcoin?":"Bitcoin Erosi ala Saldu?", - "Buy":"Erosi", - "Sell":"Saldu", - "Amount":"Kopurua", - "Amount of fiat to exchange for bitcoin":"Bitcoingatik aldatzeko fiat kopurua", - "Invalid":"Baliogabea", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Sartu nahiago dituzun fiat ordainketa moduak. Modu azkarrak gomendatzen dira.", - "Must be shorter than 65 characters":"65 karaktere baino gutxiago izan behar ditu", - "Swap Destination(s)":"Trukearen Norakoa(k)", - "Fiat Payment Method(s)":"Fiat Ordainketa Modua(k)", - "You can add any method":"Edozein metodo gehitu dezakezu", - "Add New":"Gehitu Berria", - "Choose a Pricing Method":"Aukeratu prezioa nola ezarri", - "Relative":"Erlatiboa", - "Let the price move with the market":"Prezioa merkatuarekin mugituko da", - "Premium over Market (%)":"Merkatuarekiko Prima (%)", - "Explicit":"Finkoa", - "Set a fix amount of satoshis":"Satoshi kopuru finko bat ezarri", - "Satoshis":"Satoshiak", - "Fixed price:":"Prezio finkoa:", - "Order current rate:":"Uneko Prezioa:", - "Your order fixed exchange rate":"Zure eskaeraren kanbio-tasa finkoa", - "Your order's current exchange rate. Rate will move with the market.":"Zure eskaeraren oraingo kanbio-tasa. Tasa merkatuarekin mugituko da", - "Let the taker chose an amount within the range":"Hartzaileak zenbateko bat hauta dezake tartearen barruan", - "Enable Amount Range":"Zenbateko Tartea Baimendu", - "From": "Min.", - "to":"max.", - "Expiry Timers":"Tenporizadoreak", - "Public Duration (HH:mm)":"Iraupen publikoa (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)":"Gordailuaren gehienezko epea (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Inplikazio maila finkatu, handitu segurtasun gehiago izateko", - "Fidelity Bond Size":"Fidantzaren tamaina", - "Allow bondless takers":"Fidantza gabeko hartzaileak baimendu", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"LASTER - Arrisku altua! {{limitSats}}K Satera mugatua", - "You must fill the order correctly":"Eskaera zuzenki bete behar duzu", - "Create Order":"Eskaera Egin", - "Back":"Atzera", - "Create an order for ":"Eskaera bat sortu: ", - "Create a BTC buy order for ":"BTC erosketa eskaera bat sortu: ", - "Create a BTC sell order for ":"BTC salmenta eskaera bat sortu: ", - " of {{satoshis}} Satoshis":" {{satoshis}} Satoshirentzat", - " at market price":" merkatuko prezioan", - " at a {{premium}}% premium":" %{{premium}}-ko primarekin", - " at a {{discount}}% discount":" %{{discount}}-ko deskontuarekin", - "Must be less than {{max}}%":"%{{max}} baino gutxiago izan behar da", - "Must be more than {{min}}%":"%{{min}} baino gehiago izan behar da", - "Must be less than {{maxSats}": "{{maxSats}} baino gutxiago izan behar da", - "Must be more than {{minSats}}": "{{minSats}} baino gehiago izan behar da", - "Store your robot token":"Gorde zure robot tokena", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"Zure robot avatarra berreskuratu nahi izango duzu: gorde seguru. Beste aplikazio batean kopia dezakezu", - "Done":"Prest", - "You do not have a robot avatar":"Ez daukazu robot avatarrik", - "You need to generate a robot avatar in order to become an order maker":"Robot avatar bat sortu behar duzu eskaera bat egin ahal izateko", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Nerdentzako estatistikak", + "LND version": "LND bersioa", + "Currently running commit hash": "Egungo bertsioaren hasha", + "24h contracted volume": "24 ordutan kontratatutako bolumena", + "Lifetime contracted volume": "Guztira kontratatutako bolumena", + "Made with": "Erabili dira", + "and": "eta", + "... somewhere on Earth!": "... Lurreko lekuren batean!", + "Community": "Komunitatea", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Euskarri bakarra kanal publikoen bidez eskaintzen da. Egin bat Telegrameko gure komunitatearekin galderak badituzu edo beste Robot bikain batzuekin denbora pasa nahi baduzu. Mesedez, erabili GitHub akats bat jakinarazteko edo funtzionalitate berriak proposatzeko!", + "Follow RoboSats in Twitter": "Jarraitu RoboSats Twitterren", + "Twitter Official Account": "Twitter Kontu Ofiziala", + "RoboSats Telegram Communities": "RoboSats Telegram Komunitateak", + "Join RoboSats Spanish speaking community!": "Egin bat gaztelerazko RoboSats komunitatearekin!", + "Join RoboSats Russian speaking community!": "Egin bat errusierazko RoboSats komunitatearekin!", + "Join RoboSats Chinese speaking community!": "Egin bat txinerazko RoboSats komunitatearekin!", + "Join RoboSats English speaking community!": "Egin bat ingelerazko RoboSats komunitatearekin!", + "Tell us about a new feature or a bug": "Jakinarazi funtzionalitate berri bat edo akats bat", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis Open Source Project", + "Your Profile": "Zure Profila", + "Your robot": "Zure robota", + "One active order #{{orderID}}": "Eskaera aktiboa #{{orderID}}", + "Your current order": "Zure oraingo eskaera", + "No active orders": "Eskaera aktiborik ez", + "Your token (will not remain here)": "Zure tokena (ez da hemen mantenduko)", + "Back it up!": "Gorde ezazu!", + "Cannot remember": "Ahaztu da", + "Rewards and compensations": "Sariak eta ordainak", + "Share to earn 100 Sats per trade": "Partekatu 100 Sat trukeko irabazteko", + "Your referral link": "Zure erreferentziako esteka", + "Your earned rewards": "Irabazitako sariak", + "Claim": "Eskatu", + "Invoice for {{amountSats}} Sats": "{{amountSats}} Sateko fakura", + "Submit": "Bidali", + "There it goes, thank you!🥇": "Hor doa, mila esker!🥇", + "You have an active order": "Eskaera aktibo bat duzu", + "You can claim satoshis!": "Satoshiak eska ditzakezu!", + "Public Buy Orders": "Erosteko Eskaera Publikoak", + "Public Sell Orders": "Saltzeko Eskaera Publikoak", + "Today Active Robots": "Gaurko Robot Aktiboak", + "24h Avg Premium": "24 orduko Batazbesteko Prima", + "Trade Fee": "Salerosketa Kuota", + "Show community and support links": "Erakutsi komunitate eta laguntza estekak", + "Show stats for nerds": "Erakutsi nerdentzako estatistikak", + "Exchange Summary": "Trukeen laburpena", + "Public buy orders": "Erosketa eskaera publikoak", + "Public sell orders": "Salmenta eskaera publikoak", + "Book liquidity": "Liburuaren likidezia", + "Today active robots": "Robot aktiboak gaur", + "24h non-KYC bitcoin premium": "24 orduko ez-KYC prima", + "Maker fee": "Egile kuota", + "Taker fee": "Hartzaile kuota", + "Number of public BUY orders": "EROSKETA eskaera publiko kopurua", + "Number of public SELL orders": "SALMENTA eskaera publiko kopurua", + "Your last order #{{orderID}}": "Zure azken eskaera #{{orderID}}", + "Inactive order": "Eskaera ez aktiboa", + "You do not have previous orders": "Ez duzu aurretik eskaerarik", + "Join RoboSats' Subreddit": "Egin bat RoboSats Subredditarekin", + "RoboSats in Reddit": "Robosats Redditen", + "Current onchain payout fee": "Oraingo onchain jasotze-kuota", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Eskaera", + "Contract": "Kontratua", + "Active": "Aktiboa", + "Seen recently": "Duela gutxi ikusia", + "Inactive": "Inaktiboa", + "(Seller)": "(Saltzaile)", + "(Buyer)": "(Erosle)", + "Order maker": "Eskaera egile", + "Order taker": "Eskaera hartzaile", + "Order Details": "Xehetasunak", + "Order status": "Eskaeraren egoera", + "Waiting for maker bond": "Egilearen fidantzaren zain", + "Public": "Publikoa", + "Waiting for taker bond": "Hartzailearen fidantzaren zain", + "Cancelled": "Ezeztatua", + "Expired": "Iraungia", + "Waiting for trade collateral and buyer invoice": "Eroslearen kolateral eta fakturaren zain", + "Waiting only for seller trade collateral": "Saltzailearen kolateralaren zain", + "Waiting only for buyer invoice": "Eroslearen fakturaren zain", + "Sending fiat - In chatroom": "Fiata bidaltzen - Txatean", + "Fiat sent - In chatroom": "Fiata bidalia - Txatean", + "In dispute": "Eztabaidan", + "Collaboratively cancelled": "Lankidetzaz ezeztatua", + "Sending satoshis to buyer": "Satoshiak erosleari bidaltzen", + "Sucessful trade": "Erosketa arrakastatsua", + "Failed lightning network routing": "Bideratze arazoa Lightning Networkean", + "Wait for dispute resolution": "Eztabaidaren ebazpenaren zain", + "Maker lost dispute": "Egileak eztabaida galdu du", + "Taker lost dispute": "Hartzaileak eztabaida galdu du", + "Amount range": "Zenbatekoaren tartea", + "Swap destination": "Trukearen norakoa", + "Accepted payment methods": "Onartutako ordainketa moduak", + "Others": "Besteak", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: %{{premium}}", + "Price and Premium": "Prezioa eta Prima", + "Amount of Satoshis": "Satoshi kopurua", + "Premium over market price": "Merkatuko prezioarekiko prima", + "Order ID": "Eskaera ID", + "Deposit timer": "Gordailu tenporizadorea", + "Expires in": "Iraungitze denbora", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} lankidetzaz ezeztatzea eskatu du", + "You asked for a collaborative cancellation": "Lankidetzaz ezeztatzeko eskaera egin duzu", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Faktura iraungia. Ez duzu eskaera garaiz baieztatu. Egin eskaera berri bat.", + "This order has been cancelled by the maker": "Egileak eskaera ezeztatu du", + "Invoice expired. You did not confirm taking the order in time.": "Faktura iraungia. Ez duzu eskaeraren onarpena garaiz egin.", + "Penalty lifted, good to go!": "Zigorra kendu da, prest!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Oraindik ezin duzu eskaerarik hartu! Itxaron{{timeMin}}m {{timeSec}}s", + "Too low": "Baxuegia", + "Too high": "Altuegia", + "Enter amount of fiat to exchange for bitcoin": "Sartu bitcongatik aldatu nahi duzun fiat kopurua", + "Amount {{currencyCode}}": "Kopurua {{currencyCode}}", + "You must specify an amount first": "Aurrena kopurua zehaztu behar duzu", + "Take Order": "Eskaera hartu", + "Wait until you can take an order": "Itxaron eskaera hartu ahal izan arte", + "Cancel the order?": "Eskaera ezeztatu?", + "If the order is cancelled now you will lose your bond.": "Eskaera ezeztatuz gero fidantza galduko duzu.", + "Confirm Cancel": "Onartu ezeztapena", + "The maker is away": "Hartzailea ez dago", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Eskaera hau onartuz gero, denbora galtzea arriskatzen duzu. Egileak ez badu garaiz jarraitzen, satoshietan konpentsatua izango zara egilearen fidantzaren %50arekin", + "Collaborative cancel the order?": "Eskaera lankidetzaz ezeztatu?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Eskaeraren fidantza bidali da. Eskaera ezeztatu daiteke bakarrik egileak eta hartzaileak hala adosten badute.", + "Ask for Cancel": "Ezeztatzea eskatu", + "Cancel": "Ezeztatu", + "Collaborative Cancel": "Lankidetza ezeztapena", + "Invalid Order Id": "Eskaera ID baliogabea", + "You must have a robot avatar to see the order details": "Robot avatar bat behar duzu eskaeraren xehetasunak ikusteko", + "This order has been cancelled collaborativelly": "Eskaera hau lankidetzaz ezeztatua izan da", + "You are not allowed to see this order": "Ezin duzu eskaera hau ikusi", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Biltegiko Satoshi Robotikoek ez dizute ulertu. Mesedez, bete Bug Issue bat Github helbide honetan https://github.com/reckless-satoshi/robosats/issues", - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Zehaztu gabea", - "Instant SEPA":"Bat-bateko SEPA", - "Amazon GiftCard":"Amazon Opari Txartela", - "Google Play Gift Code":"Google Play Opari Kodea", - "Cash F2F":"Eskudirua aurrez-aurre", - "On-Chain BTC":"On-Chain BTC", + "CHAT BOX - Chat.js": "Chat Box", + "You": "Zu", + "Peer": "Bera", + "connected": "konektatuta", + "disconnected": "deskonektatuta", + "Type a message": "Idatzi mezu bat", + "Connecting...": "Konektatzen...", + "Send": "Bidali", + "Verify your privacy": "Zure pribatasuna egiaztatu", + "Audit PGP": "Ikuskatu PGP", + "Save full log as a JSON file (messages and credentials)": "Gorde log guztia JSON fitxategi batean (mezuak eta kredentzialak)", + "Export": "Esportatu", + "Don't trust, verify": "Ez fidatu, egiaztatu", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Zure komunikazioa ertzerik-ertzera zifratuta dago OpenPGP bidez. Txat honen pribatasuna egiazta dezakezu OpenPGP estandarrean oinarritutako edozein tresna erabiliz.", + "Learn how to verify": "Ikasi nola egiaztatu", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Zure PGP giltza publikoa. Zure pareak zuk bakarrik irakur ditzakezun mezuak zifratzeko erabiliko du.", + "Your public key": "Zure giltza publikoa", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "Zure parearen PGP giltza publikoa. Berak bakarrik irakur ditzakeen mezuak zifratzeko eta jasotako mezuak berak sinatu dituela egiaztatzeko erabiliko duzu.", + "Peer public key": "Parearen giltza publikoa", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Zifratutako zure giltza pribatua. Zure pareak zuretzako zifratu dituen mezuak deszifratzeko erabiliko duzu. Zuk bidalitako mezuak sinatzeko ere erabiliko duzu.", + "Your encrypted private key": "Zifratutako zure giltza pribatua", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "Zure giltza pribatua deszifratzeko pasahitza. Zuk bakarrik dakizu! Ez partekatu. Zure robotaren tokena ere bada.", + "Your private key passphrase (keep secure!)": "Zure giltza pribatuaren pasahitza (seguru mantendu)", + "Save credentials as a JSON file": "Gorde kredentzialak JSON fitxategi moduan", + "Keys": "Giltzak", + "Save messages as a JSON file": "Gorde mezuak JSON fitxategi moduan", + "Messages": "Mezuak", + "Verified signature by {{nickname}}": "{{nickname}}ren egiaztatutako sinadura", + "Cannot verify signature of {{nickname}}": "Ezin izan da {{nickname}}ren sinadura egiaztatu", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Kontratua", + "Robots show commitment to their peers": "Robotek beren pareekiko konpromezua erakusten dute", + "Lock {{amountSats}} Sats to PUBLISH order": "Blokeatu {{amountSats}} Sat eskaera PUBLIKATZEKO", + "Lock {{amountSats}} Sats to TAKE order": "Blokeatu {{amountSats}} Sat eskaera HARTZEKO", + "Lock {{amountSats}} Sats as collateral": "Blokeatu {{amountSats}} Sat kolateral moduan", + "Copy to clipboard": "Kopiatu", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Atxikitako faktura bat da hau, zure karteran blokeatuko da. Eztabaida bat bertan behera utzi edo galtzen baduzu bakarrik kobratuko da.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Atxikitako faktura bat da hau, zure karteran blokeatuko da. Erosleari emango zaio, behin {{currencyCode}}ak jaso dituzula baieztatuta.", + "Your maker bond is locked": "Zure egile fidantza blokeatu da", + "Your taker bond is locked": "Zure hartzaile fidantza blokeatu da", + "Your maker bond was settled": "Zure egile fidantza ordaindu da", + "Your taker bond was settled": "Zure hartzaile fidantza ordaindu da", + "Your maker bond was unlocked": "Zure egile fidantza desblokeatu da", + "Your taker bond was unlocked": "Zure hartzaile fidantza ordaindu da", + "Your order is public": "Zure eskaera publikatu da", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Pazientzia izan robotek liburua aztertzen duten bitartean. Kutxa honek joko du 🔊 robot batek zure eskaera hartzen duenean, gero {{deposit_timer_hours}}h {{deposit_timer_minutes}}m izango dituzu erantzuteko. Ez baduzu erantzuten, zure fidantza galdu dezakezu.", + "If the order expires untaken, your bond will return to you (no action needed).": "Eskaera hartu gabe amaitzen bada, fidantza automatikoki itzuliko zaizu.", + "Enable Telegram Notifications": "Baimendu Telegram Jakinarazpenak", + "Enable TG Notifications": "Baimendu TG Jakinarazpenak", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "RoboSats telegrama botarekin hitz egingo duzu. Zabaldu berriketa eta sakatu Start. Telegrama bidez anonimotasun maila jaitsi zenezake.", + "Go back": "Joan atzera", + "Enable": "Baimendu", + "Telegram enabled": "Telegram baimendua", + "Public orders for {{currencyCode}}": "Eskaera publikoak {{currencyCode}}entzat", + "Premium rank": "Prima maila", + "Among public {{currencyCode}} orders (higher is cheaper)": "{{currencyCode}} eskaera publikoen artean (altuagoa merkeagoa da)", + "A taker has been found!": "Hartzaile bat aurkitu da!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Mesedez itxaron hartzaileak fidantza blokeatu harte. Hartzaileak fidantza garaiz blokeatzen ez badu, eskaera berriz publikatuko da.", + "Payout Lightning Invoice": "Lightning Faktura ordaindu", + "Your info looks good!": "Zure informazioa ondo dago!", + "We are waiting for the seller to lock the trade amount.": "Saltzaileak adostutako kopurua blokeatu zain gaude.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Itxaron pixka bat. Saltzaileak ez badu gordailatzen, automatikoki berreskuratuko duzu zure fidantza. Gainera, konpentsazio bat jasoko duzu (begiratu sariak zure profilean).", + "The trade collateral is locked!": "Kolaterala blokeatu da!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Erosleak lightning faktura bat partekatu zain gaude. Behin hori eginda, zuzenean fiat ordainketaren xehetasunak komunikatu ahalko dizkiozu.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Itxaron pixka bat. Erosleak ez badu kooperatzen, kolaterala eta zure fidantza automatikoki jasoko dituzu. Gainera, konpentsazio bat jasoko duzu (begiratu sariak zure profilean).", + "Confirm {{amount}} {{currencyCode}} sent": "Baieztatu {{amount}} {{currencyCode}} bidali dela", + "Confirm {{amount}} {{currencyCode}} received": "Baieztatu {{amount}} {{currencyCode}} jaso dela", + "Open Dispute": "Eztabaida Ireki", + "The order has expired": "Eskaera iraungi da", + "Chat with the buyer": "Txateatu eroslearekin", + "Chat with the seller": "Txateatu saltzailearekin", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Agurtu! Lagungarri eta labur izan. Jakin dezatela {{amount}} {{currencyCode}}ak nola bidali.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "Erosleak fiata bidali du. Klikatu 'Baieztatu Jasoa' behin jasota.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Agurtu! Eskatu ordainketa xehetasunak eta klikatu 'Baieztatu Bidalia' ordainketa egin bezain pronto.", + "Wait for the seller to confirm he has received the payment.": "Itxaron saltzaileak ordainketa jaso duela baieztatu arte.", + "Confirm you received {{amount}} {{currencyCode}}?": "Baieztatu {{amount}} {{currencyCode}} jaso duzula?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Fiata jaso duzula baieztatzean, salerosketa amaituko da. Blokeatutako Satoshiak erosleari bidaliko zaizkio. Baieztatu bakarrik {{amount}} {{currencyCode}}ak zure kontuan jaso badituzu. Gainera, {{currencyCode}}ak jaso badituzu baina ez baduzu baieztatzen, zure fidantza galtzea arriskatzen duzu.", + "Confirm": "Baieztatu", + "Trade finished!": "Salerosketa amaitua!", + "rate_robosats": "Zer iruditu zaizu <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Mila esker! RoboSatsek ere maite zaitu ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats hobetu egiten da likidezia eta erabiltzaile gehiagorekin. Aipatu Robosats lagun bitcoiner bati!", + "Thank you for using Robosats!": "Mila esker Robosats erabiltzeagatik!", + "let_us_know_hot_to_improve": "Kontaiguzu nola hobetu dezakegun (<1>Telegram / <3>Github)", + "Start Again": "Berriz Hasi", + "Attempting Lightning Payment": "Lightning Ordainketa saiatzen", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats zure Lightning faktura ordaintzen saiatzen ari da. Gogoratu lightning nodoak online egon behar direla ordainketak jaso ahal izateko.", + "Retrying!": "Berriz saiatzen!", + "Lightning Routing Failed": "Lightning Bideratze Akatsa", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Zure faktura iraungi da edo 3 ordainketa saiakera baino gehiago egin dira. Aurkeztu faktura berri bat.", + "Check the list of compatible wallets": "Begiratu kartera bateragarrien zerrenda", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats 3 aldiz saiatuko da zure faktura ordaintzen, tartean minutu bateko etenaldiarekin. Akatsa ematen jarraitzen badu, faktura berri bat aurkeztu ahal izango duzu. Begiratu ea nahikoa sarrerako likidezia daukazun. Gogoratu lightning nodoak online egon behar direla ordainketak jaso ahal izateko.", + "Next attempt in": "Hurrengo saiakera", + "Do you want to open a dispute?": "Eztabaida bat ireki nahi duzu?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "RoboSatseko langileek baieztapenak eta frogak aztertuko dituzte. Kasu oso bat eraiki behar duzu, langileek ezin baitute txateko berriketa irakurri. Hobe da behin erabiltzeko kontaktu metodo bat ematea zure adierazpenarekin. Blokeatutako Satosiak eztabaidako irabazleari bidaliko zaizkio, eta galtzaileak, berriz, fidantza galduko du.", + "Disagree": "Atzera", + "Agree and open dispute": "Onartu eta eztabaida ireki", + "A dispute has been opened": "Eztabaida bat ireki da", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Mesedez, aurkeztu zure adierazpena. Argitu eta zehaztu gertatutakoa eta eman frogak. Kontaktu metodo bat jarri BEHAR duzu: Behin erabiltzeko posta elektronikoa, XMPP edo telegram erabiltzailea langileekin jarraitzeko. Benetako roboten (hau da, gizakien) diskrezioz konpontzen dira eztabaidak, eta, beraz, ahalik eta lagungarrien izan zaitez emaitza on bat bermatzeko. Gehienez 5000 karaktere.", + "Submit dispute statement": "Aurkeztu eztabaidaren adierazpena", + "We have received your statement": "Zure adierazpena jaso dugu", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Zure kidearen baieztapenaren zain gaude. Zalantzan bazaude eztabaidaren egoeraz edo informazio gehiago erantsi nahi baduzu, kontaktatu robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Mesedez, gorde zure agindua eta zure ordainketak identifikatzeko behar duzun informazioa: eskaera IDa; fidantzaren edo gordailuaren ordainagiriak (begira ezazu zure lightning karteran); satosi kopuru zehatza; eta robot ezizena. Zure burua identifikatu beharko duzu salerosketa honetako partehartzaile moduan posta elektroniko bidez (edo beste kontaktu metodo baten bitartez).", + "We have the statements": "Adierazpenak jaso ditugu", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Bi adierazpenak jaso dira. Itxaron langileek eztabaida ebatzi arte. Eztabaidaren egoeraz zalantzak badituzu edo informazio gehiago eman nahi baduzu, jarri robosatekin harremanetan. Ez baduzu kontaktu metodo bat eman edo ez bazaude ziur ondo idatzi duzun, idatzi berehala.", + "You have won the dispute": "Eztabaida irabazi duzu", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Eztabaidaren ebazpen-kopurua jaso dezakezu (fidantza eta kolaterala) zure profileko sarien atalean. Langileek egin dezaketen beste zerbait badago, ez izan zalantzarik harremanetan jartzeko robosat@protonmail.com bidez (edo zure behin erabiltzeko metodoarekin).", + "You have lost the dispute": "Eztabaida galdu duzu", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Tamalez, eztabaida galdu duzu. Akatsen bat dagoela uste baduzu kasua berriz ere irekitzea eska dezakezu robosats@protonmail.com helbidera idatziz. Hala ere, berriro ikertzeko aukerak eskasak dira.", + "Expired not taken": "Hartua gabe iraungi da", + "Maker bond not locked": "Egilearen fidantza ez da blokeatu", + "Escrow not locked": "Gordailua ez da blokeatu", + "Invoice not submitted": "Faktura ez da bidali", + "Neither escrow locked or invoice submitted": "Gordailurik ez da blokeatu eta fakturarik ez da jaso", + "Renew Order": "Eskaera Berritu", + "Pause the public order": "Eskaera publikoa eten", + "Your order is paused": "Zure eskaera etenaldian dago", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Zure ordena publikoa eten egin da. Oraingoz beste robot batzuek ezin dute ez ikusi ez hartu. Noiznahi aktibatu dezakezu.", + "Unpause Order": "Eskaera berriz ezarri", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Zure fidantza galtzea arriskatzen duzu kolaterala ez baduzu blokeatzen. Geratzen den denbora ondorengoa da: {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "Begiratu Kartera Bateragarriak", + "Failure reason:": "Akatsaren arrazoia:", + "Payment isn't failed (yet)": "Ordainketak ez du huts egin (oraindik)", + "There are more routes to try, but the payment timeout was exceeded.": "Bide gehiago daude saiatzeko, baina ordaintzeko epea gainditu da.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Bide posible guztiak probatu dira eta etengabe huts egin dute. Edo agian ez zegoen bide posiblerik.", + "A non-recoverable error has occurred.": "Akats berreskuraezin bat gertatu da.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Ordainketa xehetasunak okerrak dira (hash ezezaguna, kopuru okerra edo azken CLTV delta baliogabea).", + "Insufficient unlocked balance in RoboSats' node.": "Ez dago balantze libre nahikoa RoboSatsen nodoan.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "Aurkeztutako fakturak bide-aztarna garestiak besterik ez ditu, kartera bateraezin bat erabiltzen ari zara (ziurrenik Muun?). Egiaztatu karteraren bateragarritasun gida wallets.robosats.com helbidean", + "The invoice provided has no explicit amount": "Aurkeztutako fakturak ez du kopuru espliziturik", + "Does not look like a valid lightning invoice": "Ez dirudi lightning faktura onargarri bat denik", + "The invoice provided has already expired": "Aurkeztutako faktura dagoeneko iraungi da", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Ziurtatu txata ESPORTATU duzula. Baliteke langileek zure txat log JSON esportatua eskatzea desadostasunak konpontzeko. Zure ardura da gordetzea.", + "Does not look like a valid address": "Ez dirudi helbide onargarri bat denik", + "This is not a bitcoin mainnet address": "Hau ez da bitcoin mainnet helbide bat", + "This is not a bitcoin testnet address": "Hau ez da bitcoin testnet helbide bat", + "Submit payout info for {{amountSats}} Sats": "Bidali {{amountSats}} Satoshiko ordainketa informazioa", + "Submit a valid invoice for {{amountSats}} Satoshis.": "Bidali {{amountSats}} Satoshiko baliozko faktura bat.", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "{{amountFiat}} {{currencyCode}} bidaltzea baimendu aurretik, ziurtatu nahi dugu BTC jaso dezakezula.", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSatsek swap bat egingo du eta Satoshiak zure onchain helbidera bidaliko ditu.", + "Swap fee": "Swap kuota", + "Mining fee": "Meatzaritza kuota", + "Mining Fee": "Meatzaritza Kuota", + "Final amount you will receive": "Jasoko duzun azken kopurua", + "Bitcoin Address": "Bitcoin Helbidea", + "Your TXID": "Zure TXID", + "Lightning": "Lightning", + "Onchain": "Onchain", - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Saltzaile", - "Buyer":"Erosle", - "I want to":"Nahi dut", - "Select Order Type":"Aukeratu eskaera mota", - "ANY_type":"EDOZEIN", - "ANY_currency":"EDOZEIN", - "BUY":"EROSI", - "SELL":"SALDU", - "and receive":"eta jaso", - "and pay with":"eta ordaindu erabiliz", - "and use":"eta erabili", - "Select Payment Currency":"Aukeratu Ordainketa Txanpona", - "Robot":"Robota", - "Is":"Da", - "Currency":"Txanpona", - "Payment Method":"Ordainketa Modua", - "Pay":"Ordaindu", - "Price":"Prezioa", - "Premium":"Prima", - "You are SELLING BTC for {{currencyCode}}":"BTC SALTZEN ari zara {{currencyCode}}gatik", - "You are BUYING BTC for {{currencyCode}}":"BTC EROSTEN ari zara {{currencyCode}}gatik", - "You are looking at all":"Dena ikusten ari zara", - "No orders found to sell BTC for {{currencyCode}}":"Eskaerarik ez BTC {{currencyCode}}gatik saltzeko", - "No orders found to buy BTC for {{currencyCode}}":"Eskaerarik ez BTC {{currencyCode}}gatik erosteko", - "Filter has no results":"Iragazkiak ez du emaitzarik", - "Be the first one to create an order":"Lehena izan eskaera bat sortzen", - - - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Nerdentzako estatistikak", - "LND version":"LND bersioa", - "Currently running commit hash":"Egungo bertsioaren hasha", - "24h contracted volume":"24 ordutan kontratatutako bolumena", - "Lifetime contracted volume":"Guztira kontratatutako bolumena", - "Made with":"Erabili dira", - "and":"eta", - "... somewhere on Earth!":"... Lurreko lekuren batean!", - "Community":"Komunitatea", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Euskarri bakarra kanal publikoen bidez eskaintzen da. Egin bat Telegrameko gure komunitatearekin galderak badituzu edo beste Robot bikain batzuekin denbora pasa nahi baduzu. Mesedez, erabili GitHub akats bat jakinarazteko edo funtzionalitate berriak proposatzeko!", - "Follow RoboSats in Twitter":"Jarraitu RoboSats Twitterren", - "Twitter Official Account":"Twitter Kontu Ofiziala", - "RoboSats Telegram Communities":"RoboSats Telegram Komunitateak", - "Join RoboSats Spanish speaking community!":"Egin bat gaztelerazko RoboSats komunitatearekin!", - "Join RoboSats Russian speaking community!":"Egin bat errusierazko RoboSats komunitatearekin!", - "Join RoboSats Chinese speaking community!":"Egin bat txinerazko RoboSats komunitatearekin!", - "Join RoboSats English speaking community!":"Egin bat ingelerazko RoboSats komunitatearekin!", - "Tell us about a new feature or a bug":"Jakinarazi funtzionalitate berri bat edo akats bat", - "Github Issues - The Robotic Satoshis Open Source Project":"Github Issues - The Robotic Satoshis Open Source Project", - "Your Profile":"Zure Profila", - "Your robot":"Zure robota", - "One active order #{{orderID}}":"Eskaera aktiboa #{{orderID}}", - "Your current order":"Zure oraingo eskaera", - "No active orders":"Eskaera aktiborik ez", - "Your token (will not remain here)":"Zure tokena (ez da hemen mantenduko)", - "Back it up!":"Gorde ezazu!", - "Cannot remember":"Ahaztu da", - "Rewards and compensations":"Sariak eta ordainak", - "Share to earn 100 Sats per trade":"Partekatu 100 Sat trukeko irabazteko", - "Your referral link":"Zure erreferentziako esteka", - "Your earned rewards":"Irabazitako sariak", - "Claim":"Eskatu", - "Invoice for {{amountSats}} Sats":"{{amountSats}} Sateko fakura", - "Submit":"Bidali", - "There it goes, thank you!🥇":"Hor doa, mila esker!🥇", - "You have an active order":"Eskaera aktibo bat duzu", - "You can claim satoshis!":"Satoshiak eska ditzakezu!", - "Public Buy Orders":"Erosteko Eskaera Publikoak", - "Public Sell Orders":"Saltzeko Eskaera Publikoak", - "Today Active Robots":"Gaurko Robot Aktiboak", - "24h Avg Premium":"24 orduko Batazbesteko Prima", - "Trade Fee":"Salerosketa Kuota", - "Show community and support links":"Erakutsi komunitate eta laguntza estekak", - "Show stats for nerds":"Erakutsi nerdentzako estatistikak", - "Exchange Summary":"Trukeen laburpena", - "Public buy orders":"Erosketa eskaera publikoak", - "Public sell orders":"Salmenta eskaera publikoak", - "Book liquidity":"Liburuaren likidezia", - "Today active robots":"Robot aktiboak gaur", - "24h non-KYC bitcoin premium":"24 orduko ez-KYC prima", - "Maker fee":"Egile kuota", - "Taker fee":"Hartzaile kuota", - "Number of public BUY orders":"EROSKETA eskaera publiko kopurua", - "Number of public SELL orders":"SALMENTA eskaera publiko kopurua", - "Your last order #{{orderID}}":"Zure azken eskaera #{{orderID}}", - "Inactive order":"Eskaera ez aktiboa", - "You do not have previous orders":"Ez duzu aurretik eskaerarik", - "Join RoboSats' Subreddit":"Egin bat RoboSats Subredditarekin", - "RoboSats in Reddit":"Robosats Redditen", - "Current onchain payout fee":"Oraingo onchain jasotze-kuota", - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Eskaera", - "Contract":"Kontratua", - "Active":"Aktiboa", - "Seen recently":"Duela gutxi ikusia", - "Inactive":"Inaktiboa", - "(Seller)":"(Saltzaile)", - "(Buyer)":"(Erosle)", - "Order maker":"Eskaera egile", - "Order taker":"Eskaera hartzaile", - "Order Details":"Xehetasunak", - "Order status":"Eskaeraren egoera", - "Waiting for maker bond":"Egilearen fidantzaren zain", - "Public":"Publikoa", - "Waiting for taker bond":"Hartzailearen fidantzaren zain", - "Cancelled":"Ezeztatua", - "Expired":"Iraungia", - "Waiting for trade collateral and buyer invoice":"Eroslearen kolateral eta fakturaren zain", - "Waiting only for seller trade collateral":"Saltzailearen kolateralaren zain", - "Waiting only for buyer invoice":"Eroslearen fakturaren zain", - "Sending fiat - In chatroom":"Fiata bidaltzen - Txatean", - "Fiat sent - In chatroom":"Fiata bidalia - Txatean", - "In dispute":"Eztabaidan", - "Collaboratively cancelled":"Lankidetzaz ezeztatua", - "Sending satoshis to buyer":"Satoshiak erosleari bidaltzen", - "Sucessful trade":"Erosketa arrakastatsua", - "Failed lightning network routing":"Bideratze arazoa Lightning Networkean", - "Wait for dispute resolution":"Eztabaidaren ebazpenaren zain", - "Maker lost dispute":"Egileak eztabaida galdu du", - "Taker lost dispute":"Hartzaileak eztabaida galdu du", - "Amount range":"Zenbatekoaren tartea", - "Swap destination":"Trukearen norakoa", - "Accepted payment methods":"Onartutako ordainketa moduak", - "Others":"Besteak", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Prima: %{{premium}}", - "Price and Premium":"Prezioa eta Prima", - "Amount of Satoshis":"Satoshi kopurua", - "Premium over market price":"Merkatuko prezioarekiko prima", - "Order ID":"Eskaera ID", - "Deposit timer":"Gordailu tenporizadorea", - "Expires in":"Iraungitze denbora", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} lankidetzaz ezeztatzea eskatu du", - "You asked for a collaborative cancellation":"Lankidetzaz ezeztatzeko eskaera egin duzu", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Faktura iraungia. Ez duzu eskaera garaiz baieztatu. Egin eskaera berri bat.", - "This order has been cancelled by the maker":"Egileak eskaera ezeztatu du", - "Invoice expired. You did not confirm taking the order in time.":"Faktura iraungia. Ez duzu eskaeraren onarpena garaiz egin.", - "Penalty lifted, good to go!":"Zigorra kendu da, prest!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Oraindik ezin duzu eskaerarik hartu! Itxaron{{timeMin}}m {{timeSec}}s", - "Too low":"Baxuegia", - "Too high":"Altuegia", - "Enter amount of fiat to exchange for bitcoin":"Sartu bitcongatik aldatu nahi duzun fiat kopurua", - "Amount {{currencyCode}}":"Kopurua {{currencyCode}}", - "You must specify an amount first":"Aurrena kopurua zehaztu behar duzu", - "Take Order":"Eskaera hartu", - "Wait until you can take an order":"Itxaron eskaera hartu ahal izan arte", - "Cancel the order?":"Eskaera ezeztatu?", - "If the order is cancelled now you will lose your bond.":"Eskaera ezeztatuz gero fidantza galduko duzu.", - "Confirm Cancel":"Onartu ezeztapena", - "The maker is away":"Hartzailea ez dago", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"Eskaera hau onartuz gero, denbora galtzea arriskatzen duzu. Egileak ez badu garaiz jarraitzen, satoshietan konpentsatua izango zara egilearen fidantzaren %50arekin", - "Collaborative cancel the order?":"Eskaera lankidetzaz ezeztatu?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Eskaeraren fidantza bidali da. Eskaera ezeztatu daiteke bakarrik egileak eta hartzaileak hala adosten badute.", - "Ask for Cancel":"Ezeztatzea eskatu", - "Cancel":"Ezeztatu", - "Collaborative Cancel":"Lankidetza ezeztapena", - "Invalid Order Id":"Eskaera ID baliogabea", - "You must have a robot avatar to see the order details":"Robot avatar bat behar duzu eskaeraren xehetasunak ikusteko", - "This order has been cancelled collaborativelly":"Eskaera hau lankidetzaz ezeztatua izan da", - "You are not allowed to see this order":"Ezin duzu eskaera hau ikusi", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Biltegiko Satoshi Robotikoek ez dizute ulertu. Mesedez, bete Bug Issue bat Github helbide honetan https://github.com/reckless-satoshi/robosats/issues", - - "CHAT BOX - Chat.js":"Chat Box", - "You":"Zu", - "Peer":"Bera", - "connected":"konektatuta", - "disconnected":"deskonektatuta", - "Type a message":"Idatzi mezu bat", - "Connecting...":"Konektatzen...", - "Send":"Bidali", - "Verify your privacy":"Zure pribatasuna egiaztatu", - "Audit PGP":"Ikuskatu PGP", - "Save full log as a JSON file (messages and credentials)":"Gorde log guztia JSON fitxategi batean (mezuak eta kredentzialak)", - "Export":"Esportatu", - "Don't trust, verify":"Ez fidatu, egiaztatu", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"Zure komunikazioa ertzerik-ertzera zifratuta dago OpenPGP bidez. Txat honen pribatasuna egiazta dezakezu OpenPGP estandarrean oinarritutako edozein tresna erabiliz.", - "Learn how to verify":"Ikasi nola egiaztatu", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"Zure PGP giltza publikoa. Zure pareak zuk bakarrik irakur ditzakezun mezuak zifratzeko erabiliko du.", - "Your public key":"Zure giltza publikoa", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"Zure parearen PGP giltza publikoa. Berak bakarrik irakur ditzakeen mezuak zifratzeko eta jasotako mezuak berak sinatu dituela egiaztatzeko erabiliko duzu.", - "Peer public key":"Parearen giltza publikoa", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"Zifratutako zure giltza pribatua. Zure pareak zuretzako zifratu dituen mezuak deszifratzeko erabiliko duzu. Zuk bidalitako mezuak sinatzeko ere erabiliko duzu.", - "Your encrypted private key":"Zifratutako zure giltza pribatua", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"Zure giltza pribatua deszifratzeko pasahitza. Zuk bakarrik dakizu! Ez partekatu. Zure robotaren tokena ere bada.", - "Your private key passphrase (keep secure!)":"Zure giltza pribatuaren pasahitza (seguru mantendu)", - "Save credentials as a JSON file":"Gorde kredentzialak JSON fitxategi moduan", - "Keys":"Giltzak", - "Save messages as a JSON file":"Gorde mezuak JSON fitxategi moduan", - "Messages":"Mezuak", - "Verified signature by {{nickname}}":"{{nickname}}ren egiaztatutako sinadura", - "Cannot verify signature of {{nickname}}":"Ezin izan da {{nickname}}ren sinadura egiaztatu", - - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Kontratua", - "Robots show commitment to their peers": "Robotek beren pareekiko konpromezua erakusten dute", - "Lock {{amountSats}} Sats to PUBLISH order": "Blokeatu {{amountSats}} Sat eskaera PUBLIKATZEKO", - "Lock {{amountSats}} Sats to TAKE order": "Blokeatu {{amountSats}} Sat eskaera HARTZEKO", - "Lock {{amountSats}} Sats as collateral": "Blokeatu {{amountSats}} Sat kolateral moduan", - "Copy to clipboard":"Kopiatu", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"Atxikitako faktura bat da hau, zure karteran blokeatuko da. Eztabaida bat bertan behera utzi edo galtzen baduzu bakarrik kobratuko da.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"Atxikitako faktura bat da hau, zure karteran blokeatuko da. Erosleari emango zaio, behin {{currencyCode}}ak jaso dituzula baieztatuta.", - "Your maker bond is locked":"Zure egile fidantza blokeatu da", - "Your taker bond is locked":"Zure hartzaile fidantza blokeatu da", - "Your maker bond was settled":"Zure egile fidantza ordaindu da", - "Your taker bond was settled":"Zure hartzaile fidantza ordaindu da", - "Your maker bond was unlocked":"Zure egile fidantza desblokeatu da", - "Your taker bond was unlocked":"Zure hartzaile fidantza ordaindu da", - "Your order is public":"Zure eskaera publikatu da", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"Pazientzia izan robotek liburua aztertzen duten bitartean. Kutxa honek joko du 🔊 robot batek zure eskaera hartzen duenean, gero {{deposit_timer_hours}}h {{deposit_timer_minutes}}m izango dituzu erantzuteko. Ez baduzu erantzuten, zure fidantza galdu dezakezu.", - "If the order expires untaken, your bond will return to you (no action needed).":"Eskaera hartu gabe amaitzen bada, fidantza automatikoki itzuliko zaizu.", - "Enable Telegram Notifications":"Baimendu Telegram Jakinarazpenak", - "Enable TG Notifications":"Baimendu TG Jakinarazpenak", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"RoboSats telegrama botarekin hitz egingo duzu. Zabaldu berriketa eta sakatu Start. Telegrama bidez anonimotasun maila jaitsi zenezake.", - "Go back":"Joan atzera", - "Enable":"Baimendu", - "Telegram enabled":"Telegram baimendua", - "Public orders for {{currencyCode}}":"Eskaera publikoak {{currencyCode}}entzat", - "Premium rank": "Prima maila", - "Among public {{currencyCode}} orders (higher is cheaper)": "{{currencyCode}} eskaera publikoen artean (altuagoa merkeagoa da)", - "A taker has been found!":"Hartzaile bat aurkitu da!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Mesedez itxaron hartzaileak fidantza blokeatu harte. Hartzaileak fidantza garaiz blokeatzen ez badu, eskaera berriz publikatuko da.", - "Payout Lightning Invoice":"Lightning Faktura ordaindu", - "Your info looks good!":"Zure informazioa ondo dago!", - "We are waiting for the seller to lock the trade amount.":"Saltzaileak adostutako kopurua blokeatu zain gaude.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Itxaron pixka bat. Saltzaileak ez badu gordailatzen, automatikoki berreskuratuko duzu zure fidantza. Gainera, konpentsazio bat jasoko duzu (begiratu sariak zure profilean).", - "The trade collateral is locked!":"Kolaterala blokeatu da!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Erosleak lightning faktura bat partekatu zain gaude. Behin hori eginda, zuzenean fiat ordainketaren xehetasunak komunikatu ahalko dizkiozu.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Itxaron pixka bat. Erosleak ez badu kooperatzen, kolaterala eta zure fidantza automatikoki jasoko dituzu. Gainera, konpentsazio bat jasoko duzu (begiratu sariak zure profilean).", - "Confirm {{amount}} {{currencyCode}} sent":"Baieztatu {{amount}} {{currencyCode}} bidali dela", - "Confirm {{amount}} {{currencyCode}} received":"Baieztatu {{amount}} {{currencyCode}} jaso dela", - "Open Dispute":"Eztabaida Ireki", - "The order has expired":"Eskaera iraungi da", - "Chat with the buyer":"Txateatu eroslearekin", - "Chat with the seller":"Txateatu saltzailearekin", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Agurtu! Lagungarri eta labur izan. Jakin dezatela {{amount}} {{currencyCode}}ak nola bidali.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"Erosleak fiata bidali du. Klikatu 'Baieztatu Jasoa' behin jasota.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Agurtu! Eskatu ordainketa xehetasunak eta klikatu 'Baieztatu Bidalia' ordainketa egin bezain pronto.", - "Wait for the seller to confirm he has received the payment.":"Itxaron saltzaileak ordainketa jaso duela baieztatu arte.", - "Confirm you received {{amount}} {{currencyCode}}?":"Baieztatu {{amount}} {{currencyCode}} jaso duzula?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Fiata jaso duzula baieztatzean, salerosketa amaituko da. Blokeatutako Satoshiak erosleari bidaliko zaizkio. Baieztatu bakarrik {{amount}} {{currencyCode}}ak zure kontuan jaso badituzu. Gainera, {{currencyCode}}ak jaso badituzu baina ez baduzu baieztatzen, zure fidantza galtzea arriskatzen duzu.", - "Confirm":"Baieztatu", - "Trade finished!":"Salerosketa amaitua!", - "rate_robosats":"Zer iruditu zaizu <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Mila esker! RoboSatsek ere maite zaitu ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats hobetu egiten da likidezia eta erabiltzaile gehiagorekin. Aipatu Robosats lagun bitcoiner bati!", - "Thank you for using Robosats!":"Mila esker Robosats erabiltzeagatik!", - "let_us_know_hot_to_improve":"Kontaiguzu nola hobetu dezakegun (<1>Telegram / <3>Github)", - "Start Again":"Berriz Hasi", - "Attempting Lightning Payment":"Lightning Ordainketa saiatzen", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats zure Lightning faktura ordaintzen saiatzen ari da. Gogoratu lightning nodoak online egon behar direla ordainketak jaso ahal izateko.", - "Retrying!":"Berriz saiatzen!", - "Lightning Routing Failed":"Lightning Bideratze Akatsa", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.":"Zure faktura iraungi da edo 3 ordainketa saiakera baino gehiago egin dira. Aurkeztu faktura berri bat.", - "Check the list of compatible wallets":"Begiratu kartera bateragarrien zerrenda", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats 3 aldiz saiatuko da zure faktura ordaintzen, tartean minutu bateko etenaldiarekin. Akatsa ematen jarraitzen badu, faktura berri bat aurkeztu ahal izango duzu. Begiratu ea nahikoa sarrerako likidezia daukazun. Gogoratu lightning nodoak online egon behar direla ordainketak jaso ahal izateko.", - "Next attempt in":"Hurrengo saiakera", - "Do you want to open a dispute?":"Eztabaida bat ireki nahi duzu?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"RoboSatseko langileek baieztapenak eta frogak aztertuko dituzte. Kasu oso bat eraiki behar duzu, langileek ezin baitute txateko berriketa irakurri. Hobe da behin erabiltzeko kontaktu metodo bat ematea zure adierazpenarekin. Blokeatutako Satosiak eztabaidako irabazleari bidaliko zaizkio, eta galtzaileak, berriz, fidantza galduko du.", - "Disagree":"Atzera", - "Agree and open dispute":"Onartu eta eztabaida ireki", - "A dispute has been opened":"Eztabaida bat ireki da", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Mesedez, aurkeztu zure adierazpena. Argitu eta zehaztu gertatutakoa eta eman frogak. Kontaktu metodo bat jarri BEHAR duzu: Behin erabiltzeko posta elektronikoa, XMPP edo telegram erabiltzailea langileekin jarraitzeko. Benetako roboten (hau da, gizakien) diskrezioz konpontzen dira eztabaidak, eta, beraz, ahalik eta lagungarrien izan zaitez emaitza on bat bermatzeko. Gehienez 5000 karaktere.", - "Submit dispute statement":"Aurkeztu eztabaidaren adierazpena", - "We have received your statement":"Zure adierazpena jaso dugu", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Zure kidearen baieztapenaren zain gaude. Zalantzan bazaude eztabaidaren egoeraz edo informazio gehiago erantsi nahi baduzu, kontaktatu robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Mesedez, gorde zure agindua eta zure ordainketak identifikatzeko behar duzun informazioa: eskaera IDa; fidantzaren edo gordailuaren ordainagiriak (begira ezazu zure lightning karteran); satosi kopuru zehatza; eta robot ezizena. Zure burua identifikatu beharko duzu salerosketa honetako partehartzaile moduan posta elektroniko bidez (edo beste kontaktu metodo baten bitartez).", - "We have the statements":"Adierazpenak jaso ditugu", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Bi adierazpenak jaso dira. Itxaron langileek eztabaida ebatzi arte. Eztabaidaren egoeraz zalantzak badituzu edo informazio gehiago eman nahi baduzu, jarri robosatekin harremanetan. Ez baduzu kontaktu metodo bat eman edo ez bazaude ziur ondo idatzi duzun, idatzi berehala.", - "You have won the dispute":"Eztabaida irabazi duzu", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Eztabaidaren ebazpen-kopurua jaso dezakezu (fidantza eta kolaterala) zure profileko sarien atalean. Langileek egin dezaketen beste zerbait badago, ez izan zalantzarik harremanetan jartzeko robosat@protonmail.com bidez (edo zure behin erabiltzeko metodoarekin).", - "You have lost the dispute":"Eztabaida galdu duzu", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Tamalez, eztabaida galdu duzu. Akatsen bat dagoela uste baduzu kasua berriz ere irekitzea eska dezakezu robosats@protonmail.com helbidera idatziz. Hala ere, berriro ikertzeko aukerak eskasak dira.", - "Expired not taken":"Hartua gabe iraungi da", - "Maker bond not locked":"Egilearen fidantza ez da blokeatu", - "Escrow not locked":"Gordailua ez da blokeatu", - "Invoice not submitted":"Faktura ez da bidali", - "Neither escrow locked or invoice submitted":"Gordailurik ez da blokeatu eta fakturarik ez da jaso", - "Renew Order":"Eskaera Berritu", - "Pause the public order":"Eskaera publikoa eten", - "Your order is paused":"Zure eskaera etenaldian dago", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"Zure ordena publikoa eten egin da. Oraingoz beste robot batzuek ezin dute ez ikusi ez hartu. Noiznahi aktibatu dezakezu.", - "Unpause Order":"Eskaera berriz ezarri", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"Zure fidantza galtzea arriskatzen duzu kolaterala ez baduzu blokeatzen. Geratzen den denbora ondorengoa da: {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets":"Begiratu Kartera Bateragarriak", - "Failure reason:":"Akatsaren arrazoia:", - "Payment isn't failed (yet)":"Ordainketak ez du huts egin (oraindik)", - "There are more routes to try, but the payment timeout was exceeded.":"Bide gehiago daude saiatzeko, baina ordaintzeko epea gainditu da.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"Bide posible guztiak probatu dira eta etengabe huts egin dute. Edo agian ez zegoen bide posiblerik.", - "A non-recoverable error has occurred.":"Akats berreskuraezin bat gertatu da.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"Ordainketa xehetasunak okerrak dira (hash ezezaguna, kopuru okerra edo azken CLTV delta baliogabea).", - "Insufficient unlocked balance in RoboSats' node.":"Ez dago balantze libre nahikoa RoboSatsen nodoan.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"Aurkeztutako fakturak bide-aztarna garestiak besterik ez ditu, kartera bateraezin bat erabiltzen ari zara (ziurrenik Muun?). Egiaztatu karteraren bateragarritasun gida wallets.robosats.com helbidean", - "The invoice provided has no explicit amount":"Aurkeztutako fakturak ez du kopuru espliziturik", - "Does not look like a valid lightning invoice":"Ez dirudi lightning faktura onargarri bat denik", - "The invoice provided has already expired":"Aurkeztutako faktura dagoeneko iraungi da", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"Ziurtatu txata ESPORTATU duzula. Baliteke langileek zure txat log JSON esportatua eskatzea desadostasunak konpontzeko. Zure ardura da gordetzea.", - "Does not look like a valid address":"Ez dirudi helbide onargarri bat denik", - "This is not a bitcoin mainnet address":"Hau ez da bitcoin mainnet helbide bat", - "This is not a bitcoin testnet address":"Hau ez da bitcoin testnet helbide bat", - "Submit payout info for {{amountSats}} Sats":"Bidali {{amountSats}} Satoshiko ordainketa informazioa", - "Submit a valid invoice for {{amountSats}} Satoshis.":"Bidali {{amountSats}} Satoshiko baliozko faktura bat.", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.":"{{amountFiat}} {{currencyCode}} bidaltzea baimendu aurretik, ziurtatu nahi dugu BTC jaso dezakezula.", - "RoboSats will do a swap and send the Sats to your onchain address.":"RoboSatsek swap bat egingo du eta Satoshiak zure onchain helbidera bidaliko ditu.", - "Swap fee":"Swap kuota", - "Mining fee":"Meatzaritza kuota", - "Mining Fee":"Meatzaritza Kuota", - "Final amount you will receive":"Jasoko duzun azken kopurua", - "Bitcoin Address":"Bitcoin Helbidea", - "Your TXID":"Zure TXID", - "Lightning":"Lightning", - "Onchain":"Onchain", - - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Itxi", - "What is RoboSats?":"Zer da RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"BTC/FIAT P2P trukaketa bat da lightningen gainean.", - "RoboSats is an open source project ":"RoboSats kode irekiko proiektu bat da ", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"Parekatzea sinplifikatzen du eta konfiantza beharra minimizatzen du. RoboSats pribatutasunean eta abiaduran zentratzen da.", - "(GitHub).":"(GitHub).", - "How does it work?":"Nola funtzionatzen du?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymousAlice01ek bitcoina saldu nahi du. Salmenta eskaera bat ezartzen du. BafflingBob02k bitcoina erosi nahi du eta Aliceren agindua onartzen du. Biek fidantza txiki bat jarri behar dute lightning erabiliz benetako robotak direla frogatzeko. Orduan Alicek kolaterala jartzen du lightning faktura bat erabiliz. RoboSatsek faktura blokeatzen du Alicek fiata jaso duela baieztatu arte. Orduan, satoshiak desblokeatu eta Bobi bidaltzen zaizkio. Gozatu zure satoshiez, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"AnonymousAlice01ek eta BafflingBob02k ez dituzte inoiz bitcoin funtsak elkarren esku utzi behar. Gatazka bat baldin badute, RoboSatseko langileek gatazka ebazten lagunduko dute.", - "You can find a step-by-step description of the trade pipeline in ":"Salerosketaren pausoz-pausoko deskribapen bat aurki dezakezu ondorengo helbidean ", - "How it works":"Nola dabilen", - "You can also check the full guide in ":"Gida oso ere hemen aurki dezakezu ", - "How to use":"Nola erabili", - "What payment methods are accepted?":"Zein ordainketa modu onartzen dira?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Denak bizkorrak diren bitartean. Idatzi zure ordainketa-metodoa(k). Metodo hori onartzen duen parearekin bat egin beharko duzu. Fiat trukatzeko urratsak 24 orduko epea du eztabaida automatikoki ireki aurretik. Gomendatzen dugu berehalako fiat ordainketa moduak erabiltzea.", - "Are there trade limits?":"Ba al dago salerosketa mugarik?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"Selerosketa muga {{maxAmount}} Satoshikoa da lightning bideratze arazoak minimizatzeko. Ez dago mugarik eguneko salerosketen kopuruan. Robot batek agindu bakarra izan dezake aldi bakoitzean. Hala ere, robot anitzak erabil ditzakezu aldi berean nabigatzaile desberdinetan (gogoratu zure robotaren tokenak gordetzea!).", - "Is RoboSats private?":"RoboSats pribatua da?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSatsek ez dizu inoiz zure izena, aberria edo nortasun agiria eskatuko. RoboSatsek ez ditu zure funtsak zaintzen eta berdin dio nor zaren. RoboSatsek ez du datu pertsonalik jasotzen edo gordetzen. Anonimatu onena izateko Tor Browser erabili eta .onion zerbitzu ezkutu bidez sartu.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Zure parea da zutaz zerbait asmatzeko gai den bakarra. Mantendu elkarrizketa labur eta zehatza. Behar-beharrezkoa ez den informaziorik ez eman, ez bada fiat ordainketaren xehetasunentzako.", - "What are the risks?":"Zein dira arriskuak?", - "This is an experimental application, things could go wrong. Trade small amounts!":"Aplikazio esperimental bat da, gauzak okertu daitezke. Kopuru txikiak trukatu!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"Saltzaileak edozein P2P zerbitzuren itzultze-arrisku berak ditu. PayPal edo kreditu txartelak ez dira gomendagarriak.", - "What is the trust model?":"Zein da konfiantza eredua?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"Erosleak eta saltzaileak ez dute inoiz elkarrenganako konfiantzarik izan behar. RoboSatsen konfiantza apur bat behar da, izan ere saltzailearen fakturaren eta eroslearen ordainketaren lotura ez da atomikoa (oraindik). Gainera, eztabaidak RoboSatseko langileek konpontzen dituzte.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"Garbi hitz egiteko. Konfiantza baldintzak minimizatzen dira. Hala ere, oraindik bada modu bat non RoboSatsek ihes egin dezakeen zure satoshiekin: erosleari satoshiak ez igorriaz. Esan liteke mugimendu hori ez dela interesgarria RoboSatsentzat, ordainketa txiki batengatik ospea kaltetuko bailuke. Hala ere, kontuz ibili beharko zenuke eta kopuru txikiak bakarrik trukatu. Kantitate handietarako, erabili Bisq moduko onchain gordailu zerbitzuak", - "You can build more trust on RoboSats by inspecting the source code.":"RoboSatsengan konfiantza handiagoa izan dezakezu kode iturburua aztertuz.", - "Project source code":"Proiektuaren kode iturburua", - "What happens if RoboSats suddenly disappears?":"Zer gertatzen da RoboSats bat-batean desagertzen bada?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Zure satoshiak zuregana itzuliko dira. Ebatzita ez dagoen edozein faktura automatikoki itzuliko litzateke RoboSats betiko eroriko balitz ere. Hau horrela da bai fidantza eta baita gordailuentzat ere. Hala ere, leiho txiki bat dago saltzaileak FIAT JASOA berresten duen eta erosleak satoshiak jasotzen dituen momentuaren artean, zeinetan funtsak galdu ahal izango liratekeen RoboSats desagertuz gero. Leiho hau segundo batekoa da. Ziurtatu sarrerako likidezia nahikoa izatea akatsak saihesteko. Arazorik baduzu, jarri gurekin harremanetan RoboSats kanal publikoen bitartez.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"Herrialde askotan, RoboSats ez da Ebay edo Craiglist erabiltzearen ezberdina. Zure araudia alda daiteke. Zure ardura da betetzea.", - "Is RoboSats legal in my country?":"RoboSats legezkoa da nire herrialdean?", - "Disclaimer":"Legezko abisua", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Lightning aplikazio hau etengabe garatzen ari da eta bere horretan entregatzen da: kontu handiz egin trukeak. Ez dago euskarri pribaturik. Euskarria kanal publikoetan bakarrik eskaintzen da ", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats ez da zurekin harremanetan jarriko. RoboSatsek ez dizu inoiz eskatuko zure robot tokena." + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Itxi", + "What is RoboSats?": "Zer da RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "BTC/FIAT P2P trukaketa bat da lightningen gainean.", + "RoboSats is an open source project ": "RoboSats kode irekiko proiektu bat da ", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Parekatzea sinplifikatzen du eta konfiantza beharra minimizatzen du. RoboSats pribatutasunean eta abiaduran zentratzen da.", + "(GitHub).": "(GitHub).", + "How does it work?": "Nola funtzionatzen du?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01ek bitcoina saldu nahi du. Salmenta eskaera bat ezartzen du. BafflingBob02k bitcoina erosi nahi du eta Aliceren agindua onartzen du. Biek fidantza txiki bat jarri behar dute lightning erabiliz benetako robotak direla frogatzeko. Orduan Alicek kolaterala jartzen du lightning faktura bat erabiliz. RoboSatsek faktura blokeatzen du Alicek fiata jaso duela baieztatu arte. Orduan, satoshiak desblokeatu eta Bobi bidaltzen zaizkio. Gozatu zure satoshiez, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "AnonymousAlice01ek eta BafflingBob02k ez dituzte inoiz bitcoin funtsak elkarren esku utzi behar. Gatazka bat baldin badute, RoboSatseko langileek gatazka ebazten lagunduko dute.", + "You can find a step-by-step description of the trade pipeline in ": "Salerosketaren pausoz-pausoko deskribapen bat aurki dezakezu ondorengo helbidean ", + "How it works": "Nola dabilen", + "You can also check the full guide in ": "Gida oso ere hemen aurki dezakezu ", + "How to use": "Nola erabili", + "What payment methods are accepted?": "Zein ordainketa modu onartzen dira?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Denak bizkorrak diren bitartean. Idatzi zure ordainketa-metodoa(k). Metodo hori onartzen duen parearekin bat egin beharko duzu. Fiat trukatzeko urratsak 24 orduko epea du eztabaida automatikoki ireki aurretik. Gomendatzen dugu berehalako fiat ordainketa moduak erabiltzea.", + "Are there trade limits?": "Ba al dago salerosketa mugarik?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Selerosketa muga {{maxAmount}} Satoshikoa da lightning bideratze arazoak minimizatzeko. Ez dago mugarik eguneko salerosketen kopuruan. Robot batek agindu bakarra izan dezake aldi bakoitzean. Hala ere, robot anitzak erabil ditzakezu aldi berean nabigatzaile desberdinetan (gogoratu zure robotaren tokenak gordetzea!).", + "Is RoboSats private?": "RoboSats pribatua da?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSatsek ez dizu inoiz zure izena, aberria edo nortasun agiria eskatuko. RoboSatsek ez ditu zure funtsak zaintzen eta berdin dio nor zaren. RoboSatsek ez du datu pertsonalik jasotzen edo gordetzen. Anonimatu onena izateko Tor Browser erabili eta .onion zerbitzu ezkutu bidez sartu.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Zure parea da zutaz zerbait asmatzeko gai den bakarra. Mantendu elkarrizketa labur eta zehatza. Behar-beharrezkoa ez den informaziorik ez eman, ez bada fiat ordainketaren xehetasunentzako.", + "What are the risks?": "Zein dira arriskuak?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Aplikazio esperimental bat da, gauzak okertu daitezke. Kopuru txikiak trukatu!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Saltzaileak edozein P2P zerbitzuren itzultze-arrisku berak ditu. PayPal edo kreditu txartelak ez dira gomendagarriak.", + "What is the trust model?": "Zein da konfiantza eredua?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Erosleak eta saltzaileak ez dute inoiz elkarrenganako konfiantzarik izan behar. RoboSatsen konfiantza apur bat behar da, izan ere saltzailearen fakturaren eta eroslearen ordainketaren lotura ez da atomikoa (oraindik). Gainera, eztabaidak RoboSatseko langileek konpontzen dituzte.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Garbi hitz egiteko. Konfiantza baldintzak minimizatzen dira. Hala ere, oraindik bada modu bat non RoboSatsek ihes egin dezakeen zure satoshiekin: erosleari satoshiak ez igorriaz. Esan liteke mugimendu hori ez dela interesgarria RoboSatsentzat, ordainketa txiki batengatik ospea kaltetuko bailuke. Hala ere, kontuz ibili beharko zenuke eta kopuru txikiak bakarrik trukatu. Kantitate handietarako, erabili Bisq moduko onchain gordailu zerbitzuak", + "You can build more trust on RoboSats by inspecting the source code.": "RoboSatsengan konfiantza handiagoa izan dezakezu kode iturburua aztertuz.", + "Project source code": "Proiektuaren kode iturburua", + "What happens if RoboSats suddenly disappears?": "Zer gertatzen da RoboSats bat-batean desagertzen bada?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Zure satoshiak zuregana itzuliko dira. Ebatzita ez dagoen edozein faktura automatikoki itzuliko litzateke RoboSats betiko eroriko balitz ere. Hau horrela da bai fidantza eta baita gordailuentzat ere. Hala ere, leiho txiki bat dago saltzaileak FIAT JASOA berresten duen eta erosleak satoshiak jasotzen dituen momentuaren artean, zeinetan funtsak galdu ahal izango liratekeen RoboSats desagertuz gero. Leiho hau segundo batekoa da. Ziurtatu sarrerako likidezia nahikoa izatea akatsak saihesteko. Arazorik baduzu, jarri gurekin harremanetan RoboSats kanal publikoen bitartez.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "Herrialde askotan, RoboSats ez da Ebay edo Craiglist erabiltzearen ezberdina. Zure araudia alda daiteke. Zure ardura da betetzea.", + "Is RoboSats legal in my country?": "RoboSats legezkoa da nire herrialdean?", + "Disclaimer": "Legezko abisua", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Lightning aplikazio hau etengabe garatzen ari da eta bere horretan entregatzen da: kontu handiz egin trukeak. Ez dago euskarri pribaturik. Euskarria kanal publikoetan bakarrik eskaintzen da ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats ez da zurekin harremanetan jarriko. RoboSatsek ez dizu inoiz eskatuko zure robot tokena." } diff --git a/frontend/static/locales/fr.json b/frontend/static/locales/fr.json index 780cbf73e..c5b819094 100644 --- a/frontend/static/locales/fr.json +++ b/frontend/static/locales/fr.json @@ -1,365 +1,359 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Vous n'utilisez pas RoboSats en privé", - "desktop_unsafe_alert": "Certaines fonctionnalités sont désactivées pour votre protection (e.g, le chat) et vous ne pourrez pas effectuer une transaction sans elles. Pour protéger votre vie privée et activer pleinement RoboSats, utilisez <1>Tor Browser et visitez le site <3>Onion.", - "phone_unsafe_alert": "Vous ne serez pas en mesure d'effectuer un échange. Utilisez <1>Tor Browser et visitez le site <3>Onion.", - "Hide":"Cacher", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Vous n'utilisez pas RoboSats en privé", + "desktop_unsafe_alert": "Certaines fonctionnalités sont désactivées pour votre protection (e.g, le chat) et vous ne pourrez pas effectuer une transaction sans elles. Pour protéger votre vie privée et activer pleinement RoboSats, utilisez <1>Tor Browser et visitez le site <3>Onion.", + "phone_unsafe_alert": "Vous ne serez pas en mesure d'effectuer un échange. Utilisez <1>Tor Browser et visitez le site <3>Onion.", + "Hide": "Cacher", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Echange LN P2P simple et privé", + "This is your trading avatar": "Ceci est votre avatar d'échange", + "Store your token safely": "Stockez votre jeton en sécurité", + "A robot avatar was found, welcome back!": "Un avatar de robot a été trouvé, bienvenu", + "Copied!": "Copié!", + "Generate a new token": "Générer un nouveau jeton", + "Generate Robot": "Générer un robot", + "You must enter a new token first": "Vous devez d'abord saisir un nouveau jeton", + "Make Order": "Créer un ordre", + "Info": "Info", + "View Book": "Voir livre", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Echange LN P2P simple et privé", - "This is your trading avatar":"Ceci est votre avatar d'échange", - "Store your token safely":"Stockez votre jeton en sécurité", - "A robot avatar was found, welcome back!":"Un avatar de robot a été trouvé, bienvenu", - "Copied!":"Copié!", - "Generate a new token":"Générer un nouveau jeton", - "Generate Robot":"Générer un robot", - "You must enter a new token first":"Vous devez d'abord saisir un nouveau jeton", - "Make Order":"Créer un ordre", - "Info":"Info", - "View Book":"Voir livre", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Ordre", + "Customize": "Personnaliser", + "Buy or Sell Bitcoin?": "Acheter ou vendre bitcoin?", + "Buy": "Acheter", + "Sell": "Vendre", + "Amount": "Montant", + "Amount of fiat to exchange for bitcoin": "Montant de fiat à échanger contre bitcoin", + "Invalid": "Invalide", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Entrez vos modes de paiement fiat préférées. Les modes rapides sont fortement recommandées.", + "Must be shorter than 65 characters": "Doit être plus court que 65 caractères", + "Swap Destination(s)": "Destination(s) de l'échange", + "Fiat Payment Method(s)": "Mode(s) de paiement Fiat", + "You can add any method": "Vous pouvez ajouter n'importe quel mode", + "Add New": "Ajouter nouveau", + "Choose a Pricing Method": "Choisir un mode de tarification", + "Relative": "Relative", + "Let the price move with the market": "Laisser le prix évoluer avec le marché", + "Premium over Market (%)": "Prime sur le marché (%)", + "Explicit": "Explicite", + "Set a fix amount of satoshis": "Fixer un montant fixe de satoshis", + "Satoshis": "Satoshis", + "Let the taker chose an amount within the range": "Laisser le preneur choisir un montant dans la fourchette", + "Enable Amount Range": "Activer la plage de montants", + "From": "De", + "to": "à", + "Public Duration (HH:mm)": "Durée publique (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Définissez la peau en jeu, augmentez pour une meilleure assurance de sécurité", + "Fidelity Bond Size": "Taille de la garantie de fidélité", + "Allow bondless takers": "Autoriser les preneurs sans caution", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "BIENTÔT DISPONIBLE - Haut risque! Limité à {{limitSats}}K Sats", + "You must fill the order correctly": "Vous devez remplir l'ordre correctement", + "Create Order": "Créer un ordre", + "Back": "Retour", + "Create a BTC buy order for ": "Créer un ordre d'achat en BTC pour ", + "Create a BTC sell order for ": "Créer un ordre de vente de BTC pour ", + " of {{satoshis}} Satoshis": " de {{satoshis}} Satoshis", + " at market price": " au prix du marché", + " at a {{premium}}% premium": " à une prime de {{premium}}%", + " at a {{discount}}% discount": " à une remise de {{discount}}%", + "Must be less than {{max}}%": "Doit être moins que {{max}}%", + "Must be more than {{min}}%": "Doit être plus que {{min}}%", + "Must be less than {{maxSats}": "Doit être moins que {{maxSats}}", + "Must be more than {{minSats}}": "Doit être plus que {{minSats}}", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Non spécifié", + "Instant SEPA": "Instant SEPA", + "Amazon GiftCard": "Carte cadeau Amazon", + "Google Play Gift Code": "Code cadeau Google Play", + "Cash F2F": "En espèces face-à-face", + "On-Chain BTC": "BTC on-Chain", - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Ordre", - "Customize":"Personnaliser", - "Buy or Sell Bitcoin?":"Acheter ou vendre bitcoin?", - "Buy":"Acheter", - "Sell":"Vendre", - "Amount":"Montant", - "Amount of fiat to exchange for bitcoin":"Montant de fiat à échanger contre bitcoin", - "Invalid":"Invalide", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Entrez vos modes de paiement fiat préférées. Les modes rapides sont fortement recommandées.", - "Must be shorter than 65 characters":"Doit être plus court que 65 caractères", - "Swap Destination(s)":"Destination(s) de l'échange", - "Fiat Payment Method(s)":"Mode(s) de paiement Fiat", - "You can add any method":"Vous pouvez ajouter n'importe quel mode", - "Add New":"Ajouter nouveau", - "Choose a Pricing Method":"Choisir un mode de tarification", - "Relative":"Relative", - "Let the price move with the market":"Laisser le prix évoluer avec le marché", - "Premium over Market (%)":"Prime sur le marché (%)", - "Explicit":"Explicite", - "Set a fix amount of satoshis":"Fixer un montant fixe de satoshis", - "Satoshis":"Satoshis", - "Let the taker chose an amount within the range":"Laisser le preneur choisir un montant dans la fourchette", - "Enable Amount Range":"Activer la plage de montants", - "From": "De", - "to":"à", - "Public Duration (HH:mm)":"Durée publique (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Définissez la peau en jeu, augmentez pour une meilleure assurance de sécurité", - "Fidelity Bond Size":"Taille de la garantie de fidélité", - "Allow bondless takers":"Autoriser les preneurs sans caution", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"BIENTÔT DISPONIBLE - Haut risque! Limité à {{limitSats}}K Sats", - "You must fill the order correctly":"Vous devez remplir l'ordre correctement", - "Create Order":"Créer un ordre", - "Back":"Retour", - "Create a BTC buy order for ":"Créer un ordre d'achat en BTC pour ", - "Create a BTC sell order for ":"Créer un ordre de vente de BTC pour ", - " of {{satoshis}} Satoshis":" de {{satoshis}} Satoshis", - " at market price":" au prix du marché", - " at a {{premium}}% premium":" à une prime de {{premium}}%", - " at a {{discount}}% discount":" à une remise de {{discount}}%", - "Must be less than {{max}}%":"Doit être moins que {{max}}%", - "Must be more than {{min}}%":"Doit être plus que {{min}}%", - "Must be less than {{maxSats}": "Doit être moins que {{maxSats}}", - "Must be more than {{minSats}}": "Doit être plus que {{minSats}}", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Vendeur", + "Buyer": "Acheteur", + "I want to": "Je veux", + "Select Order Type": "Sélectionner le type d'ordre", + "ANY_type": "TOUT", + "ANY_currency": "TOUT", + "BUY": "ACHETER", + "SELL": "VENDRE", + "and receive": "et recevoir", + "and pay with": "et payer avec", + "and use": "et utiliser", + "Select Payment Currency": "Sélectionner la devise de paiement", + "Robot": "Robot", + "Is": "Est", + "Currency": "Devise", + "Payment Method": "Mode de paiement", + "Pay": "Payer", + "Price": "Prix", + "Premium": "Prime", + "You are SELLING BTC for {{currencyCode}}": "Vous VENDEZ des BTC pour {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "Vous ACHETEZ des BTC pour {{currencyCode}}", + "You are looking at all": "Vous regardez tout", + "No orders found to sell BTC for {{currencyCode}}": "Aucun ordre trouvé pour vendre des BTC pour {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "Aucun ordre trouvé pour acheter des BTC pour {{currencyCode}}", + "Be the first one to create an order": "Soyez le premier à créer un ordre", - - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Non spécifié", - "Instant SEPA":"Instant SEPA", - "Amazon GiftCard":"Carte cadeau Amazon", - "Google Play Gift Code":"Code cadeau Google Play", - "Cash F2F":"En espèces face-à-face", - "On-Chain BTC":"BTC on-Chain", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Stats pour des geeks", + "LND version": "Version", + "Currently running commit hash": "Hachage de la version en cours", + "24h contracted volume": "Volume contracté en 24h", + "Lifetime contracted volume": "Volume contracté total", + "Made with": "Construit avec", + "and": "et", + "... somewhere on Earth!": "... quelque part sur Terre!", + "Community": "Communauté", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Le support est uniquement offert via des canaux publics. Rejoignez notre communauté Telegram si vous avez des questions ou si vous voulez passer du temps avec d'autres robots sympas. Utilisez notre Github pour notifier un bug ou si vous voulez voir de nouvelles fonctionnalités!", + "Join the RoboSats group": "Rejoignez le groupe RoboSats", + "Telegram (English / Main)": "Telegram (Anglais / Principal)", + "RoboSats Telegram Communities": "Communautés Telegram RoboSats", + "Join RoboSats Spanish speaking community!": "Rejoignez la communauté hispanophone de RoboSats!", + "Join RoboSats Russian speaking community!": "Rejoignez la communauté russophone de RoboSats!", + "Join RoboSats Chinese speaking community!": "Rejoignez la communauté chinoise de RoboSats!", + "Join RoboSats English speaking community!": "Rejoignez la communauté anglophone de RoboSats!", + "Tell us about a new feature or a bug": "Parlez-nous d'une nouvelle fonctionnalité ou d'un bug", + "Github Issues - The Robotic Satoshis Open Source Project": "Sujets de Github - Le Projet Open Source des Satoshis Robotiques", + "Your Profile": "Votre profil", + "Your robot": "Votre robot", + "One active order #{{orderID}}": "Un ordre active #{{orderID}}", + "Your current order": "Votre ordre en cours", + "No active orders": "Aucun ordre actif", + "Your token (will not remain here)": "Votre jeton (ne restera pas ici)", + "Back it up!": "Sauvegardez!", + "Cannot remember": "Impossible de se souvenir", + "Rewards and compensations": "Récompenses et compensations", + "Share to earn 100 Sats per trade": "Partagez pour gagner 100 Sats par transaction", + "Your referral link": "Votre lien de parrainage", + "Your earned rewards": "Vos récompenses gagnées", + "Claim": "Réclamer", + "Invoice for {{amountSats}} Sats": "Facture pour {{amountSats}} Sats", + "Submit": "Soumettre", + "There it goes, thank you!🥇": "C'est parti, merci!🥇", + "You have an active order": "Vous avez un ordre actif", + "You can claim satoshis!": "Vous pouvez réclamer des satoshis!", + "Public Buy Orders": "Ordres d'achat publics", + "Public Sell Orders": "Ordres de vente publics", + "Today Active Robots": "Robots actifs aujourd'hui", + "24h Avg Premium": "Prime moyenne sur 24h", + "Trade Fee": "Frais de transaction", + "Show community and support links": "Afficher les liens de la communauté et du support", + "Show stats for nerds": "Afficher les stats pour les geeks", + "Exchange Summary": "Résumé de l'échange", + "Public buy orders": "Ordres d'achat publics", + "Public sell orders": "Ordres de vente publics", + "Book liquidity": "Liquidité du livre", + "Today active robots": "Robots actifs aujourd'hui", + "24h non-KYC bitcoin premium": "Prime bitcoin non-KYC 24h", + "Maker fee": "Frais du createur", + "Taker fee": "Frais du preneur", + "Number of public BUY orders": "Nombre d'ordres d'ACHAT publics", + "Number of public SELL orders": "Nombre d'ordres de VENTE publics", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Ordres", + "Contract": "Contrat", + "Active": "Actif", + "Seen recently": "Vu récemment", + "Inactive": "Inactif", + "(Seller)": "(Vendeur)", + "(Buyer)": "(Acheteur)", + "Order maker": "Createur d'ordre", + "Order taker": "Preneur d'ordre", + "Order Details": "Détails de l'ordre", + "Order status": "Etat de l'ordre", + "Waiting for maker bond": "En attente de la caution du createur", + "Public": "Public", + "Waiting for taker bond": "En attente de la caution du preneur", + "Cancelled": "Annulé", + "Expired": "Expiré", + "Waiting for trade collateral and buyer invoice": "En attente de la garantie et de la facture de l'acheteur", + "Waiting only for seller trade collateral": "N'attendant que la garantie du vendeur", + "Waiting only for buyer invoice": "N'attendant que la facture de l'acheteur", + "Sending fiat - In chatroom": "Envoi de fiat - Dans le salon de discussion", + "Fiat sent - In chatroom": "Fiat envoyée - Dans le salon de discussion", + "In dispute": "En litige", + "Collaboratively cancelled": "Annulé en collaboration", + "Sending satoshis to buyer": "Envoi de satoshis à l'acheteur", + "Sucessful trade": "Transaction réussie", + "Failed lightning network routing": "Échec de routage du réseau lightning", + "Wait for dispute resolution": "Attendre la résolution du litige", + "Maker lost dispute": "Le createur à perdu le litige", + "Taker lost dispute": "Le preneur à perdu le litige", + "Amount range": "Fourchette de montants", + "Swap destination": "Destination de l'échange", + "Accepted payment methods": "Modes de paiement acceptés", + "Others": "Autres", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prime: {{premium}}%", + "Price and Premium": "Prix et prime", + "Amount of Satoshis": "Montant de Satoshis", + "Premium over market price": "Prime sur le prix du marché", + "Order ID": "ID de l'ordre", + "Expires in": "Expire en", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} demande une annulation collaborative", + "You asked for a collaborative cancellation": "Vous avez demandé une annulation collaborative", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Facture expirée. Vous n'avez pas confirmé la publication de l'ordre à temps. Faites un nouveau ordre.", + "This order has been cancelled by the maker": "Cette ordre a été annulée par le createur", + "Invoice expired. You did not confirm taking the order in time.": "La facture a expiré. Vous n'avez pas confirmé avoir pris l'ordre dans les temps.", + "Penalty lifted, good to go!": "Pénalité levée, vous pouvez y aller!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Vous ne pouvez pas encore prendre un ordre! Attendez {{timeMin}}m {{timeSec}}s", + "Too low": "Trop bas", + "Too high": "Trop haut", + "Enter amount of fiat to exchange for bitcoin": "Saisissez le montant de fiat à échanger contre des bitcoins", + "Amount {{currencyCode}}": "Montant {{currencyCode}}", + "You must specify an amount first": "Vous devez d'abord spécifier un montant", + "Take Order": "Prendre l'ordre", + "Wait until you can take an order": "Attendez jusqu'à ce que vous puissiez prendre un ordre", + "Cancel the order?": "Annuler l'ordre?", + "If the order is cancelled now you will lose your bond.": "Si l'ordre est annulé maintenant, vous perdrez votre caution", + "Confirm Cancel": "Confirmer l'annulation", + "The maker is away": "Le createur est absent", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "En prenant cette ordre, vous risquez de perdre votre temps. Si le créateur ne procède pas dans les temps, vous serez compensé en satoshis à hauteur de 50% de la caution du créateur.", + "Collaborative cancel the order?": "Annuler l'ordre en collaboration?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Le dépôt de transaction a été enregistré. L'ordre ne peut être annulé que si les deux parties, le createur et le preneur, sont d'accord pour l'annuler.", + "Ask for Cancel": "Demande d'annulation", + "Cancel": "Annuler", + "Collaborative Cancel": "Annulation collaborative", + "Invalid Order Id": "Id d'ordre invalide", + "You must have a robot avatar to see the order details": "Vous devez avoir un avatar de robot pour voir les détails de l'ordre", + "This order has been cancelled collaborativelly": "Cette ordre a été annulée en collaboration", + "You are not allowed to see this order": "Vous n'êtes pas autorisé à voir cette ordre", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Les Robots Satoshis travaillant dans l'entrepôt ne vous ont pas compris. Merci de remplir un probléme de bug en Github https://github.com/reckless-satoshi/robosats/issues", - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Vendeur", - "Buyer":"Acheteur", - "I want to":"Je veux", - "Select Order Type":"Sélectionner le type d'ordre", - "ANY_type":"TOUT", - "ANY_currency":"TOUT", - "BUY":"ACHETER", - "SELL":"VENDRE", - "and receive":"et recevoir", - "and pay with":"et payer avec", - "and use":"et utiliser", - "Select Payment Currency":"Sélectionner la devise de paiement", - "Robot":"Robot", - "Is":"Est", - "Currency":"Devise", - "Payment Method":"Mode de paiement", - "Pay":"Payer", - "Price":"Prix", - "Premium":"Prime", - "You are SELLING BTC for {{currencyCode}}":"Vous VENDEZ des BTC pour {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"Vous ACHETEZ des BTC pour {{currencyCode}}", - "You are looking at all":"Vous regardez tout", - "No orders found to sell BTC for {{currencyCode}}":"Aucun ordre trouvé pour vendre des BTC pour {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"Aucun ordre trouvé pour acheter des BTC pour {{currencyCode}}", - "Be the first one to create an order":"Soyez le premier à créer un ordre", + "CHAT BOX - Chat.js": "Chat Box", + "You": "Vous", + "Peer": "Pair", + "connected": "connecté", + "disconnected": "déconnecté", + "Type a message": "Ecrivez un message", + "Connecting...": "Connexion...", + "Send": "Envoyer", + "The chat has no memory: if you leave, messages are lost.": "Le chat n'a pas de mémoire : si vous le quittez, les messages sont perdus.", + "Learn easy PGP encryption.": "Apprenez facilement le cryptage PGP.", + "PGP_guide_url": "https://learn.robosats.com/docs/pgp-encryption/", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Boîte de contrat", + "Robots show commitment to their peers": "Les robots s'engagent auprès de leurs pairs", + "Lock {{amountSats}} Sats to PUBLISH order": "Blocker {{amountSats}} Sats à l'ordre PUBLIER", + "Lock {{amountSats}} Sats to TAKE order": "Blocker {{amountSats}} Sats à l'ordre PRENDRE", + "Lock {{amountSats}} Sats as collateral": "Blocker {{amountSats}} Sats en garantie", + "Copy to clipboard": "Copier dans le presse-papiers", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Cette facture est en attente, elle sera gelée dans votre portefeuille. Elle ne sera débitée que si vous annulez ou perdez un litige.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Cette facture est en attente, elle sera gelée dans votre portefeuille. Elle sera remise à l'acheteur une fois que vous aurez confirmé avoir reçu les {{currencyCode}}.", + "Your maker bond is locked": "Votre obligation de createur est bloquée", + "Your taker bond is locked": "Votre obligation de preneur est bloquée", + "Your maker bond was settled": "Votre obligation de createur a été réglée", + "Your taker bond was settled": "Votre obligation de preneur a été réglée", + "Your maker bond was unlocked": "Votre obligation de createur a été déverrouillée", + "Your taker bond was unlocked": "Votre obligation de preneur a été déverrouillée", + "Your order is public": "Votre ordre est publique", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{invoice_escrow_duration}} to reply. If you do not reply, you risk losing your bond.": "Soyez patient pendant que les robots vérifient le livre. Cette case sonnera 🔊 dès qu'un robot prendra votre ordre, puis vous aurez {{invoice_escrow_duration}} heures pour répondre. Si vous ne répondez pas, vous risquez de perdre votre caution", + "If the order expires untaken, your bond will return to you (no action needed).": "Si l'ordre expire sans être prise, votre caution vous sera rendue (aucune action n'est nécessaire).", + "Enable Telegram Notifications": "Activer les notifications Telegram", + "Enable TG Notifications": "Activer notifications TG", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Vous serez redirigé vers une conversation avec le robot telegram RoboSats. Il suffit d'ouvrir le chat et d'appuyer sur Start. Notez qu'en activant les notifications Telegram, vous risquez de réduire votre niveau d'anonymat.", + "Go back": "Retourner", + "Enable": "Activer", + "Telegram enabled": "Telegram activé", + "Public orders for {{currencyCode}}": "Ordres publics pour {{currencyCode}}", + "Premium rank": "Centile de prime", + "Among public {{currencyCode}} orders (higher is cheaper)": "Parmi les ordres publics en {{currencyCode}} (la plus élevée est la moins chère)", + "A taker has been found!": "Un preneur a été trouvé!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Veuillez attendre que le preneur verrouille une caution. Si le preneur ne verrouille pas la caution à temps, l'ordre sera rendue publique à nouveau", + "Submit an invoice for {{amountSats}} Sats": "Soumettre une facture pour {{amountSats}} Sats", + "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.": "Le preneur est engagé! Avant de vous laisser envoyer {{amountFiat}} {{currencyCode}}, nous voulons nous assurer que vous êtes en mesure de recevoir le BTC. Veuillez fournir une facture valide de {{amountSats}} Satoshis.", + "Payout Lightning Invoice": "Facture lightning de paiement", + "Your invoice looks good!": "Votre facture est correcte!", + "We are waiting for the seller to lock the trade amount.": "Nous attendons que le vendeur verrouille le montant de la transaction.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Patientez un instant. Si le vendeur n'effectue pas de dépôt, vous récupérez automatiquement votre caution. En outre, vous recevrez une compensation (vérifiez les récompenses dans votre profil).", + "The trade collateral is locked!": "La garantie est verrouillée!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Nous attendons que l'acheteur dépose une facture lightning. Dès qu'il l'aura fait, vous pourrez communiquer directement les détails du paiement fiat.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Patientez un instant. Si l'acheteur ne coopère pas, vous récupérez automatiquement le dépôt de garantie et votre caution. En outre, vous recevrez une compensation (vérifiez les récompenses dans votre profil).", + "Confirm {{amount}} {{currencyCode}} sent": "Confirmer l'envoi de {{amount}} {{currencyCode}}", + "Confirm {{amount}} {{currencyCode}} received": "Confirmer la réception de {{amount}} {{currencyCode}}", + "Open Dispute": "Ouvrir litige", + "The order has expired": "L'ordre a expiré", + "Chat with the buyer": "Chat avec l'acheteur", + "Chat with the seller": "Chat avec le vendeur", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Dites bonjour! Soyez utile et concis. Faites-leur savoir comment vous envoyer les {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "L'acheteur a envoyé le fiat. Cliquez sur 'Confirmer la réception' dès que vous l'aurez reçu.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Dites bonjour! Demandez les détails du paiement et cliquez sur 'Confirmé envoyé' dès que le paiement est envoyé.", + "Wait for the seller to confirm he has received the payment.": "Attendez que le vendeur confirme qu'il a reçu le paiement.", + "Confirm you received {{amount}} {{currencyCode}}?": "Confirmez que vous avez reçu les {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Confirmer que vous avez reçu le fiat finalisera la transaction. Les satoshis dans le dépôt seront libérés à l'acheteur. Ne confirmez qu'après que les {{amount}} {{currencyCode}} soit arrivés sur votre compte. En outre, si vous avez reçu les {{currencyCode}} et que vous ne confirmez pas la réception, vous risquez de perdre votre caution.", + "Confirm": "Confirmer", + "Trade finished!": "Transaction terminée!", + "rate_robosats": "Que pensez-vous de <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Merci! RoboSats vous aime aussi ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats s'améliore avec plus de liquidité et d'utilisateurs. Parlez de Robosats à un ami bitcoiner!", + "Thank you for using Robosats!": "Merci d'utiliser Robosats!", + "let_us_know_hot_to_improve": "Faites-nous savoir comment la plateforme pourrait être améliorée (<1>Telegram / <3>Github)", + "Start Again": "Recommencer", + "Attempting Lightning Payment": "Tentative de paiement Lightning", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats tente de payer votre facture lightning. Rappelez-vous que les nœuds lightning doivent être en ligne pour recevoir des paiements.", + "Retrying!": "Nouvelle tentative!", + "Lightning Routing Failed": "Échec du routage Lightning", + "Your invoice has expired or more than 3 payment attempts have been made.": "Votre facture a expiré ou plus de 3 tentatives de paiement ont été effectuées. Le porte-monnaie Muun n'est pas recommandé.", + "Check the list of compatible wallets": "Vérifier la liste des portefeuilles compatibles", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats essaiera de payer votre facture 3 fois toutes les 1 minute. S'il continue à échouer, vous pourrez soumettre une nouvelle facture. Vérifiez si vous avez suffisamment de liquidité entrante. N'oubliez pas que les nœuds lightning doivent être en ligne pour pouvoir recevoir des paiements.", + "Next attempt in": "Prochaine tentative en", + "Do you want to open a dispute?": "Voulez-vous ouvrir un litige?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Le personnel de RoboSats examinera les déclarations et les preuves fournies. Vous devez constituer un dossier complet, car le personnel ne peut pas lire le chat. Il est préférable de fournir une méthode de contact jetable avec votre déclaration. Les satoshis dans le dépôt seront envoyés au gagnant du litige, tandis que le perdant du litige perdra la caution.", + "Disagree": "En désaccord", + "Agree and open dispute": "Accepter et ouvrir un litige", + "A dispute has been opened": "Un litige a été ouvert", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Veuillez soumettre votre déclaration. Soyez clair et précis sur ce qui s'est passé et fournissez les preuves nécessaires. Vous DEVEZ fournir une méthode de contact: email jetable, XMPP ou nom d'utilisateur telegram pour assurer le suivi avec le personnel. Les litiges sont résolus à la discrétion de vrais robots (alias humains), alors soyez aussi utile que possible pour assurer un résultat équitable. Max 5000 caractères.", + "Submit dispute statement": "Soumettre une déclaration de litige", + "We have received your statement": "Nous avons reçu votre déclaration", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Nous attendons la déclaration de votre partenaire commercial. Si vous avez des doutes sur l'état du litige ou si vous souhaitez ajouter des informations supplémentaires, contactez robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Veuillez enregistrer les informations nécessaires à l'identification de votre ordre et de vos paiements : ID de l'ordre; hachages de paiement des cautions ou des dépòts (vérifiez sur votre portefeuille lightning); montant exact des satoshis; et surnom du robot. Vous devrez vous identifier en tant qu'utilisateur impliqué dans cette transaction par e-mail (ou autres méthodes de contact).", + "We have the statements": "Nous avons les relevés", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Les deux déclarations ont été reçues, attendez que le personnel résolve le litige. Si vous avez des doutes sur l'état du litige ou si vous souhaitez ajouter des informations supplémentaires, contactez robosats@protonmail.com. Si vous n'avez pas fourni de méthode de contact, ou si vous n'êtes pas sûr de l'avoir bien écrit, écrivez-nous immédiatement.", + "You have won the dispute": "Vous avez gagné le litige", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Vous pouvez réclamer le montant de la résolution du litige (dépôt et garantie de fidélité) à partir des récompenses de votre profil. Si le personnel peut vous aider en quoi que ce soit, n'hésitez pas à nous contacter à l'adresse robosats@protonmail.com (ou via la méthode de contact jetable que vous avez fourni).", + "You have lost the dispute": "Vous avez perdu le litige", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Vous avez malheureusement perdu le litige. Si vous pensez qu'il s'agit d'une erreur, vous pouvez demander à rouvrir le dossier en envoyant un email à robosats@protonmail.com. Toutefois, les chances qu'il soit réexaminé sont faibles.", - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Stats pour des geeks", - "LND version":"Version", - "Currently running commit hash":"Hachage de la version en cours", - "24h contracted volume":"Volume contracté en 24h", - "Lifetime contracted volume":"Volume contracté total", - "Made with":"Construit avec", - "and":"et", - "... somewhere on Earth!":"... quelque part sur Terre!", - "Community":"Communauté", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Le support est uniquement offert via des canaux publics. Rejoignez notre communauté Telegram si vous avez des questions ou si vous voulez passer du temps avec d'autres robots sympas. Utilisez notre Github pour notifier un bug ou si vous voulez voir de nouvelles fonctionnalités!", - "Join the RoboSats group":"Rejoignez le groupe RoboSats", - "Telegram (English / Main)":"Telegram (Anglais / Principal)", - "RoboSats Telegram Communities":"Communautés Telegram RoboSats", - "Join RoboSats Spanish speaking community!":"Rejoignez la communauté hispanophone de RoboSats!", - "Join RoboSats Russian speaking community!":"Rejoignez la communauté russophone de RoboSats!", - "Join RoboSats Chinese speaking community!":"Rejoignez la communauté chinoise de RoboSats!", - "Join RoboSats English speaking community!":"Rejoignez la communauté anglophone de RoboSats!", - "Tell us about a new feature or a bug":"Parlez-nous d'une nouvelle fonctionnalité ou d'un bug", - "Github Issues - The Robotic Satoshis Open Source Project":"Sujets de Github - Le Projet Open Source des Satoshis Robotiques", - "Your Profile":"Votre profil", - "Your robot":"Votre robot", - "One active order #{{orderID}}":"Un ordre active #{{orderID}}", - "Your current order":"Votre ordre en cours", - "No active orders":"Aucun ordre actif", - "Your token (will not remain here)":"Votre jeton (ne restera pas ici)", - "Back it up!":"Sauvegardez!", - "Cannot remember":"Impossible de se souvenir", - "Rewards and compensations":"Récompenses et compensations", - "Share to earn 100 Sats per trade":"Partagez pour gagner 100 Sats par transaction", - "Your referral link":"Votre lien de parrainage", - "Your earned rewards":"Vos récompenses gagnées", - "Claim":"Réclamer", - "Invoice for {{amountSats}} Sats":"Facture pour {{amountSats}} Sats", - "Submit":"Soumettre", - "There it goes, thank you!🥇":"C'est parti, merci!🥇", - "You have an active order":"Vous avez un ordre actif", - "You can claim satoshis!":"Vous pouvez réclamer des satoshis!", - "Public Buy Orders":"Ordres d'achat publics", - "Public Sell Orders":"Ordres de vente publics", - "Today Active Robots":"Robots actifs aujourd'hui", - "24h Avg Premium":"Prime moyenne sur 24h", - "Trade Fee":"Frais de transaction", - "Show community and support links":"Afficher les liens de la communauté et du support", - "Show stats for nerds":"Afficher les stats pour les geeks", - "Exchange Summary":"Résumé de l'échange", - "Public buy orders":"Ordres d'achat publics", - "Public sell orders":"Ordres de vente publics", - "Book liquidity":"Liquidité du livre", - "Today active robots":"Robots actifs aujourd'hui", - "24h non-KYC bitcoin premium":"Prime bitcoin non-KYC 24h", - "Maker fee":"Frais du createur", - "Taker fee":"Frais du preneur", - "Number of public BUY orders":"Nombre d'ordres d'ACHAT publics", - "Number of public SELL orders":"Nombre d'ordres de VENTE publics", - - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Ordres", - "Contract":"Contrat", - "Active":"Actif", - "Seen recently":"Vu récemment", - "Inactive":"Inactif", - "(Seller)":"(Vendeur)", - "(Buyer)":"(Acheteur)", - "Order maker":"Createur d'ordre", - "Order taker":"Preneur d'ordre", - "Order Details":"Détails de l'ordre", - "Order status":"Etat de l'ordre", - "Waiting for maker bond":"En attente de la caution du createur", - "Public":"Public", - "Waiting for taker bond":"En attente de la caution du preneur", - "Cancelled":"Annulé", - "Expired":"Expiré", - "Waiting for trade collateral and buyer invoice":"En attente de la garantie et de la facture de l'acheteur", - "Waiting only for seller trade collateral":"N'attendant que la garantie du vendeur", - "Waiting only for buyer invoice":"N'attendant que la facture de l'acheteur", - "Sending fiat - In chatroom":"Envoi de fiat - Dans le salon de discussion", - "Fiat sent - In chatroom":"Fiat envoyée - Dans le salon de discussion", - "In dispute":"En litige", - "Collaboratively cancelled":"Annulé en collaboration", - "Sending satoshis to buyer":"Envoi de satoshis à l'acheteur", - "Sucessful trade":"Transaction réussie", - "Failed lightning network routing":"Échec de routage du réseau lightning", - "Wait for dispute resolution":"Attendre la résolution du litige", - "Maker lost dispute":"Le createur à perdu le litige", - "Taker lost dispute":"Le preneur à perdu le litige", - "Amount range":"Fourchette de montants", - "Swap destination":"Destination de l'échange", - "Accepted payment methods":"Modes de paiement acceptés", - "Others":"Autres", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Prime: {{premium}}%", - "Price and Premium":"Prix et prime", - "Amount of Satoshis":"Montant de Satoshis", - "Premium over market price":"Prime sur le prix du marché", - "Order ID":"ID de l'ordre", - "Expires in":"Expire en", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} demande une annulation collaborative", - "You asked for a collaborative cancellation":"Vous avez demandé une annulation collaborative", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Facture expirée. Vous n'avez pas confirmé la publication de l'ordre à temps. Faites un nouveau ordre.", - "This order has been cancelled by the maker":"Cette ordre a été annulée par le createur", - "Invoice expired. You did not confirm taking the order in time.":"La facture a expiré. Vous n'avez pas confirmé avoir pris l'ordre dans les temps.", - "Penalty lifted, good to go!":"Pénalité levée, vous pouvez y aller!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Vous ne pouvez pas encore prendre un ordre! Attendez {{timeMin}}m {{timeSec}}s", - "Too low":"Trop bas", - "Too high":"Trop haut", - "Enter amount of fiat to exchange for bitcoin":"Saisissez le montant de fiat à échanger contre des bitcoins", - "Amount {{currencyCode}}":"Montant {{currencyCode}}", - "You must specify an amount first":"Vous devez d'abord spécifier un montant", - "Take Order":"Prendre l'ordre", - "Wait until you can take an order":"Attendez jusqu'à ce que vous puissiez prendre un ordre", - "Cancel the order?":"Annuler l'ordre?", - "If the order is cancelled now you will lose your bond.":"Si l'ordre est annulé maintenant, vous perdrez votre caution", - "Confirm Cancel":"Confirmer l'annulation", - "The maker is away":"Le createur est absent", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"En prenant cette ordre, vous risquez de perdre votre temps. Si le créateur ne procède pas dans les temps, vous serez compensé en satoshis à hauteur de 50% de la caution du créateur.", - "Collaborative cancel the order?":"Annuler l'ordre en collaboration?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Le dépôt de transaction a été enregistré. L'ordre ne peut être annulé que si les deux parties, le createur et le preneur, sont d'accord pour l'annuler.", - "Ask for Cancel":"Demande d'annulation", - "Cancel":"Annuler", - "Collaborative Cancel":"Annulation collaborative", - "Invalid Order Id":"Id d'ordre invalide", - "You must have a robot avatar to see the order details":"Vous devez avoir un avatar de robot pour voir les détails de l'ordre", - "This order has been cancelled collaborativelly":"Cette ordre a été annulée en collaboration", - "You are not allowed to see this order":"Vous n'êtes pas autorisé à voir cette ordre", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Les Robots Satoshis travaillant dans l'entrepôt ne vous ont pas compris. Merci de remplir un probléme de bug en Github https://github.com/reckless-satoshi/robosats/issues", - - "CHAT BOX - Chat.js":"Chat Box", - "You":"Vous", - "Peer":"Pair", - "connected":"connecté", - "disconnected":"déconnecté", - "Type a message":"Ecrivez un message", - "Connecting...":"Connexion...", - "Send":"Envoyer", - "The chat has no memory: if you leave, messages are lost.":"Le chat n'a pas de mémoire : si vous le quittez, les messages sont perdus.", - "Learn easy PGP encryption.":"Apprenez facilement le cryptage PGP.", - "PGP_guide_url":"https://learn.robosats.com/docs/pgp-encryption/", - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Boîte de contrat", - "Robots show commitment to their peers": "Les robots s'engagent auprès de leurs pairs", - "Lock {{amountSats}} Sats to PUBLISH order": "Blocker {{amountSats}} Sats à l'ordre PUBLIER", - "Lock {{amountSats}} Sats to TAKE order": "Blocker {{amountSats}} Sats à l'ordre PRENDRE", - "Lock {{amountSats}} Sats as collateral": "Blocker {{amountSats}} Sats en garantie", - "Copy to clipboard":"Copier dans le presse-papiers", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"Cette facture est en attente, elle sera gelée dans votre portefeuille. Elle ne sera débitée que si vous annulez ou perdez un litige.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"Cette facture est en attente, elle sera gelée dans votre portefeuille. Elle sera remise à l'acheteur une fois que vous aurez confirmé avoir reçu les {{currencyCode}}.", - "Your maker bond is locked":"Votre obligation de createur est bloquée", - "Your taker bond is locked":"Votre obligation de preneur est bloquée", - "Your maker bond was settled":"Votre obligation de createur a été réglée", - "Your taker bond was settled":"Votre obligation de preneur a été réglée", - "Your maker bond was unlocked":"Votre obligation de createur a été déverrouillée", - "Your taker bond was unlocked":"Votre obligation de preneur a été déverrouillée", - "Your order is public":"Votre ordre est publique", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{invoice_escrow_duration}} to reply. If you do not reply, you risk losing your bond.":"Soyez patient pendant que les robots vérifient le livre. Cette case sonnera 🔊 dès qu'un robot prendra votre ordre, puis vous aurez {{invoice_escrow_duration}} heures pour répondre. Si vous ne répondez pas, vous risquez de perdre votre caution", - "If the order expires untaken, your bond will return to you (no action needed).":"Si l'ordre expire sans être prise, votre caution vous sera rendue (aucune action n'est nécessaire).", - "Enable Telegram Notifications":"Activer les notifications Telegram", - "Enable TG Notifications":"Activer notifications TG", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"Vous serez redirigé vers une conversation avec le robot telegram RoboSats. Il suffit d'ouvrir le chat et d'appuyer sur Start. Notez qu'en activant les notifications Telegram, vous risquez de réduire votre niveau d'anonymat.", - "Go back":"Retourner", - "Enable":"Activer", - "Telegram enabled":"Telegram activé", - "Public orders for {{currencyCode}}":"Ordres publics pour {{currencyCode}}", - "Premium rank": "Centile de prime", - "Among public {{currencyCode}} orders (higher is cheaper)": "Parmi les ordres publics en {{currencyCode}} (la plus élevée est la moins chère)", - "A taker has been found!":"Un preneur a été trouvé!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Veuillez attendre que le preneur verrouille une caution. Si le preneur ne verrouille pas la caution à temps, l'ordre sera rendue publique à nouveau", - "Submit an invoice for {{amountSats}} Sats":"Soumettre une facture pour {{amountSats}} Sats", - "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.":"Le preneur est engagé! Avant de vous laisser envoyer {{amountFiat}} {{currencyCode}}, nous voulons nous assurer que vous êtes en mesure de recevoir le BTC. Veuillez fournir une facture valide de {{amountSats}} Satoshis.", - "Payout Lightning Invoice":"Facture lightning de paiement", - "Your invoice looks good!":"Votre facture est correcte!", - "We are waiting for the seller to lock the trade amount.":"Nous attendons que le vendeur verrouille le montant de la transaction.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Patientez un instant. Si le vendeur n'effectue pas de dépôt, vous récupérez automatiquement votre caution. En outre, vous recevrez une compensation (vérifiez les récompenses dans votre profil).", - "The trade collateral is locked!":"La garantie est verrouillée!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Nous attendons que l'acheteur dépose une facture lightning. Dès qu'il l'aura fait, vous pourrez communiquer directement les détails du paiement fiat.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Patientez un instant. Si l'acheteur ne coopère pas, vous récupérez automatiquement le dépôt de garantie et votre caution. En outre, vous recevrez une compensation (vérifiez les récompenses dans votre profil).", - "Confirm {{amount}} {{currencyCode}} sent":"Confirmer l'envoi de {{amount}} {{currencyCode}}", - "Confirm {{amount}} {{currencyCode}} received":"Confirmer la réception de {{amount}} {{currencyCode}}", - "Open Dispute":"Ouvrir litige", - "The order has expired":"L'ordre a expiré", - "Chat with the buyer":"Chat avec l'acheteur", - "Chat with the seller":"Chat avec le vendeur", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Dites bonjour! Soyez utile et concis. Faites-leur savoir comment vous envoyer les {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"L'acheteur a envoyé le fiat. Cliquez sur 'Confirmer la réception' dès que vous l'aurez reçu.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Dites bonjour! Demandez les détails du paiement et cliquez sur 'Confirmé envoyé' dès que le paiement est envoyé.", - "Wait for the seller to confirm he has received the payment.":"Attendez que le vendeur confirme qu'il a reçu le paiement.", - "Confirm you received {{amount}} {{currencyCode}}?":"Confirmez que vous avez reçu les {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Confirmer que vous avez reçu le fiat finalisera la transaction. Les satoshis dans le dépôt seront libérés à l'acheteur. Ne confirmez qu'après que les {{amount}} {{currencyCode}} soit arrivés sur votre compte. En outre, si vous avez reçu les {{currencyCode}} et que vous ne confirmez pas la réception, vous risquez de perdre votre caution.", - "Confirm":"Confirmer", - "Trade finished!":"Transaction terminée!", - "rate_robosats":"Que pensez-vous de <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Merci! RoboSats vous aime aussi ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats s'améliore avec plus de liquidité et d'utilisateurs. Parlez de Robosats à un ami bitcoiner!", - "Thank you for using Robosats!":"Merci d'utiliser Robosats!", - "let_us_know_hot_to_improve":"Faites-nous savoir comment la plateforme pourrait être améliorée (<1>Telegram / <3>Github)", - "Start Again":"Recommencer", - "Attempting Lightning Payment":"Tentative de paiement Lightning", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats tente de payer votre facture lightning. Rappelez-vous que les nœuds lightning doivent être en ligne pour recevoir des paiements.", - "Retrying!":"Nouvelle tentative!", - "Lightning Routing Failed":"Échec du routage Lightning", - "Your invoice has expired or more than 3 payment attempts have been made.":"Votre facture a expiré ou plus de 3 tentatives de paiement ont été effectuées. Le porte-monnaie Muun n'est pas recommandé.", - "Check the list of compatible wallets":"Vérifier la liste des portefeuilles compatibles", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats essaiera de payer votre facture 3 fois toutes les 1 minute. S'il continue à échouer, vous pourrez soumettre une nouvelle facture. Vérifiez si vous avez suffisamment de liquidité entrante. N'oubliez pas que les nœuds lightning doivent être en ligne pour pouvoir recevoir des paiements.", - "Next attempt in":"Prochaine tentative en", - "Do you want to open a dispute?":"Voulez-vous ouvrir un litige?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"Le personnel de RoboSats examinera les déclarations et les preuves fournies. Vous devez constituer un dossier complet, car le personnel ne peut pas lire le chat. Il est préférable de fournir une méthode de contact jetable avec votre déclaration. Les satoshis dans le dépôt seront envoyés au gagnant du litige, tandis que le perdant du litige perdra la caution.", - "Disagree":"En désaccord", - "Agree and open dispute":"Accepter et ouvrir un litige", - "A dispute has been opened":"Un litige a été ouvert", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Veuillez soumettre votre déclaration. Soyez clair et précis sur ce qui s'est passé et fournissez les preuves nécessaires. Vous DEVEZ fournir une méthode de contact: email jetable, XMPP ou nom d'utilisateur telegram pour assurer le suivi avec le personnel. Les litiges sont résolus à la discrétion de vrais robots (alias humains), alors soyez aussi utile que possible pour assurer un résultat équitable. Max 5000 caractères.", - "Submit dispute statement":"Soumettre une déclaration de litige", - "We have received your statement":"Nous avons reçu votre déclaration", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Nous attendons la déclaration de votre partenaire commercial. Si vous avez des doutes sur l'état du litige ou si vous souhaitez ajouter des informations supplémentaires, contactez robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Veuillez enregistrer les informations nécessaires à l'identification de votre ordre et de vos paiements : ID de l'ordre; hachages de paiement des cautions ou des dépòts (vérifiez sur votre portefeuille lightning); montant exact des satoshis; et surnom du robot. Vous devrez vous identifier en tant qu'utilisateur impliqué dans cette transaction par e-mail (ou autres méthodes de contact).", - "We have the statements":"Nous avons les relevés", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Les deux déclarations ont été reçues, attendez que le personnel résolve le litige. Si vous avez des doutes sur l'état du litige ou si vous souhaitez ajouter des informations supplémentaires, contactez robosats@protonmail.com. Si vous n'avez pas fourni de méthode de contact, ou si vous n'êtes pas sûr de l'avoir bien écrit, écrivez-nous immédiatement.", - "You have won the dispute":"Vous avez gagné le litige", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Vous pouvez réclamer le montant de la résolution du litige (dépôt et garantie de fidélité) à partir des récompenses de votre profil. Si le personnel peut vous aider en quoi que ce soit, n'hésitez pas à nous contacter à l'adresse robosats@protonmail.com (ou via la méthode de contact jetable que vous avez fourni).", - "You have lost the dispute":"Vous avez perdu le litige", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Vous avez malheureusement perdu le litige. Si vous pensez qu'il s'agit d'une erreur, vous pouvez demander à rouvrir le dossier en envoyant un email à robosats@protonmail.com. Toutefois, les chances qu'il soit réexaminé sont faibles.", - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Fermer", - "What is RoboSats?":"C'est quoi RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"Il s'agit d'un échange BTC/FIAT pair à pair via lightning.", - "RoboSats is an open source project ":"RoboSats est un projet open source", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"Il simplifie la mise en relation et minimise le besoin de confiance. RoboSats se concentre sur la confidentialité et la vitesse.", - "(GitHub).":"(GitHub).", - "How does it work?":"Comment ça marche?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymousAlice01 veut vendre des bitcoins. Elle poste un ordre de vente. BafflingBob02 veut acheter des bitcoins et il prend l'ordre d'Alice. Les deux doivent poster une petite caution en utilisant lightning pour prouver qu'ils sont de vrais robots. Ensuite, Alice publie la garantie en utilisant également une facture de retention Lightning. RoboSats verrouille la facture jusqu'à ce qu'Alice confirme avoir reçu les fonds fiat, puis les satoshis sont remis à Bob. Profitez de vos satoshis, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"A aucun moment, AnonymousAlice01 et BafflingBob02 ne doivent se confier les fonds en bitcoin. En cas de conflit, le personnel de RoboSats aidera à résoudre le litige.", - "You can find a step-by-step description of the trade pipeline in ":"Vous pouvez trouver une description pas à pas des échanges en ", - "How it works":"Comment ça marche", - "You can also check the full guide in ":"Vous pouvez également consulter le guide complet sur ", - "How to use":"Comment utiliser", - "What payment methods are accepted?":"Quels sont les modes de paiement acceptés?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Tous, à condition qu'ils soient rapides. Vous pouvez noter vos modes de paiement préférés. Vous devrez vous mettre en relation avec un pair qui accepte également ce mode. L'étape d'échange de fiat a un délai d'expiration de 24 heures avant qu'un litige ne soit automatiquement ouvert. Nous vous recommandons vivement d'utiliser les rails de paiement instantané en fiat.", - "Are there trade limits?":"Y a-t-il des limites de transaction?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"La taille maximale d'une transaction unique est de {{maxAmount}} Satoshis pour minimiser l'échec de l'acheminement lightning. Il n'y a pas de limite au nombre de transactions par jour. Un robot ne peut avoir qu'un seul ordre à la fois. Toutefois, vous pouvez utiliser plusieurs robots simultanément dans différents navigateurs (n'oubliez pas de sauvegarder vos jetons de robot!).", - "Is RoboSats private?":"RoboSats est-il privé?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats ne vous demandera jamais votre nom, votre pays ou votre identifiant. RoboSats ne garde pas vos fonds et ne se soucie pas de savoir qui vous êtes. RoboSats ne collecte ni conserve aucune donnée personnelle. Pour un meilleur anonymat, utilisez le navigateur Tor et accédez au service caché .onion.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Votre pair de transaction est le seul à pouvoir potentiellement deviner quoi que ce soit sur vous. Faites en sorte que votre chat soit court et concis. Évitez de fournir des informations non essentielles autres que celles strictement nécessaires au paiement fiat.", - "What are the risks?":"Quels sont les risques?", - "This is an experimental application, things could go wrong. Trade small amounts!":"Ceci est une application expérimentale, les choses pourraient mal tourner. Échangez de petites sommes!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"Le vendeur est confronté au même risque de rétrofacturation qu'avec n'importe quel autre service pair à pair. Paypal ou les cartes de crédit ne sont pas recommandés.", - "What is the trust model?":"Quel est le modèle de confiance?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"L'acheteur et le vendeur ne doiven jamais se faire confiance. Une certaine confiance envers RoboSats est nécessaire puisque le lien entre la facture du vendeur et le paiement de l'acheteur n'est pas (encore) atomique. En outre, les litiges sont résolus par le personnel de RoboSats.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq.":"Pour être tout à fait clair. Les exigences de confiance sont réduites au minimum. Cependant, il existe toujours un moyen pour RoboSats de s'enfuir avec vos satoshis: ne pas remettre les satoshis à l'acheteur. On pourrait argumenter qu'une telle décision n'est pas dans l'intérêt de RoboSats, car elle nuirait à sa réputation pour un petit paiement. Cependant, vous devriez hésiter et n'échanger que de petites quantités à la fois. Pour les gros montants, utilisez un service de dépôt onchain tel que Bisq", - "You can build more trust on RoboSats by inspecting the source code.":"Vous pouvez faire plus confiance à RoboSats en inspectant le code source.", - "Project source code":"Code source du projet", - "What happens if RoboSats suddenly disappears?":"Que se passe-t-il si RoboSats disparaît soudainement?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Vos satoshis vous seront rendus. Toute facture bloquée qui n'est pas réglée sera automatiquement retournée même si RoboSats disparaît pour toujours. Ceci est vrai pour les cautions verrouillées et les dépôts de transaction. Cependant, il y a une petite fenêtre entre le moment où le vendeur confirme FIAT REÇU et le moment où l'acheteur reçoit les satoshis où les fonds pourraient être définitivement perdus si RoboSats disparaît. Cette fenêtre dure environ une seconde. Assurez-vous d'avoir suffisamment de liquidité entrante pour éviter les échecs de routage. En cas de problème, contactez les canaux publics de RoboSats.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"Dans de nombreux pays, l'utilisation de RoboSats n'est pas différente de celle d'Ebay ou de Craiglist. Votre réglementation peut varier. Il est de votre responsabilité de vous conformer.", - "Is RoboSats legal in my country?":"RoboSats est-il légal dans mon pays?", - "Disclaimer":"Avertissement", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Cette application Lightning est fournie telle quelle. Elle est en cours de développement: négociez avec la plus grande prudence. Il n'y a pas de support privé. Le support est uniquement proposé via les canaux publics", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats ne vous contactera jamais. RoboSats ne vous demandera certainement jamais votre jeton de robot." + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Fermer", + "What is RoboSats?": "C'est quoi RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Il s'agit d'un échange BTC/FIAT pair à pair via lightning.", + "RoboSats is an open source project ": "RoboSats est un projet open source", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Il simplifie la mise en relation et minimise le besoin de confiance. RoboSats se concentre sur la confidentialité et la vitesse.", + "(GitHub).": "(GitHub).", + "How does it work?": "Comment ça marche?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 veut vendre des bitcoins. Elle poste un ordre de vente. BafflingBob02 veut acheter des bitcoins et il prend l'ordre d'Alice. Les deux doivent poster une petite caution en utilisant lightning pour prouver qu'ils sont de vrais robots. Ensuite, Alice publie la garantie en utilisant également une facture de retention Lightning. RoboSats verrouille la facture jusqu'à ce qu'Alice confirme avoir reçu les fonds fiat, puis les satoshis sont remis à Bob. Profitez de vos satoshis, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "A aucun moment, AnonymousAlice01 et BafflingBob02 ne doivent se confier les fonds en bitcoin. En cas de conflit, le personnel de RoboSats aidera à résoudre le litige.", + "You can find a step-by-step description of the trade pipeline in ": "Vous pouvez trouver une description pas à pas des échanges en ", + "How it works": "Comment ça marche", + "You can also check the full guide in ": "Vous pouvez également consulter le guide complet sur ", + "How to use": "Comment utiliser", + "What payment methods are accepted?": "Quels sont les modes de paiement acceptés?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Tous, à condition qu'ils soient rapides. Vous pouvez noter vos modes de paiement préférés. Vous devrez vous mettre en relation avec un pair qui accepte également ce mode. L'étape d'échange de fiat a un délai d'expiration de 24 heures avant qu'un litige ne soit automatiquement ouvert. Nous vous recommandons vivement d'utiliser les rails de paiement instantané en fiat.", + "Are there trade limits?": "Y a-t-il des limites de transaction?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "La taille maximale d'une transaction unique est de {{maxAmount}} Satoshis pour minimiser l'échec de l'acheminement lightning. Il n'y a pas de limite au nombre de transactions par jour. Un robot ne peut avoir qu'un seul ordre à la fois. Toutefois, vous pouvez utiliser plusieurs robots simultanément dans différents navigateurs (n'oubliez pas de sauvegarder vos jetons de robot!).", + "Is RoboSats private?": "RoboSats est-il privé?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats ne vous demandera jamais votre nom, votre pays ou votre identifiant. RoboSats ne garde pas vos fonds et ne se soucie pas de savoir qui vous êtes. RoboSats ne collecte ni conserve aucune donnée personnelle. Pour un meilleur anonymat, utilisez le navigateur Tor et accédez au service caché .onion.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Votre pair de transaction est le seul à pouvoir potentiellement deviner quoi que ce soit sur vous. Faites en sorte que votre chat soit court et concis. Évitez de fournir des informations non essentielles autres que celles strictement nécessaires au paiement fiat.", + "What are the risks?": "Quels sont les risques?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Ceci est une application expérimentale, les choses pourraient mal tourner. Échangez de petites sommes!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Le vendeur est confronté au même risque de rétrofacturation qu'avec n'importe quel autre service pair à pair. Paypal ou les cartes de crédit ne sont pas recommandés.", + "What is the trust model?": "Quel est le modèle de confiance?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "L'acheteur et le vendeur ne doiven jamais se faire confiance. Une certaine confiance envers RoboSats est nécessaire puisque le lien entre la facture du vendeur et le paiement de l'acheteur n'est pas (encore) atomique. En outre, les litiges sont résolus par le personnel de RoboSats.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq.": "Pour être tout à fait clair. Les exigences de confiance sont réduites au minimum. Cependant, il existe toujours un moyen pour RoboSats de s'enfuir avec vos satoshis: ne pas remettre les satoshis à l'acheteur. On pourrait argumenter qu'une telle décision n'est pas dans l'intérêt de RoboSats, car elle nuirait à sa réputation pour un petit paiement. Cependant, vous devriez hésiter et n'échanger que de petites quantités à la fois. Pour les gros montants, utilisez un service de dépôt onchain tel que Bisq", + "You can build more trust on RoboSats by inspecting the source code.": "Vous pouvez faire plus confiance à RoboSats en inspectant le code source.", + "Project source code": "Code source du projet", + "What happens if RoboSats suddenly disappears?": "Que se passe-t-il si RoboSats disparaît soudainement?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Vos satoshis vous seront rendus. Toute facture bloquée qui n'est pas réglée sera automatiquement retournée même si RoboSats disparaît pour toujours. Ceci est vrai pour les cautions verrouillées et les dépôts de transaction. Cependant, il y a une petite fenêtre entre le moment où le vendeur confirme FIAT REÇU et le moment où l'acheteur reçoit les satoshis où les fonds pourraient être définitivement perdus si RoboSats disparaît. Cette fenêtre dure environ une seconde. Assurez-vous d'avoir suffisamment de liquidité entrante pour éviter les échecs de routage. En cas de problème, contactez les canaux publics de RoboSats.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "Dans de nombreux pays, l'utilisation de RoboSats n'est pas différente de celle d'Ebay ou de Craiglist. Votre réglementation peut varier. Il est de votre responsabilité de vous conformer.", + "Is RoboSats legal in my country?": "RoboSats est-il légal dans mon pays?", + "Disclaimer": "Avertissement", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Cette application Lightning est fournie telle quelle. Elle est en cours de développement: négociez avec la plus grande prudence. Il n'y a pas de support privé. Le support est uniquement proposé via les canaux publics", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats ne vous contactera jamais. RoboSats ne vous demandera certainement jamais votre jeton de robot." } diff --git a/frontend/static/locales/it.json b/frontend/static/locales/it.json index 4fb6d5429..1653ad311 100644 --- a/frontend/static/locales/it.json +++ b/frontend/static/locales/it.json @@ -1,433 +1,425 @@ -{ - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Non stai usando RoboSats privatemente", - "desktop_unsafe_alert": "Alcune funzionalità (come la chat) sono disabilitate per le tua sicurezza e non sarai in grado di completare un'operazione senza di esse. Per proteggere la tua privacy e abilitare completamente RoboSats, usa <1>Tor Browser e visita il sito <3>Onion", - "phone_unsafe_alert": "Non sarai in grado di completare un'operazione. Usa <1>Tor Browser e visita il sito <3>Onion", - "Hide":"Nascondi", - - - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Semplice e privata borsa di scambio LN P2P", - "This is your trading avatar":"Questo è il tuo Robottino", - "Store your token safely":"Custodisci il tuo gettone in modo sicuro", - "A robot avatar was found, welcome back!":"E' stato trovato un Robottino, bentornato!", - "Copied!":"Copiato!", - "Generate a new token":"Genera un nuovo gettone", - "Generate Robot":"Genera un Robottino", - "You must enter a new token first":"Inserisci prima un nuovo gettone", - "Make Order":"Crea un ordine", - "Info":"Info", - "View Book":"Vedi il libro", - "Learn RoboSats":"Impara RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"Stai per visitare la pagina Learn RoboSats. Troverai tutorial e documentazione per aiutarti ad imparare a usare RoboSats e capire come funziona.", - "Let's go!":"Andiamo!", - "Save token and PGP credentials to file":"Salva il gettone e le credenziali PGP in un file", - - - - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Ordina", - "Customize":"Personalizza", - "Buy or Sell Bitcoin?":"Compri o Vendi Bitcoin?", - "Buy":"Comprare", - "Sell":"Vendere", - "Amount":"Quantità", - "Amount of fiat to exchange for bitcoin":"Quantità fiat da cambiare in bitcoin", - "Invalid":"Invalido", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Inserisci il tuo metodo di pagamento fiat preferito. Sono raccomandati i metodi veloci.", - "Must be shorter than 65 characters":"Deve essere meno di 65 caratteri", - "Swap Destination(s)":"Destinazione dello/degli Swap", - "Fiat Payment Method(s)":"Metodo(i) di pagamento fiat", - "You can add any method":"Puoi inserire qualunque metodo", - "Add New":"Aggiungi nuovo", - "Choose a Pricing Method":"Scegli come stabilire il prezzo", - "Relative":"Relativo", - "Let the price move with the market":"Lascia che il prezzo si muova col mercato", - "Premium over Market (%)":"Premio sul prezzo di mercato (%)", - "Explicit":"Esplicito", - "Set a fix amount of satoshis":"Imposta una somma fissa di Sats", - "Satoshis":"Satoshi", - "Fixed price:":"Prezzo fisso:", - "Order current rate:":"Ordina al prezzo corrente:", - "Your order fixed exchange rate":"Il tasso di cambio fisso del tuo ordine", - "Your order's current exchange rate. Rate will move with the market.":"Il tasso di cambio corrente del tuo ordine. Il tasso fluttuerà con il mercato.", - "Let the taker chose an amount within the range":"Lascia che l'acquirente decida una quantità in questo intervallo", - "Enable Amount Range":"Attiva intervallo di quantità", - "From":"Da", - "to":"a", - "Expiry Timers":"Tempo alla scadenza", - "Public Duration (HH:mm)":"Durata pubblica (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)":"Tempo limite di deposito (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Stabilisci la posta in gioco, aumenta per una sicurezza maggiore", - "Fidelity Bond Size":"Ammontare della cauzione", - "Allow bondless takers":"Permetti acquirenti senza cauzione", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"PROSSIMAMENTE - Rischio elevato! Limitato a {{limitSats}}mila Sats", - "You must fill the order correctly":"Devi compilare l'ordine correttamente", - "Create Order":"Crea l'ordine", - "Back":"Indietro", - "Create an order for ":"Crea un ordine per ", - "Create a BTC buy order for ":"Crea un ordine di acquisto BTC per ", - "Create a BTC sell order for ":"Crea un ordine di vendita BTC per ", - " of {{satoshis}} Satoshis":" di {{satoshis}} Sats", - " at market price":" al prezzo di mercato", - " at a {{premium}}% premium":" con un premio del {{premium}}%", - " at a {{discount}}% discount":" con uno sconto del {{discount}}%", - "Must be less than {{max}}%":"Dev'essere inferiore al {{max}}%", - "Must be more than {{min}}%":"Dev'essere maggiore del {{min}}%", - "Must be less than {{maxSats}": "Dev'essere inferiore al {{maxSats}}", - "Must be more than {{minSats}}": "Dev'essere maggiore del {{minSats}}", - "Store your robot token":"Salva il tuo gettone", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"Potresti aver bisogno di recuperare il tuo Robottino in futuro: custodiscilo con cura. Puoi semplicemente copiarlo in un'altra applicazione.", - "Done":"Fatto", - "You do not have a robot avatar":"Non hai un Robottino", - "You need to generate a robot avatar in order to become an order maker":"Devi generare un Robottino prima di impostare un ordine", - - - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Non specificato", - "Instant SEPA":"SEPA istantaneo", - "Amazon GiftCard":"Buono Amazon", - "Google Play Gift Code":"Codice Regalo di Google Play", - "Cash F2F":"Contante, faccia-a-faccia", - "On-Chain BTC":"On-Chain BTC", - - - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Offerente", - "Buyer":"Acquirente", - "I want to":"Voglio", - "Select Order Type":"Selezione il tipo di ordine", - "ANY_type":"QUALUNQUE", - "ANY_currency":"QUALUNQUE", - "BUY":"COMPRA", - "SELL":"VENDI", - "and receive":"e ricevi", - "and pay with":"e paga con", - "and use":"ed usa", - "Select Payment Currency":"Seleziona valuta di pagamento", - "Robot":"Robottino", - "Is":"è", - "Currency":"Valuta", - "Payment Method":"Metodo di pagamento", - "Pay":"Paga", - "Price":"Prezzo", - "Premium":"Premio", - "You are SELLING BTC for {{currencyCode}}":"Stai VENDENDO BTC per {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"Stai COMPRANDO BTC per{{currencyCode}}", - "You are looking at all":"Stai guardando tutto", - "No orders found to sell BTC for {{currencyCode}}":"Nessun ordine trovato per vendere BTC per {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"Nessun ordine trovato per comprare BTC per {{currencyCode}}", - "Filter has no results":"Il filtro corrente non ha risultati", - "Be the first one to create an order":"Crea tu il primo ordine", - - - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Statistiche per secchioni", - "LND version":"Versione LND", - "Currently running commit hash":"Hash della versione corrente", - "24h contracted volume":"Volume scambiato in 24h", - "Lifetime contracted volume":"Volume scambiato in totale", - "Made with":"Fatto con", - "and":"e", - "... somewhere on Earth!":"... da qualche parte sulla Terra!", - "Community":"Comunità", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"L'assistenza viene offerta solo attraverso i canali pubblici. Unisciti alla nostra comunità Telegram se hai domande o se vuoi interagire con altri Robottini fichissimi. Utilizza il nostro Github Issues se trovi un bug o chiedere nuove funzionalità!", - "Follow RoboSats in Twitter":"Segui RoboSats su Twitter", - "Twitter Official Account":"Account Twitter ufficiale", - "RoboSats Telegram Communities":"RoboSats Telegram Communities", - "Join RoboSats Spanish speaking community!":"Unisciti alla comunità RoboSats che parla spagnolo!", - "Join RoboSats Russian speaking community!":"Unisciti alla comunità RoboSats che parla russo!", - "Join RoboSats Chinese speaking community!":"Unisciti alla comunità RoboSats che parla cinese!", - "Join RoboSats English speaking community!":"Unisciti alla comunità RoboSats che parla inglese!", - "Join RoboSats Italian speaking community!":"Unisciti alla comunità RoboSats che parla italiano!", - "Tell us about a new feature or a bug":"Comunicaci nuove funzionalità o bug", - "Github Issues - The Robotic Satoshis Open Source Project":"Github Issues - The Robotic Satoshis Open Source Project", - "Your Profile":"Il tuo profilo", - "Your robot":"Il tuo Robottino", - "One active order #{{orderID}}":"Un ordine attivo #{{orderID}}", - "Your current order":"Il tuo ordine attuale", - "No active orders":"Nessun ordine attivo", - "Your token (will not remain here)":"Il tuo gettone (Non resterà qui)", - "Back it up!":"Salvalo!", - "Cannot remember":"Dimenticato", - "Rewards and compensations":"Ricompense e compensi", - "Share to earn 100 Sats per trade":"Condividi e guadagna 100 Sats con ogni transazione", - "Your referral link":"Il tuo link di riferimento", - "Your earned rewards":"La tua ricompensa", - "Claim":"Riscatta", - "Invoice for {{amountSats}} Sats":"Ricevuta per {{amountSats}} Sats", - "Submit":"Invia", - "There it goes, thank you!🥇":"Inviato, grazie!🥇", - "You have an active order":"Hai un ordine attivo", - "You can claim satoshis!":"Hai satoshi da riscattare!", - "Public Buy Orders":"Ordini di acquisto pubblici", - "Public Sell Orders":"Ordini di vendita pubblici", - "Today Active Robots":"I Robottini attivi oggi", - "24h Avg Premium":"Premio medio in 24h", - "Trade Fee":"Commissione", - "Show community and support links":"Mostra i link della comunità e di supporto", - "Show stats for nerds":"Mostra le statistiche per secchioni", - "Exchange Summary":"Riassunto della transazione", - "Public buy orders":"Ordini di acquisto pubblici", - "Public sell orders":"Ordini di vendita pubblici", - "Book liquidity":"Registro della liquidità", - "Today active robots":"I Robottini attivi oggi", - "24h non-KYC bitcoin premium":"Premio bitcoin non-KYC 24h", - "Maker fee":"Commissione dell'offerente", - "Taker fee":"Commissione dell'acquirente", - "Number of public BUY orders":"Numero di ordini di ACQUISTO pubblici", - "Number of public SELL orders":"Numero di ordini di VENDITA pubblici", - "Your last order #{{orderID}}":"Il tuo ultimo ordine #{{orderID}}", - "Inactive order":"Ordine inattivo", - "You do not have previous orders":"Non hai ordini precedenti", - "Join RoboSats' Subreddit":"Unisciti al subreddit di RoboSats", - "RoboSats in Reddit":"RoboSats su Reddit", - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Ordine", - "Contract":"Contratto", - "Active":"Attivo", - "Seen recently":"Visto di recente", - "Inactive":"Inattivo", - "(Seller)":"(Offerente)", - "(Buyer)":"(Acquirente)", - "Order maker":"Offerente", - "Order taker":"Acquirente", - "Order Details":"Dettagli", - "Order status":"Stato", - "Waiting for maker bond":"In attesa della cauzione dell'offerente", - "Public":"Pubblico", - "Waiting for taker bond":"In attesa della cauzione dell'acquirente", - "Cancelled":"Cancellato", - "Expired":"Scaduto", - "Waiting for trade collateral and buyer invoice":"In attesa della garanzia e della fattura dell'acquirente", - "Waiting only for seller trade collateral":"In attesa della garanzia dell'offerente", - "Waiting only for buyer invoice":"In attesa della ricevuta del'acquirente", - "Sending fiat - In chatroom":"Invio di fiat in corso - Nella chat", - "Fiat sent - In chatroom":"Fiat inviati - Nella chat", - "In dispute":"Contestato", - "Collaboratively cancelled":"Annullato collaborativamente", - "Sending satoshis to buyer":"Invio di sats all'acquirente in corso", - "Sucessful trade":"Transazione riuscita", - "Failed lightning network routing":"Instradamento via lightning network fallito", - "Wait for dispute resolution":"In attesa della risoluzione della disputa", - "Maker lost dispute":"L'offerente ha perso la disputa", - "Taker lost dispute":"L'acquirente ha perso la disputa", - "Amount range":"Intervallo della quantità", - "Swap destination":"Destinazione di Swap", - "Accepted payment methods":"Metodi di pagamento accettati", - "Others":"Altro", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Premio: {{premium}}%", - "Price and Premium":"Prezzo e Premio", - "Amount of Satoshis":"Quantità di sats", - "Premium over market price":"Premio sul prezzo di mercato", - "Order ID":"ID ordine", - "Deposit timer":"Per depositare", - "Expires in":"Scade in", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} verrebbe annullare collaborativamente", - "You asked for a collaborative cancellation":"Hai richiesto per un annullamento collaborativo", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Ricevuta scaduta. Non hai confermato pubblicando l'ordine in tempo. Crea un nuovo ordine", - "This order has been cancelled by the maker":"Quest'ordine è stato cancellato dall'offerente", - "Invoice expired. You did not confirm taking the order in time.":"Ricevuta scaduta. Non hai confermato accettando l'ordine in tempo.", - "Penalty lifted, good to go!":"Penalità rimossa, partiamo!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Non puoi ancora accettare un ordine! Aspetta {{timeMin}}m {{timeSec}}s", - "Too low":"Troppo poco", - "Too high":"Troppo", - "Enter amount of fiat to exchange for bitcoin":"Inserisci la quantità di fiat da scambiare per bitcoin", - "Amount {{currencyCode}}":"Quantità {{currencyCode}}", - "You must specify an amount first":"Devi prima specificare una quantità", - "Take Order":"Accetta l'ordine", - "Wait until you can take an order":"Aspetta fino a quando puoi accettare ordini", - "Cancel the order?":"Annullare l'ordine?", - "If the order is cancelled now you will lose your bond.":"Se l'ordine viene annullato adesso perderai la cauzione.", - "Confirm Cancel":"Conferma l'annullamento", - "The maker is away":"L'offerente è assente", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"Accettando questo ordine rischi di perdere tempo. Se l'offerente non procede in tempo, sarai ricompensato in sats per il 50% della cauzione dell'offerente.", - "Collaborative cancel the order?":"Annullare collaborativamente l'ordine?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Il deposito di transazione è stato registrato. L'ordine può solo essere cancellato se entrambe le parti sono d'accordo all'annullamento.", - "Ask for Cancel":"Richiesta di annullamento", - "Cancel":"Annulla", - "Collaborative Cancel":"Annulla collaborativamente", - "Invalid Order Id":"ID ordine invalido", - "You must have a robot avatar to see the order details":"Devi avere un Robottino per vedere i dettagli dell'ordine", - "This order has been cancelled collaborativelly":"Quest'ordine è stato annullato collaborativamente", - "You are not allowed to see this order":"Non sei autorizzato a vedere quest'ordine", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Il Satoshi Robot che lavora nel magazzino non ti ha capito. Per favore, inoltra un Bug Issue su Github https://github.com/reckless-satoshi/robosats/issues", - - "CHAT BOX - Chat.js":"Chat Box", - "You":"Tu", - "Peer":"Pari", - "connected":"connesso", - "disconnected":"disconnesso", - "Type a message":"Digita un messaggio", - "Connecting...":"Connessione...", - "Send":"Invia", - "Verify your privacy":"Verificando la tua privacy", - "Audit PGP":"Audit PGP", - "Save full log as a JSON file (messages and credentials)":"Salva l'elenco completo come file JSON (messaggi e credenziali)", - "Export":"Esporta", - "Don't trust, verify":"Non fidarti, verifica", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"La tua comunicazione è cifrata end-to-end con OpenPGP. Puoi verificare la privacy di questa chat utilizzando qualunque strumento basato sull'OpenPGP standard.", - "Learn how to verify":"Impara come verificare", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"La tua chiave PGP pubblica. Il tuo pari la utilizza per cifrare i messaggi che solo tu puoi leggere.", - "Your public key":"La tua chiave pubblica", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"La chiave PGP pubblica del tuo pari. La utilizzi per cifrare i messaggi che solo il tuo pari può leggere e per verificare che la firma del tuo pari nei messaggi che ricevi.", - "Peer public key":"La chiave pubblica del tuo pari", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"La tua chiave privata cifrata. La utilizzi per decifrare i messaggi che il tuo pari ha cifrato per te. La usi anche quando firmi i messaggi che invii.", - "Your encrypted private key":"La tua chiave privata cifrata", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"La frase d'accesso per decifrare la tua chiave privata. Solo tu la conosci! Non la condividere. Corrisponde anche al gettone del tuo Robottino.", - "Your private key passphrase (keep secure!)":"La frase d'accesso alla tua chiave privata (Proteggila!)", - "Save credentials as a JSON file":"Salva le credenziali come file JSON", - "Keys":"Chiavi", - "Save messages as a JSON file":"Salva i messaggi come file JSON", - "Messages":"Messaggi", - "Verified signature by {{nickname}}":"Verifica la firma di {{nickname}}", - "Cannot verify signature of {{nickname}}":"Non è possibile verificare la firma di {{nickname}}", - - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Contratto", - "Robots show commitment to their peers": "I Robottini dimostrano dedizione verso i loro pari", - "Lock {{amountSats}} Sats to PUBLISH order": "Blocca {{amountSats}} Sats per PUBBLICARE l'ordine", - "Lock {{amountSats}} Sats to TAKE order": "Blocca {{amountSats}} Sats per ACCETTARE l'ordine", - "Lock {{amountSats}} Sats as collateral": "Blocca {{amountSats}} Sats come garanzia", - "Copy to clipboard":"Copia", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"Questa è una ricevuta di deposito, verrà congelata nel tuo wallet. Sarà riscossa solamente in caso di annullamento o perdita di una disputa.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"Questa è una ricevuta di deposito, verrà congelata nel tuo wallet. Sarà accreditata all'acquirente una volta tu abbia confermato di aver ricevuto {{currencyCode}}.", - "Your maker bond is locked":"La tua cauzione di offerente è stata bloccata", - "Your taker bond is locked":"La tua cauzione di acquirente è stata bloccata", - "Your maker bond was settled":"La tua cauzione di offerente è stata saldata", - "Your taker bond was settled":"La tua cauzione di acquirente è stata saldata", - "Your maker bond was unlocked":"La tua cauzione di offerente è stata sbloccata", - "Your taker bond was unlocked":"La tua cauzione di acquirente è stata sbloccata", - "Your order is public":"Il tuo ordine è pubblico", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"Sii paziente mentre i robottini controllano il registro. Questo box squillerà 🔊 appena un robottino accetta il tuo ordine, dopodiché avrai {{deposit_timer_hours}}h {{deposit_timer_minutes}}m per rispondere. Se non rispondi, rischi di perdere la cauzione.", - "If the order expires untaken, your bond will return to you (no action needed).":"Se l'ordine scade senza venire accettato, la cauzione ti sarà restituita (nessun'azione richiesta).", - "Enable Telegram Notifications":"Attiva notifiche Telegram", - "Enable TG Notifications":"Attiva notifiche TG", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"Sarai introdotto in conversazione con il bot RoboSats su telegram. Apri semplicemente la chat e premi Start. Considera che attivando le notifiche telegram potresti ridurre il tuo livello di anonimità.", - "Go back":"Indietro", - "Enable":"Attiva", - "Telegram enabled":"Telegram attivato", - "Public orders for {{currencyCode}}":"Ordini pubblici per {{currencyCode}}", - "Premium rank": "Classifica del premio", - "Among public {{currencyCode}} orders (higher is cheaper)": "Tra gli ordini pubblici in {{currencyCode}} (costo crescente)", - "A taker has been found!":"E' stato trovato un acquirente!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Aspetta che l'acquirente blocchi una cauzione. Se l'acquirente non blocca una cauzione in tempo, l'ordine verrà reso nuovamente pubblico.", - "Submit an invoice for {{amountSats}} Sats":"Invia una ricevuta per {{amountSats}} Sats", - "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.":"L'acquirente si è impegnato! Prima di lasciarti inviare {{amountFiat}} {{currencyCode}}, vogliamo assicurarci tu sia in grado di ricevere i BTC. Per favore invia una fattura valida per {{amountSats}} Sats.", - "Payout Lightning Invoice":"Fattura di pagamento Lightning", - "Your invoice looks good!":"La tua fattura va bene!", - "We are waiting for the seller to lock the trade amount.":"Stiamo aspettando che l'offerente blocchi l'ammontare della transazione.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Aspetta un attimo. Se l'offerente non effettua il deposito, riceverai indietro la cauzione automaticamente. In più, riceverai un compenso (controlla le ricompense sul tuo profilo).", - "The trade collateral is locked!":"La garanzia di transazione è stata bloccata!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Stiamo aspettando che l'acquirente invii una fattura lightning. Appena fatto, sarai in grado di comunicare direttamente i dettagli di pagamento fiat.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Aspetta un attimo. Se l'acquirente non collabora, ti verranno restituite automaticamente la garanzia di transazione e la cauzione. In più, riceverai un compenso (controlla le ricompense sul tuo profilo).", - "Confirm {{amount}} {{currencyCode}} sent":"Conferma l'invio di {{amount}} {{currencyCode}}", - "Confirm {{amount}} {{currencyCode}} received":"Conferma la ricezione di {{amount}} {{currencyCode}}", - "Open Dispute":"Apri una disputa", - "The order has expired":"L'ordine è scaduto", - "Chat with the buyer":"Chatta con l'acquirente", - "Chat with the seller":"Chatta con l'offerente", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Saluta! Sii utile e conciso. Fai sapere come inviarti {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"L'acquirente ha inviato fiat. Clicca 'Conferma ricezione' appena li ricevi.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Saluta! Chiedi i dettagli di pagamento e clicca 'Confirma invio' appena il pagamento è inviato.", - "Wait for the seller to confirm he has received the payment.":"Aspetta che l'offerente confermi la ricezione del pagamento.", - "Confirm you received {{amount}} {{currencyCode}}?":"Confermi la ricezione di {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Confermando la ricezione del fiat la transazione sarà finalizzata. I sats depositati saranno rilasciati all'acquirente. Conferma solamente dopo che {{amount}} {{currencyCode}} sono arrivati sul tuo conto. In più, se se hai ricevuto {{currencyCode}} e non procedi a confermare la ricezione, rischi di perdere la cauzione.", - "Confirm":"Conferma", - "Trade finished!":"Transazione conclusa!", - "rate_robosats":"Cosa pensi di <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Grazie! Anche +RoboSats ti ama ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats migliora se ha più liquidità ed utenti. Parla di Robosats ai tuoi amici bitcoiner!", - "Thank you for using Robosats!":"Grazie per aver usato Robosats!", - "let_us_know_hot_to_improve":"Facci sapere come migliorare la piattaforma (<1>Telegram / <3>Github)", - "Start Again":"Ricomincia", - "Attempting Lightning Payment":"Tentativo di pagamento lightning", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats sta provando a pagare la tua fattura lightning. Ricorda che i nodi lightning devono essere online per ricevere pagamenti.", - "Retrying!":"Retrying!", - "Lightning Routing Failed":"Instradamento lightning non riuscito", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.":"La tua fattura è scaduta o sono stati fatti più di 3 tentativi di pagamento. Invia una nuova fattura.", - "Check the list of compatible wallets":"Controlla la lista di wallet compatibili", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.", - "Next attempt in":"Prossimo tentativo", - "Do you want to open a dispute?":"Vuoi aprire una disputa?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"Lo staff di RoboSats esaminerà le dichiarazioni e le prove fornite. È necessario costruire un caso completo, poiché lo staff non può leggere la chat. È meglio fornire un metodo di contatto temporaneo insieme alla propria dichiarazione. I satoshi presenti nel deposito saranno inviati al vincitore della disputa, mentre il perdente perderà il deposito", - "Disagree":"Non sono d'accordo", - "Agree and open dispute":"Sono d'accordo e apri una disputa", - "A dispute has been opened":"E' stata aperta una disputa", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Per favore, invia la tua dichiarazione. Sii chiaro e specifico sull'accaduto e fornisci le prove necessarie. DEVI fornire un metodo di contatto: email temporanea, nome utente XMPP o telegram per contattare lo staff. Le dispute vengono risolte a discrezione di veri robot (alias umani), quindi sii il più collaborativo possibile per garantire un esito equo. Massimo 5000 caratteri.", - "Submit dispute statement":"Dichiarazione inviata", - "We have received your statement":"Abbiamo ricevuto la tua dichiarazione", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Siamo in attesa della dichiarazione della controparte. Se hai dubbi sullo stato della disputa o vuoi aggiungere ulteriori informazioni, contatta robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Per favore, salva le informazioni necessarie per identificare il tuo ordine e i tuoi pagamenti: ID dell'ordine; hash dei pagamenti delle garanzie o del deposito (controlla sul tuo wallet lightning); importo esatto in Sats; e nickname del robot. Dovrai identificarti come l'utente coinvolto in questa operazione tramite email (o altri metodi di contatto).", - "We have the statements":"Abbiamo ricevuto le dichiarazioni", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Sono state ricevute entrambe le dichiarazioni, attendi che lo staff risolva la disputa. Se sei incerto sullo stato della controversia o vuoi aggiungere ulteriori informazioni, contatta robosats@protonmail.com. Se non hai fornito un metodo di contatto o non sei sicuro di aver scritto bene, scrivici immediatamente.", - "You have won the dispute":"Hai vinto la disputa", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Puoi richiedere l'importo per la risoluzione delle controversie (deposito e cauzione) dalla sezione ricompense del tuo profilo. Se c'è qualcosa per cui lo staff può essere d'aiuto, non esitare a contattare robosats@protonmail.com (o tramite il metodo di contatto temporaneo fornito).", - "You have lost the dispute":"Hai perso la disputa", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Purtroppo hai perso la disputa. Se ritieni che si tratti di un errore, puoi chiedere di riaprire il caso inviando una email all'indirizzo robosats@protonmail.com. Tuttavia, le probabilità che il caso venga esaminato nuovamente sono basse.", - "Expired not taken":"Scaduto non accettato", - "Maker bond not locked":"Cauzione dell'offerente non bloccata", - "Escrow not locked":"Deposito non bloccato", - "Invoice not submitted":"Fattura non inviata", - "Neither escrow locked or invoice submitted":"Nè deposito bloccato nè fattura inviata", - "Renew Order":"Rinnova l'ordine", - "Pause the public order":"Sospendi l'ordine pubblico", - "Your order is paused":"Il tuo ordine è in sospeso", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"Il tuo ordine pubblico è in sospeso. Al momento non può essere visto o accettato da altri robot. È possibile scegliere di toglierlo dalla pausa in qualsiasi momento", - "Unpause Order":"Rimuovi la pausa all'ordine", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"Rischi di perdere la tua cauzione se non blocchi la garanzia. Il tempo totale a disposizione è {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets":"Vedi wallet compatibili", - "Failure reason:":"Ragione del fallimento:", - "Payment isn't failed (yet)":"Il pagamanto non è fallito (per adesso)", - "There are more routes to try, but the payment timeout was exceeded.":"Ci sono altri percorsi da tentare, ma il tempo massimo per il pagamento è stato superato.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"Tutti i percorsi possibili sono stati provati e hanno fallito definitivamente. Oppure non c'erano percorsi per raggiungere la destinazione.", - "A non-recoverable error has occurred.":"E' avvenuto un errore non recuperabile.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"I dettagli del pagamento sono incorretti (hash sconosciuto, somma invalida o CLTV delta finale invalido).", - "Insufficient unlocked balance in RoboSats' node.":"Saldo sbloccato nel nodo RoboSats insufficiente.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"La fattura inviata ha solo indicazioni di instradamento costose, stai usando un wallet incompatibile (probabilmente Muun?). Controlla la guida alla compatibilità dei wallet su wallets.robosats.com", - "The invoice provided has no explicit amount":"La fattura inviata non contiene una somma esplicita", - "Does not look like a valid lightning invoice":"Non assomiglia a una fattura lightning valida", - "The invoice provided has already expired":"La fattura inviata è già scaduta", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"Assicurati di esportare il log della chat. Lo staff potrebbe richiedere il file JSON di log della chat esportato per risolvere eventuali dispute. È tua responsabilità conservarlo.", - - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Chiudi", - "What is RoboSats?":"Cos'è RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"E' una borsa di scambio BTC/FIAT peer-to-peer che utilizza lightning.", - "RoboSats is an open source project ":"RoboSats è un progetto open-source", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"Semplifica il coordinamento tra parti e riduce al minimo la necessità di fiducia. RoboSats si concentra su privacy e velocità.", - "(GitHub).":"(GitHub).", - "How does it work?":"Come funziona?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymousAlice01 vuole vendere bitcoin. Ella invia un ordine di vendita. BafflingBob02 vuole acquistare bitcoin e accetta l'ordine di Alice. Entrambi devono inviare una piccola cauzione utilizzando lightning per dimostrare di essere dei veri robot. Quindi, Alice invia la garanzia utilizzando ancora una fattura lightning. RoboSats blocca la fattura finché Alice non conferma di aver ricevuto il denaro fiat, quindi i satoshi vengono rilasciati a Bob. Goditi i tuoi Sats, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"In nessun momento, AnonymousAlice01 e BafflingBob02 devono affidare i fondi bitcoin l'uno all'altro. In caso di conflitto, lo staff di RoboSats aiuterà a risolvere la disputa.", - "You can find a step-by-step description of the trade pipeline in ":"Una descrizione passo passo della pipeline di scambio è disponibile in ", - "How it works":"Come funziona", - "You can also check the full guide in ":"Puoi anche consultare la guida completa in ", - "How to use":"Come usarlo", - "What payment methods are accepted?":"Quali pagamenti sono accettati?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Tutti, purchè siano veloci. Puoi indicare i tuoi metodi di pagamenti preferiti. Dovrai trovare un tuo pari che preferisce gli stessi metodi. Il passaggio di trasferimento di fiat ha una scadenza di 24 ore prima che una disputa sia aperta automaticamente. Raccomandiamo caldamente di usare canali di pagamento fiat instantanei.", - "Are there trade limits?":"Ci sono limiti agli scambi?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"La dimensione massima di una singola operazione è di {{maxAmount}} Sats per ridurre al minimo il fallimento del traffico su lightning. Non ci sono limiti al numero di operazioni al giorno. Un robot può avere un solo ordine alla volta. Tuttavia, è possibile utilizzare più robot contemporaneamente in browser diversi (ricordarsi di eseguire il backup dei gettoni dei robot!).", - "Is RoboSats private?":"RoboSats è privato?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats non ti chiederà mai il nome, il paese o il documento d'identità. RoboSats non custodisce i tuoi fondi e non si interessa di chi sei. RoboSats non raccoglie né custodisce alcun dato personale. Per un migliore anonimato, usa il Tor Browser e accedi al servizio nascosto .onion.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Il tuo pari di trading è l'unico che può potenzialmente scoprire qualcosa su di te. Mantieni la chat breve e concisa. Evita di fornire informazioni non essenziali se non quelle strettamente necessarie per il pagamento in fiat.", - "What are the risks?":"Quali sono i rischi?", - "This is an experimental application, things could go wrong. Trade small amounts!":"Questa è un'applicazione sperimentale, le cose potrebbero andare male. Scambia piccole quantità!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"L'offerente è soggetto allo stesso rischio di charge-back di qualsiasi altro servizio peer-to-peer. Paypal o le carte di credito non sono raccomandate.", - "What is the trust model?":"Qual è il modello di fiducia?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"L'acquirente e l'offerente non devono mai avere fiducia l'uno nell'altro. È necessaria una certa fiducia nei confronti di RoboSats, poiché il collegamento tra la fattura di vendita e il pagamento dell'acquirente non è ancora atomico. Inoltre, le dispute sono risolte dallo staff di RoboSats.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"Per essere chiari. I requisiti di fiducia sono ridotti al minimo. Tuttavia, c'è ancora un modo in cui RoboSats potrebbe scappare con i tuoi satoshi: non rilasciando i satoshs all'acquirente. Si potrebbe obiettare che questa mossa non è nell'interesse di RoboSats, in quanto ne danneggerebbe la reputazione per un piccolo guadagno. Tuttavia, dovresti indugiare e scambiare solo piccole quantità alla volta. Per grandi quantità, utilizzate un servizio di deposito a garanzia onchain come Bisq.", - "You can build more trust on RoboSats by inspecting the source code.":"È possibile ottenere maggiore fiducia in RoboSats ispezionando il codice sorgente.", - "Project source code":"Codice sorgente del progetto", - "What happens if RoboSats suddenly disappears?":"Cosa succede se RoboSats sparisce improvvisamente?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"I tuoi sats torneranno a te. Qualsiasi fattura in sospeso non saldata sarà automaticamente restituita anche se RoboSats dovesse scomparire per sempre. Questo vale sia per le cauzioni bloccate che per i depositi. Tuttavia, c'è una piccola finestra tra il momento in cui l'offerente conferma il FIAT RICEVUTO e il momento in cui l'acquirente riceve i satoshi, in cui i fondi potrebbero essere persi in modo permanente se RoboSats scomparisse. Questa finestra dura circa 1 secondo. Assicuratevi di avere abbastanza liquidità in entrata per evitare errori di instradamento. In caso di problemi, contattare i canali pubblici di RoboSats.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"In molti Paesi l'utilizzo di RoboSats non è diverso da quello di Ebay o Craiglist. Le normative possono variare. È tua responsabilità conformarti.", - "Is RoboSats legal in my country?":"RoboSats è legale nel mio Paese?", - "Disclaimer":"Avvertenza", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Questa applicazione lightning viene fornita così com'è. È in fase di sviluppo attivo: è opportuno utilizzarla con la massima cautela. Non esiste un supporto privato. Il supporto è offerto solo attraverso i canali pubblici ", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats non ti contatterà mai. RoboSats non chiederà mai il gettone del tuo robot." -} \ No newline at end of file +{ + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Non stai usando RoboSats privatemente", + "desktop_unsafe_alert": "Alcune funzionalità (come la chat) sono disabilitate per le tua sicurezza e non sarai in grado di completare un'operazione senza di esse. Per proteggere la tua privacy e abilitare completamente RoboSats, usa <1>Tor Browser e visita il sito <3>Onion", + "phone_unsafe_alert": "Non sarai in grado di completare un'operazione. Usa <1>Tor Browser e visita il sito <3>Onion", + "Hide": "Nascondi", + + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Semplice e privata borsa di scambio LN P2P", + "This is your trading avatar": "Questo è il tuo Robottino", + "Store your token safely": "Custodisci il tuo gettone in modo sicuro", + "A robot avatar was found, welcome back!": "E' stato trovato un Robottino, bentornato!", + "Copied!": "Copiato!", + "Generate a new token": "Genera un nuovo gettone", + "Generate Robot": "Genera un Robottino", + "You must enter a new token first": "Inserisci prima un nuovo gettone", + "Make Order": "Crea un ordine", + "Info": "Info", + "View Book": "Vedi il libro", + "Learn RoboSats": "Impara RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Stai per visitare la pagina Learn RoboSats. Troverai tutorial e documentazione per aiutarti ad imparare a usare RoboSats e capire come funziona.", + "Let's go!": "Andiamo!", + "Save token and PGP credentials to file": "Salva il gettone e le credenziali PGP in un file", + + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Ordina", + "Customize": "Personalizza", + "Buy or Sell Bitcoin?": "Compri o Vendi Bitcoin?", + "Buy": "Comprare", + "Sell": "Vendere", + "Amount": "Quantità", + "Amount of fiat to exchange for bitcoin": "Quantità fiat da cambiare in bitcoin", + "Invalid": "Invalido", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Inserisci il tuo metodo di pagamento fiat preferito. Sono raccomandati i metodi veloci.", + "Must be shorter than 65 characters": "Deve essere meno di 65 caratteri", + "Swap Destination(s)": "Destinazione dello/degli Swap", + "Fiat Payment Method(s)": "Metodo(i) di pagamento fiat", + "You can add any method": "Puoi inserire qualunque metodo", + "Add New": "Aggiungi nuovo", + "Choose a Pricing Method": "Scegli come stabilire il prezzo", + "Relative": "Relativo", + "Let the price move with the market": "Lascia che il prezzo si muova col mercato", + "Premium over Market (%)": "Premio sul prezzo di mercato (%)", + "Explicit": "Esplicito", + "Set a fix amount of satoshis": "Imposta una somma fissa di Sats", + "Satoshis": "Satoshi", + "Fixed price:": "Prezzo fisso:", + "Order current rate:": "Ordina al prezzo corrente:", + "Your order fixed exchange rate": "Il tasso di cambio fisso del tuo ordine", + "Your order's current exchange rate. Rate will move with the market.": "Il tasso di cambio corrente del tuo ordine. Il tasso fluttuerà con il mercato.", + "Let the taker chose an amount within the range": "Lascia che l'acquirente decida una quantità in questo intervallo", + "Enable Amount Range": "Attiva intervallo di quantità", + "From": "Da", + "to": "a", + "Expiry Timers": "Tempo alla scadenza", + "Public Duration (HH:mm)": "Durata pubblica (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Tempo limite di deposito (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Stabilisci la posta in gioco, aumenta per una sicurezza maggiore", + "Fidelity Bond Size": "Ammontare della cauzione", + "Allow bondless takers": "Permetti acquirenti senza cauzione", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "PROSSIMAMENTE - Rischio elevato! Limitato a {{limitSats}}mila Sats", + "You must fill the order correctly": "Devi compilare l'ordine correttamente", + "Create Order": "Crea l'ordine", + "Back": "Indietro", + "Create an order for ": "Crea un ordine per ", + "Create a BTC buy order for ": "Crea un ordine di acquisto BTC per ", + "Create a BTC sell order for ": "Crea un ordine di vendita BTC per ", + " of {{satoshis}} Satoshis": " di {{satoshis}} Sats", + " at market price": " al prezzo di mercato", + " at a {{premium}}% premium": " con un premio del {{premium}}%", + " at a {{discount}}% discount": " con uno sconto del {{discount}}%", + "Must be less than {{max}}%": "Dev'essere inferiore al {{max}}%", + "Must be more than {{min}}%": "Dev'essere maggiore del {{min}}%", + "Must be less than {{maxSats}": "Dev'essere inferiore al {{maxSats}}", + "Must be more than {{minSats}}": "Dev'essere maggiore del {{minSats}}", + "Store your robot token": "Salva il tuo gettone", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Potresti aver bisogno di recuperare il tuo Robottino in futuro: custodiscilo con cura. Puoi semplicemente copiarlo in un'altra applicazione.", + "Done": "Fatto", + "You do not have a robot avatar": "Non hai un Robottino", + "You need to generate a robot avatar in order to become an order maker": "Devi generare un Robottino prima di impostare un ordine", + + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Non specificato", + "Instant SEPA": "SEPA istantaneo", + "Amazon GiftCard": "Buono Amazon", + "Google Play Gift Code": "Codice Regalo di Google Play", + "Cash F2F": "Contante, faccia-a-faccia", + "On-Chain BTC": "On-Chain BTC", + + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Offerente", + "Buyer": "Acquirente", + "I want to": "Voglio", + "Select Order Type": "Selezione il tipo di ordine", + "ANY_type": "QUALUNQUE", + "ANY_currency": "QUALUNQUE", + "BUY": "COMPRA", + "SELL": "VENDI", + "and receive": "e ricevi", + "and pay with": "e paga con", + "and use": "ed usa", + "Select Payment Currency": "Seleziona valuta di pagamento", + "Robot": "Robottino", + "Is": "è", + "Currency": "Valuta", + "Payment Method": "Metodo di pagamento", + "Pay": "Paga", + "Price": "Prezzo", + "Premium": "Premio", + "You are SELLING BTC for {{currencyCode}}": "Stai VENDENDO BTC per {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "Stai COMPRANDO BTC per{{currencyCode}}", + "You are looking at all": "Stai guardando tutto", + "No orders found to sell BTC for {{currencyCode}}": "Nessun ordine trovato per vendere BTC per {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "Nessun ordine trovato per comprare BTC per {{currencyCode}}", + "Filter has no results": "Il filtro corrente non ha risultati", + "Be the first one to create an order": "Crea tu il primo ordine", + + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Statistiche per secchioni", + "LND version": "Versione LND", + "Currently running commit hash": "Hash della versione corrente", + "24h contracted volume": "Volume scambiato in 24h", + "Lifetime contracted volume": "Volume scambiato in totale", + "Made with": "Fatto con", + "and": "e", + "... somewhere on Earth!": "... da qualche parte sulla Terra!", + "Community": "Comunità", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "L'assistenza viene offerta solo attraverso i canali pubblici. Unisciti alla nostra comunità Telegram se hai domande o se vuoi interagire con altri Robottini fichissimi. Utilizza il nostro Github Issues se trovi un bug o chiedere nuove funzionalità!", + "Follow RoboSats in Twitter": "Segui RoboSats su Twitter", + "Twitter Official Account": "Account Twitter ufficiale", + "RoboSats Telegram Communities": "RoboSats Telegram Communities", + "Join RoboSats Spanish speaking community!": "Unisciti alla comunità RoboSats che parla spagnolo!", + "Join RoboSats Russian speaking community!": "Unisciti alla comunità RoboSats che parla russo!", + "Join RoboSats Chinese speaking community!": "Unisciti alla comunità RoboSats che parla cinese!", + "Join RoboSats English speaking community!": "Unisciti alla comunità RoboSats che parla inglese!", + "Join RoboSats Italian speaking community!": "Unisciti alla comunità RoboSats che parla italiano!", + "Tell us about a new feature or a bug": "Comunicaci nuove funzionalità o bug", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis Open Source Project", + "Your Profile": "Il tuo profilo", + "Your robot": "Il tuo Robottino", + "One active order #{{orderID}}": "Un ordine attivo #{{orderID}}", + "Your current order": "Il tuo ordine attuale", + "No active orders": "Nessun ordine attivo", + "Your token (will not remain here)": "Il tuo gettone (Non resterà qui)", + "Back it up!": "Salvalo!", + "Cannot remember": "Dimenticato", + "Rewards and compensations": "Ricompense e compensi", + "Share to earn 100 Sats per trade": "Condividi e guadagna 100 Sats con ogni transazione", + "Your referral link": "Il tuo link di riferimento", + "Your earned rewards": "La tua ricompensa", + "Claim": "Riscatta", + "Invoice for {{amountSats}} Sats": "Ricevuta per {{amountSats}} Sats", + "Submit": "Invia", + "There it goes, thank you!🥇": "Inviato, grazie!🥇", + "You have an active order": "Hai un ordine attivo", + "You can claim satoshis!": "Hai satoshi da riscattare!", + "Public Buy Orders": "Ordini di acquisto pubblici", + "Public Sell Orders": "Ordini di vendita pubblici", + "Today Active Robots": "I Robottini attivi oggi", + "24h Avg Premium": "Premio medio in 24h", + "Trade Fee": "Commissione", + "Show community and support links": "Mostra i link della comunità e di supporto", + "Show stats for nerds": "Mostra le statistiche per secchioni", + "Exchange Summary": "Riassunto della transazione", + "Public buy orders": "Ordini di acquisto pubblici", + "Public sell orders": "Ordini di vendita pubblici", + "Book liquidity": "Registro della liquidità", + "Today active robots": "I Robottini attivi oggi", + "24h non-KYC bitcoin premium": "Premio bitcoin non-KYC 24h", + "Maker fee": "Commissione dell'offerente", + "Taker fee": "Commissione dell'acquirente", + "Number of public BUY orders": "Numero di ordini di ACQUISTO pubblici", + "Number of public SELL orders": "Numero di ordini di VENDITA pubblici", + "Your last order #{{orderID}}": "Il tuo ultimo ordine #{{orderID}}", + "Inactive order": "Ordine inattivo", + "You do not have previous orders": "Non hai ordini precedenti", + "Join RoboSats' Subreddit": "Unisciti al subreddit di RoboSats", + "RoboSats in Reddit": "RoboSats su Reddit", + + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Ordine", + "Contract": "Contratto", + "Active": "Attivo", + "Seen recently": "Visto di recente", + "Inactive": "Inattivo", + "(Seller)": "(Offerente)", + "(Buyer)": "(Acquirente)", + "Order maker": "Offerente", + "Order taker": "Acquirente", + "Order Details": "Dettagli", + "Order status": "Stato", + "Waiting for maker bond": "In attesa della cauzione dell'offerente", + "Public": "Pubblico", + "Waiting for taker bond": "In attesa della cauzione dell'acquirente", + "Cancelled": "Cancellato", + "Expired": "Scaduto", + "Waiting for trade collateral and buyer invoice": "In attesa della garanzia e della fattura dell'acquirente", + "Waiting only for seller trade collateral": "In attesa della garanzia dell'offerente", + "Waiting only for buyer invoice": "In attesa della ricevuta del'acquirente", + "Sending fiat - In chatroom": "Invio di fiat in corso - Nella chat", + "Fiat sent - In chatroom": "Fiat inviati - Nella chat", + "In dispute": "Contestato", + "Collaboratively cancelled": "Annullato collaborativamente", + "Sending satoshis to buyer": "Invio di sats all'acquirente in corso", + "Sucessful trade": "Transazione riuscita", + "Failed lightning network routing": "Instradamento via lightning network fallito", + "Wait for dispute resolution": "In attesa della risoluzione della disputa", + "Maker lost dispute": "L'offerente ha perso la disputa", + "Taker lost dispute": "L'acquirente ha perso la disputa", + "Amount range": "Intervallo della quantità", + "Swap destination": "Destinazione di Swap", + "Accepted payment methods": "Metodi di pagamento accettati", + "Others": "Altro", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premio: {{premium}}%", + "Price and Premium": "Prezzo e Premio", + "Amount of Satoshis": "Quantità di sats", + "Premium over market price": "Premio sul prezzo di mercato", + "Order ID": "ID ordine", + "Deposit timer": "Per depositare", + "Expires in": "Scade in", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} verrebbe annullare collaborativamente", + "You asked for a collaborative cancellation": "Hai richiesto per un annullamento collaborativo", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Ricevuta scaduta. Non hai confermato pubblicando l'ordine in tempo. Crea un nuovo ordine", + "This order has been cancelled by the maker": "Quest'ordine è stato cancellato dall'offerente", + "Invoice expired. You did not confirm taking the order in time.": "Ricevuta scaduta. Non hai confermato accettando l'ordine in tempo.", + "Penalty lifted, good to go!": "Penalità rimossa, partiamo!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Non puoi ancora accettare un ordine! Aspetta {{timeMin}}m {{timeSec}}s", + "Too low": "Troppo poco", + "Too high": "Troppo", + "Enter amount of fiat to exchange for bitcoin": "Inserisci la quantità di fiat da scambiare per bitcoin", + "Amount {{currencyCode}}": "Quantità {{currencyCode}}", + "You must specify an amount first": "Devi prima specificare una quantità", + "Take Order": "Accetta l'ordine", + "Wait until you can take an order": "Aspetta fino a quando puoi accettare ordini", + "Cancel the order?": "Annullare l'ordine?", + "If the order is cancelled now you will lose your bond.": "Se l'ordine viene annullato adesso perderai la cauzione.", + "Confirm Cancel": "Conferma l'annullamento", + "The maker is away": "L'offerente è assente", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Accettando questo ordine rischi di perdere tempo. Se l'offerente non procede in tempo, sarai ricompensato in sats per il 50% della cauzione dell'offerente.", + "Collaborative cancel the order?": "Annullare collaborativamente l'ordine?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Il deposito di transazione è stato registrato. L'ordine può solo essere cancellato se entrambe le parti sono d'accordo all'annullamento.", + "Ask for Cancel": "Richiesta di annullamento", + "Cancel": "Annulla", + "Collaborative Cancel": "Annulla collaborativamente", + "Invalid Order Id": "ID ordine invalido", + "You must have a robot avatar to see the order details": "Devi avere un Robottino per vedere i dettagli dell'ordine", + "This order has been cancelled collaborativelly": "Quest'ordine è stato annullato collaborativamente", + "You are not allowed to see this order": "Non sei autorizzato a vedere quest'ordine", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Il Satoshi Robot che lavora nel magazzino non ti ha capito. Per favore, inoltra un Bug Issue su Github https://github.com/reckless-satoshi/robosats/issues", + + "CHAT BOX - Chat.js": "Chat Box", + "You": "Tu", + "Peer": "Pari", + "connected": "connesso", + "disconnected": "disconnesso", + "Type a message": "Digita un messaggio", + "Connecting...": "Connessione...", + "Send": "Invia", + "Verify your privacy": "Verificando la tua privacy", + "Audit PGP": "Audit PGP", + "Save full log as a JSON file (messages and credentials)": "Salva l'elenco completo come file JSON (messaggi e credenziali)", + "Export": "Esporta", + "Don't trust, verify": "Non fidarti, verifica", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "La tua comunicazione è cifrata end-to-end con OpenPGP. Puoi verificare la privacy di questa chat utilizzando qualunque strumento basato sull'OpenPGP standard.", + "Learn how to verify": "Impara come verificare", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "La tua chiave PGP pubblica. Il tuo pari la utilizza per cifrare i messaggi che solo tu puoi leggere.", + "Your public key": "La tua chiave pubblica", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "La chiave PGP pubblica del tuo pari. La utilizzi per cifrare i messaggi che solo il tuo pari può leggere e per verificare che la firma del tuo pari nei messaggi che ricevi.", + "Peer public key": "La chiave pubblica del tuo pari", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "La tua chiave privata cifrata. La utilizzi per decifrare i messaggi che il tuo pari ha cifrato per te. La usi anche quando firmi i messaggi che invii.", + "Your encrypted private key": "La tua chiave privata cifrata", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "La frase d'accesso per decifrare la tua chiave privata. Solo tu la conosci! Non la condividere. Corrisponde anche al gettone del tuo Robottino.", + "Your private key passphrase (keep secure!)": "La frase d'accesso alla tua chiave privata (Proteggila!)", + "Save credentials as a JSON file": "Salva le credenziali come file JSON", + "Keys": "Chiavi", + "Save messages as a JSON file": "Salva i messaggi come file JSON", + "Messages": "Messaggi", + "Verified signature by {{nickname}}": "Verifica la firma di {{nickname}}", + "Cannot verify signature of {{nickname}}": "Non è possibile verificare la firma di {{nickname}}", + + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Contratto", + "Robots show commitment to their peers": "I Robottini dimostrano dedizione verso i loro pari", + "Lock {{amountSats}} Sats to PUBLISH order": "Blocca {{amountSats}} Sats per PUBBLICARE l'ordine", + "Lock {{amountSats}} Sats to TAKE order": "Blocca {{amountSats}} Sats per ACCETTARE l'ordine", + "Lock {{amountSats}} Sats as collateral": "Blocca {{amountSats}} Sats come garanzia", + "Copy to clipboard": "Copia", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Questa è una ricevuta di deposito, verrà congelata nel tuo wallet. Sarà riscossa solamente in caso di annullamento o perdita di una disputa.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Questa è una ricevuta di deposito, verrà congelata nel tuo wallet. Sarà accreditata all'acquirente una volta tu abbia confermato di aver ricevuto {{currencyCode}}.", + "Your maker bond is locked": "La tua cauzione di offerente è stata bloccata", + "Your taker bond is locked": "La tua cauzione di acquirente è stata bloccata", + "Your maker bond was settled": "La tua cauzione di offerente è stata saldata", + "Your taker bond was settled": "La tua cauzione di acquirente è stata saldata", + "Your maker bond was unlocked": "La tua cauzione di offerente è stata sbloccata", + "Your taker bond was unlocked": "La tua cauzione di acquirente è stata sbloccata", + "Your order is public": "Il tuo ordine è pubblico", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Sii paziente mentre i robottini controllano il registro. Questo box squillerà 🔊 appena un robottino accetta il tuo ordine, dopodiché avrai {{deposit_timer_hours}}h {{deposit_timer_minutes}}m per rispondere. Se non rispondi, rischi di perdere la cauzione.", + "If the order expires untaken, your bond will return to you (no action needed).": "Se l'ordine scade senza venire accettato, la cauzione ti sarà restituita (nessun'azione richiesta).", + "Enable Telegram Notifications": "Attiva notifiche Telegram", + "Enable TG Notifications": "Attiva notifiche TG", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Sarai introdotto in conversazione con il bot RoboSats su telegram. Apri semplicemente la chat e premi Start. Considera che attivando le notifiche telegram potresti ridurre il tuo livello di anonimità.", + "Go back": "Indietro", + "Enable": "Attiva", + "Telegram enabled": "Telegram attivato", + "Public orders for {{currencyCode}}": "Ordini pubblici per {{currencyCode}}", + "Premium rank": "Classifica del premio", + "Among public {{currencyCode}} orders (higher is cheaper)": "Tra gli ordini pubblici in {{currencyCode}} (costo crescente)", + "A taker has been found!": "E' stato trovato un acquirente!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Aspetta che l'acquirente blocchi una cauzione. Se l'acquirente non blocca una cauzione in tempo, l'ordine verrà reso nuovamente pubblico.", + "Submit an invoice for {{amountSats}} Sats": "Invia una ricevuta per {{amountSats}} Sats", + "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.": "L'acquirente si è impegnato! Prima di lasciarti inviare {{amountFiat}} {{currencyCode}}, vogliamo assicurarci tu sia in grado di ricevere i BTC. Per favore invia una fattura valida per {{amountSats}} Sats.", + "Payout Lightning Invoice": "Fattura di pagamento Lightning", + "Your invoice looks good!": "La tua fattura va bene!", + "We are waiting for the seller to lock the trade amount.": "Stiamo aspettando che l'offerente blocchi l'ammontare della transazione.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Aspetta un attimo. Se l'offerente non effettua il deposito, riceverai indietro la cauzione automaticamente. In più, riceverai un compenso (controlla le ricompense sul tuo profilo).", + "The trade collateral is locked!": "La garanzia di transazione è stata bloccata!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Stiamo aspettando che l'acquirente invii una fattura lightning. Appena fatto, sarai in grado di comunicare direttamente i dettagli di pagamento fiat.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Aspetta un attimo. Se l'acquirente non collabora, ti verranno restituite automaticamente la garanzia di transazione e la cauzione. In più, riceverai un compenso (controlla le ricompense sul tuo profilo).", + "Confirm {{amount}} {{currencyCode}} sent": "Conferma l'invio di {{amount}} {{currencyCode}}", + "Confirm {{amount}} {{currencyCode}} received": "Conferma la ricezione di {{amount}} {{currencyCode}}", + "Open Dispute": "Apri una disputa", + "The order has expired": "L'ordine è scaduto", + "Chat with the buyer": "Chatta con l'acquirente", + "Chat with the seller": "Chatta con l'offerente", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Saluta! Sii utile e conciso. Fai sapere come inviarti {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "L'acquirente ha inviato fiat. Clicca 'Conferma ricezione' appena li ricevi.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Saluta! Chiedi i dettagli di pagamento e clicca 'Confirma invio' appena il pagamento è inviato.", + "Wait for the seller to confirm he has received the payment.": "Aspetta che l'offerente confermi la ricezione del pagamento.", + "Confirm you received {{amount}} {{currencyCode}}?": "Confermi la ricezione di {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Confermando la ricezione del fiat la transazione sarà finalizzata. I sats depositati saranno rilasciati all'acquirente. Conferma solamente dopo che {{amount}} {{currencyCode}} sono arrivati sul tuo conto. In più, se se hai ricevuto {{currencyCode}} e non procedi a confermare la ricezione, rischi di perdere la cauzione.", + "Confirm": "Conferma", + "Trade finished!": "Transazione conclusa!", + "rate_robosats": "Cosa pensi di <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Grazie! Anche +RoboSats ti ama ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats migliora se ha più liquidità ed utenti. Parla di Robosats ai tuoi amici bitcoiner!", + "Thank you for using Robosats!": "Grazie per aver usato Robosats!", + "let_us_know_hot_to_improve": "Facci sapere come migliorare la piattaforma (<1>Telegram / <3>Github)", + "Start Again": "Ricomincia", + "Attempting Lightning Payment": "Tentativo di pagamento lightning", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats sta provando a pagare la tua fattura lightning. Ricorda che i nodi lightning devono essere online per ricevere pagamenti.", + "Retrying!": "Retrying!", + "Lightning Routing Failed": "Instradamento lightning non riuscito", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "La tua fattura è scaduta o sono stati fatti più di 3 tentativi di pagamento. Invia una nuova fattura.", + "Check the list of compatible wallets": "Controlla la lista di wallet compatibili", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.", + "Next attempt in": "Prossimo tentativo", + "Do you want to open a dispute?": "Vuoi aprire una disputa?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Lo staff di RoboSats esaminerà le dichiarazioni e le prove fornite. È necessario costruire un caso completo, poiché lo staff non può leggere la chat. È meglio fornire un metodo di contatto temporaneo insieme alla propria dichiarazione. I satoshi presenti nel deposito saranno inviati al vincitore della disputa, mentre il perdente perderà il deposito", + "Disagree": "Non sono d'accordo", + "Agree and open dispute": "Sono d'accordo e apri una disputa", + "A dispute has been opened": "E' stata aperta una disputa", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Per favore, invia la tua dichiarazione. Sii chiaro e specifico sull'accaduto e fornisci le prove necessarie. DEVI fornire un metodo di contatto: email temporanea, nome utente XMPP o telegram per contattare lo staff. Le dispute vengono risolte a discrezione di veri robot (alias umani), quindi sii il più collaborativo possibile per garantire un esito equo. Massimo 5000 caratteri.", + "Submit dispute statement": "Dichiarazione inviata", + "We have received your statement": "Abbiamo ricevuto la tua dichiarazione", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Siamo in attesa della dichiarazione della controparte. Se hai dubbi sullo stato della disputa o vuoi aggiungere ulteriori informazioni, contatta robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Per favore, salva le informazioni necessarie per identificare il tuo ordine e i tuoi pagamenti: ID dell'ordine; hash dei pagamenti delle garanzie o del deposito (controlla sul tuo wallet lightning); importo esatto in Sats; e nickname del robot. Dovrai identificarti come l'utente coinvolto in questa operazione tramite email (o altri metodi di contatto).", + "We have the statements": "Abbiamo ricevuto le dichiarazioni", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Sono state ricevute entrambe le dichiarazioni, attendi che lo staff risolva la disputa. Se sei incerto sullo stato della controversia o vuoi aggiungere ulteriori informazioni, contatta robosats@protonmail.com. Se non hai fornito un metodo di contatto o non sei sicuro di aver scritto bene, scrivici immediatamente.", + "You have won the dispute": "Hai vinto la disputa", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Puoi richiedere l'importo per la risoluzione delle controversie (deposito e cauzione) dalla sezione ricompense del tuo profilo. Se c'è qualcosa per cui lo staff può essere d'aiuto, non esitare a contattare robosats@protonmail.com (o tramite il metodo di contatto temporaneo fornito).", + "You have lost the dispute": "Hai perso la disputa", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Purtroppo hai perso la disputa. Se ritieni che si tratti di un errore, puoi chiedere di riaprire il caso inviando una email all'indirizzo robosats@protonmail.com. Tuttavia, le probabilità che il caso venga esaminato nuovamente sono basse.", + "Expired not taken": "Scaduto non accettato", + "Maker bond not locked": "Cauzione dell'offerente non bloccata", + "Escrow not locked": "Deposito non bloccato", + "Invoice not submitted": "Fattura non inviata", + "Neither escrow locked or invoice submitted": "Nè deposito bloccato nè fattura inviata", + "Renew Order": "Rinnova l'ordine", + "Pause the public order": "Sospendi l'ordine pubblico", + "Your order is paused": "Il tuo ordine è in sospeso", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Il tuo ordine pubblico è in sospeso. Al momento non può essere visto o accettato da altri robot. È possibile scegliere di toglierlo dalla pausa in qualsiasi momento", + "Unpause Order": "Rimuovi la pausa all'ordine", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Rischi di perdere la tua cauzione se non blocchi la garanzia. Il tempo totale a disposizione è {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "Vedi wallet compatibili", + "Failure reason:": "Ragione del fallimento:", + "Payment isn't failed (yet)": "Il pagamanto non è fallito (per adesso)", + "There are more routes to try, but the payment timeout was exceeded.": "Ci sono altri percorsi da tentare, ma il tempo massimo per il pagamento è stato superato.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Tutti i percorsi possibili sono stati provati e hanno fallito definitivamente. Oppure non c'erano percorsi per raggiungere la destinazione.", + "A non-recoverable error has occurred.": "E' avvenuto un errore non recuperabile.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "I dettagli del pagamento sono incorretti (hash sconosciuto, somma invalida o CLTV delta finale invalido).", + "Insufficient unlocked balance in RoboSats' node.": "Saldo sbloccato nel nodo RoboSats insufficiente.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "La fattura inviata ha solo indicazioni di instradamento costose, stai usando un wallet incompatibile (probabilmente Muun?). Controlla la guida alla compatibilità dei wallet su wallets.robosats.com", + "The invoice provided has no explicit amount": "La fattura inviata non contiene una somma esplicita", + "Does not look like a valid lightning invoice": "Non assomiglia a una fattura lightning valida", + "The invoice provided has already expired": "La fattura inviata è già scaduta", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Assicurati di esportare il log della chat. Lo staff potrebbe richiedere il file JSON di log della chat esportato per risolvere eventuali dispute. È tua responsabilità conservarlo.", + + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Chiudi", + "What is RoboSats?": "Cos'è RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "E' una borsa di scambio BTC/FIAT peer-to-peer che utilizza lightning.", + "RoboSats is an open source project ": "RoboSats è un progetto open-source", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Semplifica il coordinamento tra parti e riduce al minimo la necessità di fiducia. RoboSats si concentra su privacy e velocità.", + "(GitHub).": "(GitHub).", + "How does it work?": "Come funziona?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 vuole vendere bitcoin. Ella invia un ordine di vendita. BafflingBob02 vuole acquistare bitcoin e accetta l'ordine di Alice. Entrambi devono inviare una piccola cauzione utilizzando lightning per dimostrare di essere dei veri robot. Quindi, Alice invia la garanzia utilizzando ancora una fattura lightning. RoboSats blocca la fattura finché Alice non conferma di aver ricevuto il denaro fiat, quindi i satoshi vengono rilasciati a Bob. Goditi i tuoi Sats, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "In nessun momento, AnonymousAlice01 e BafflingBob02 devono affidare i fondi bitcoin l'uno all'altro. In caso di conflitto, lo staff di RoboSats aiuterà a risolvere la disputa.", + "You can find a step-by-step description of the trade pipeline in ": "Una descrizione passo passo della pipeline di scambio è disponibile in ", + "How it works": "Come funziona", + "You can also check the full guide in ": "Puoi anche consultare la guida completa in ", + "How to use": "Come usarlo", + "What payment methods are accepted?": "Quali pagamenti sono accettati?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Tutti, purchè siano veloci. Puoi indicare i tuoi metodi di pagamenti preferiti. Dovrai trovare un tuo pari che preferisce gli stessi metodi. Il passaggio di trasferimento di fiat ha una scadenza di 24 ore prima che una disputa sia aperta automaticamente. Raccomandiamo caldamente di usare canali di pagamento fiat instantanei.", + "Are there trade limits?": "Ci sono limiti agli scambi?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "La dimensione massima di una singola operazione è di {{maxAmount}} Sats per ridurre al minimo il fallimento del traffico su lightning. Non ci sono limiti al numero di operazioni al giorno. Un robot può avere un solo ordine alla volta. Tuttavia, è possibile utilizzare più robot contemporaneamente in browser diversi (ricordarsi di eseguire il backup dei gettoni dei robot!).", + "Is RoboSats private?": "RoboSats è privato?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats non ti chiederà mai il nome, il paese o il documento d'identità. RoboSats non custodisce i tuoi fondi e non si interessa di chi sei. RoboSats non raccoglie né custodisce alcun dato personale. Per un migliore anonimato, usa il Tor Browser e accedi al servizio nascosto .onion.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Il tuo pari di trading è l'unico che può potenzialmente scoprire qualcosa su di te. Mantieni la chat breve e concisa. Evita di fornire informazioni non essenziali se non quelle strettamente necessarie per il pagamento in fiat.", + "What are the risks?": "Quali sono i rischi?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Questa è un'applicazione sperimentale, le cose potrebbero andare male. Scambia piccole quantità!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "L'offerente è soggetto allo stesso rischio di charge-back di qualsiasi altro servizio peer-to-peer. Paypal o le carte di credito non sono raccomandate.", + "What is the trust model?": "Qual è il modello di fiducia?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "L'acquirente e l'offerente non devono mai avere fiducia l'uno nell'altro. È necessaria una certa fiducia nei confronti di RoboSats, poiché il collegamento tra la fattura di vendita e il pagamento dell'acquirente non è ancora atomico. Inoltre, le dispute sono risolte dallo staff di RoboSats.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Per essere chiari. I requisiti di fiducia sono ridotti al minimo. Tuttavia, c'è ancora un modo in cui RoboSats potrebbe scappare con i tuoi satoshi: non rilasciando i satoshs all'acquirente. Si potrebbe obiettare che questa mossa non è nell'interesse di RoboSats, in quanto ne danneggerebbe la reputazione per un piccolo guadagno. Tuttavia, dovresti indugiare e scambiare solo piccole quantità alla volta. Per grandi quantità, utilizzate un servizio di deposito a garanzia onchain come Bisq.", + "You can build more trust on RoboSats by inspecting the source code.": "È possibile ottenere maggiore fiducia in RoboSats ispezionando il codice sorgente.", + "Project source code": "Codice sorgente del progetto", + "What happens if RoboSats suddenly disappears?": "Cosa succede se RoboSats sparisce improvvisamente?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "I tuoi sats torneranno a te. Qualsiasi fattura in sospeso non saldata sarà automaticamente restituita anche se RoboSats dovesse scomparire per sempre. Questo vale sia per le cauzioni bloccate che per i depositi. Tuttavia, c'è una piccola finestra tra il momento in cui l'offerente conferma il FIAT RICEVUTO e il momento in cui l'acquirente riceve i satoshi, in cui i fondi potrebbero essere persi in modo permanente se RoboSats scomparisse. Questa finestra dura circa 1 secondo. Assicuratevi di avere abbastanza liquidità in entrata per evitare errori di instradamento. In caso di problemi, contattare i canali pubblici di RoboSats.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "In molti Paesi l'utilizzo di RoboSats non è diverso da quello di Ebay o Craiglist. Le normative possono variare. È tua responsabilità conformarti.", + "Is RoboSats legal in my country?": "RoboSats è legale nel mio Paese?", + "Disclaimer": "Avvertenza", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Questa applicazione lightning viene fornita così com'è. È in fase di sviluppo attivo: è opportuno utilizzarla con la massima cautela. Non esiste un supporto privato. Il supporto è offerto solo attraverso i canali pubblici ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats non ti contatterà mai. RoboSats non chiederà mai il gettone del tuo robot." +} diff --git a/frontend/static/locales/pl.json b/frontend/static/locales/pl.json index eff912184..d67ec1a28 100644 --- a/frontend/static/locales/pl.json +++ b/frontend/static/locales/pl.json @@ -1,365 +1,359 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Nie używasz Robosats prywatnie", - "desktop_unsafe_alert": "Niektóre funkcje są wyłączone dla Twojej ochrony (np. czat) i bez nich nie będziesz w stanie dokonać transakcji. Aby chronić swoją prywatność i w pełni włączyć RoboSats, użyj <1>Tor Browser i odwiedź <3>onion.", - "phone_unsafe_alert": "Nie będziesz w stanie sfinalizować transakcji. Użyj <1>Tor Browser i odwiedź witrynę <3>Onion.", - "Hide":"Ukryć", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Nie używasz Robosats prywatnie", + "desktop_unsafe_alert": "Niektóre funkcje są wyłączone dla Twojej ochrony (np. czat) i bez nich nie będziesz w stanie dokonać transakcji. Aby chronić swoją prywatność i w pełni włączyć RoboSats, użyj <1>Tor Browser i odwiedź <3>onion.", + "phone_unsafe_alert": "Nie będziesz w stanie sfinalizować transakcji. Użyj <1>Tor Browser i odwiedź witrynę <3>Onion.", + "Hide": "Ukryć", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Łatwa i prywatna wymiana P2P LN", + "This is your trading avatar": "To jest twój awatar handlowy", + "Store your token safely": "Przechowuj swój token bezpiecznie", + "A robot avatar was found, welcome back!": "Znaleziono awatar robota, witamy ponownie!", + "Copied!": "Skopiowane!", + "Generate a new token": "Wygeneruj nowy token", + "Generate Robot": "Generuj robota", + "You must enter a new token first": "Musisz najpierw wprowadzić nowy token", + "Make Order": "Złóż zamówienie", + "Info": "Info", + "View Book": "Zobacz książkę", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Łatwa i prywatna wymiana P2P LN", - "This is your trading avatar":"To jest twój awatar handlowy", - "Store your token safely":"Przechowuj swój token bezpiecznie", - "A robot avatar was found, welcome back!":"Znaleziono awatar robota, witamy ponownie!", - "Copied!":"Skopiowane!", - "Generate a new token":"Wygeneruj nowy token", - "Generate Robot":"Generuj robota", - "You must enter a new token first":"Musisz najpierw wprowadzić nowy token", - "Make Order":"Złóż zamówienie", - "Info":"Info", - "View Book":"Zobacz książkę", + "MAKER PAGE - MakerPage.js": "To jest strona, na której użytkownicy mogą tworzyć nowe zamówienia", + "Order": "Zamówienie", + "Customize": "Dostosuj", + "Buy or Sell Bitcoin?": "Chcesz kupić lub sprzedać Bitcoin?", + "Buy": "Kupić", + "Sell": "Sprzedać", + "Amount": "Ilość", + "Amount of fiat to exchange for bitcoin": "Kwota fiat do wymiany na bitcoin", + "Invalid": "Nieważny", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Wpisz swoje preferowane metody płatności fiat. Zdecydowanie zaleca się szybkie metody.", + "Must be shorter than 65 characters": "Musi być krótszy niż 65 znaków", + "Swap Destination(s)": "Swap miejsce/miejsca docelowe", + "Fiat Payment Method(s)": "Fiat Metoda/Metody płatności", + "You can add any method": "Możesz dodać dowolną metodę", + "Add New": "Dodaj nowe", + "Choose a Pricing Method": "Wybierz metodę ustalania cen", + "Relative": "Względny", + "Let the price move with the market": "Niech cena porusza się wraz z rynkiem", + "Premium over Market (%)": "Premia nad rynkiem (%)", + "Explicit": "Sprecyzowany", + "Set a fix amount of satoshis": "Ustaw stałą ilość satoshi", + "Satoshis": "Satoshis", + "Let the taker chose an amount within the range": "Niech biorący wybierze kwotę z zakresu", + "Enable Amount Range": "Włącz zakres kwot", + "From": "Od", + "to": "do", + "Public Duration (HH:mm)": "Czas trwania publicznego (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Ustaw skin-in-the-game, zwiększ, aby zapewnić większe bezpieczeństwo", + "Fidelity Bond Size": "Rozmiar obligacji wierności", + "Allow bondless takers": "Zezwól na osoby bez obligacji", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "WKRÓTCE - Wysokie ryzyko! Ograniczony do {{limitSats}}K Sats", + "You must fill the order correctly": "Musisz poprawnie wypełnić zamówienie", + "Create Order": "Utwórz zamówienie", + "Back": "Z powrotem", + "Create a BTC buy order for ": "Utwórz zlecenie kupna BTC dla ", + "Create a BTC sell order for ": "Utwórz zlecenie sprzedaży BTC dla ", + " of {{satoshis}} Satoshis": " z {{satoshis}} Satoshis", + " at market price": " po cenie rynkowej", + " at a {{premium}}% premium": " o godz {{premium}}% premia", + " at a {{discount}}% discount": " o godz {{discount}}% zniżka", + "Must be less than {{max}}%": "To musi być mniejsza niż {{max}}%", + "Must be more than {{min}}%": "To musi być więcej niż {{min}}%", + "Must be less than {{maxSats}": "To musi być mniej niż {{maxSats}}", + "Must be more than {{minSats}}": "To musi być więcej niż {{minSats}}", + "PAYMENT METHODS - autocompletePayments.js": "Ciągi metod płatności", + "not specified": "Nieokreślony", + "Instant SEPA": "Natychmiastowe SEPA", + "Amazon GiftCard": "Amazon GiftCard", + "Google Play Gift Code": "Google Play Gift Code", + "Cash F2F": "Cash F2F", + "On-Chain BTC": "On-Chain BTC", - "MAKER PAGE - MakerPage.js": "To jest strona, na której użytkownicy mogą tworzyć nowe zamówienia", - "Order":"Zamówienie", - "Customize":"Dostosuj", - "Buy or Sell Bitcoin?":"Chcesz kupić lub sprzedać Bitcoin?", - "Buy":"Kupić", - "Sell":"Sprzedać", - "Amount":"Ilość", - "Amount of fiat to exchange for bitcoin":"Kwota fiat do wymiany na bitcoin", - "Invalid":"Nieważny", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Wpisz swoje preferowane metody płatności fiat. Zdecydowanie zaleca się szybkie metody.", - "Must be shorter than 65 characters":"Musi być krótszy niż 65 znaków", - "Swap Destination(s)":"Swap miejsce/miejsca docelowe", - "Fiat Payment Method(s)":"Fiat Metoda/Metody płatności", - "You can add any method":"Możesz dodać dowolną metodę", - "Add New":"Dodaj nowe", - "Choose a Pricing Method":"Wybierz metodę ustalania cen", - "Relative":"Względny", - "Let the price move with the market":"Niech cena porusza się wraz z rynkiem", - "Premium over Market (%)":"Premia nad rynkiem (%)", - "Explicit":"Sprecyzowany", - "Set a fix amount of satoshis":"Ustaw stałą ilość satoshi", - "Satoshis":"Satoshis", - "Let the taker chose an amount within the range":"Niech biorący wybierze kwotę z zakresu", - "Enable Amount Range":"Włącz zakres kwot", - "From": "Od", - "to":"do", - "Public Duration (HH:mm)":"Czas trwania publicznego (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance":"Ustaw skin-in-the-game, zwiększ, aby zapewnić większe bezpieczeństwo", - "Fidelity Bond Size":"Rozmiar obligacji wierności", - "Allow bondless takers":"Zezwól na osoby bez obligacji", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"WKRÓTCE - Wysokie ryzyko! Ograniczony do {{limitSats}}K Sats", - "You must fill the order correctly":"Musisz poprawnie wypełnić zamówienie", - "Create Order":"Utwórz zamówienie", - "Back":"Z powrotem", - "Create a BTC buy order for ":"Utwórz zlecenie kupna BTC dla ", - "Create a BTC sell order for ":"Utwórz zlecenie sprzedaży BTC dla ", - " of {{satoshis}} Satoshis":" z {{satoshis}} Satoshis", - " at market price":" po cenie rynkowej", - " at a {{premium}}% premium":" o godz {{premium}}% premia", - " at a {{discount}}% discount":" o godz {{discount}}% zniżka", - "Must be less than {{max}}%":"To musi być mniejsza niż {{max}}%", - "Must be more than {{min}}%":"To musi być więcej niż {{min}}%", - "Must be less than {{maxSats}": "To musi być mniej niż {{maxSats}}", - "Must be more than {{minSats}}": "To musi być więcej niż {{minSats}}", + "BOOK PAGE - BookPage.js": "Strona Zamówienia książki", + "Seller": "Sprzedawca", + "Buyer": "Kupujący", + "I want to": "chcę", + "Select Order Type": "Wybierz typ zamówienia", + "ANY_type": "KAŻDY", + "ANY_currency": "KAŻDY", + "BUY": "KUPIĆ", + "SELL": "SPRZEDAĆ", + "and receive": "i odbierz", + "and pay with": "i zapłać", + "and use": "i użyć", + "Select Payment Currency": "Wybierz walutę płatności", + "Robot": "Robot", + "Is": "Jest", + "Currency": "Waluta", + "Payment Method": "Metoda płatności", + "Pay": "Płacić", + "Price": "Cena", + "Premium": "Premia", + "You are SELLING BTC for {{currencyCode}}": "SPRZEDAJESZ BTC za {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "KUPUJESZ BTC za {{currencyCode}}", + "You are looking at all": "Patrzysz na wszystko", + "No orders found to sell BTC for {{currencyCode}}": "Nie znaleziono zleceń sprzedaży BTC za {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "Nie znaleziono zamówień na zakup BTC za {{currencyCode}}", + "Be the first one to create an order": "Bądź pierwszą osobą, która utworzy zamówienie", - - "PAYMENT METHODS - autocompletePayments.js": "Ciągi metod płatności", - "not specified":"Nieokreślony", - "Instant SEPA":"Natychmiastowe SEPA", - "Amazon GiftCard":"Amazon GiftCard", - "Google Play Gift Code":"Google Play Gift Code", - "Cash F2F":"Cash F2F", - "On-Chain BTC":"On-Chain BTC", + "BOTTOM BAR AND MISC - BottomBar.js": "Profil użytkownika paska dolnego i różne okna dialogowe", + "Stats For Nerds": "Statystyki dla nerdów", + "LND version": "LND wersja", + "Currently running commit hash": "Aktualnie uruchomiony hash zatwierdzenia", + "24h contracted volume": "Zakontraktowana objętość 24h", + "Lifetime contracted volume": "Zakontraktowana wielkość dożywotnia", + "Made with": "Wykonana z", + "and": "i", + "... somewhere on Earth!": "... gdzieś na Ziemi!", + "Community": "Społeczność", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Wsparcie jest oferowane wyłącznie za pośrednictwem kanałów publicznych. Dołącz do naszej społeczności Telegram, jeśli masz pytania lub chcesz spędzać czas z innymi fajnymi robotami. Proszę, skorzystaj z naszego Github Issues, jeśli znajdziesz błąd lub chcesz zobaczyć nowe funkcje!", + "Join the RoboSats group": "Dołącz do grupy RoboSats", + "Telegram (English / Main)": "Telegram (English / Main)", + "RoboSats Telegram Communities": "RoboSats Telegram Communities", + "Join RoboSats Spanish speaking community!": "Dołącz do hiszpańskojęzycznej społeczności RoboSats!", + "Join RoboSats Russian speaking community!": "Dołącz do rosyjskojęzycznej społeczności RoboSats!", + "Join RoboSats Chinese speaking community!": "Dołącz do chińskojęzycznej społeczności RoboSats!", + "Join RoboSats English speaking community!": "Dołącz do anglojęzycznej społeczności RoboSats!", + "Tell us about a new feature or a bug": "Poinformuj nas o nowej funkcji lub błędzie", + "Github Issues - The Robotic Satoshis Open Source Project": "Problemy z Githubem — projekt Robotic Satoshis Open Source", + "Your Profile": "Twój profil", + "Your robot": "Twój robot", + "One active order #{{orderID}}": "Jedno aktywne zamówienie #{{orderID}}", + "Your current order": "Twoje obecne zamówienie", + "No active orders": "Brak aktywnych zamówień", + "Your token (will not remain here)": "Twój token (nie pozostanie tutaj)", + "Back it up!": "Utwórz kopię zapasową!", + "Cannot remember": "niemożliwe do zapamiętania", + "Rewards and compensations": "Nagrody i rekompensaty", + "Share to earn 100 Sats per trade": "Udostępnij, aby zarobić 100 Sats na transakcję", + "Your referral link": "Twój link referencyjny", + "Your earned rewards": "Twoje zarobione nagrody", + "Claim": "Prawo", + "Invoice for {{amountSats}} Sats": "Faktura za {{amountSats}} Sats", + "Submit": "Składać", + "There it goes, thank you!🥇": "No to idzie, Dziękuję!🥇", + "You have an active order": "Masz aktywne zamówienie", + "You can claim satoshis!": "Możesz ubiegać się o satoshi!", + "Public Buy Orders": "Publiczne zamówienia zakupu", + "Public Sell Orders": "Publiczne zlecenia sprzedaży", + "Today Active Robots": "Dzisiaj aktywne roboty", + "24h Avg Premium": "24h średnia premia", + "Trade Fee": "Opłata handlowa", + "Show community and support links": "Pokaż linki do społeczności i wsparcia", + "Show stats for nerds": "Pokaż statystyki dla nerdów", + "Exchange Summary": "Podsumowanie wymiany", + "Public buy orders": "Publiczne zamówienia kupna", + "Public sell orders": "Zlecenia sprzedaży publicznej", + "Book liquidity": "Płynność księgowa", + "Today active robots": "Dziś aktywne roboty", + "24h non-KYC bitcoin premium": "24h premia bitcoin non-KYC", + "Maker fee": "Opłata producenta", + "Taker fee": "Opłata takera", + "Number of public BUY orders": "Liczba publicznych zamówień BUY", + "Number of public SELL orders": "Liczba publicznych zleceń SPRZEDAŻY", + "ORDER PAGE - OrderPage.js": "Strona szczegółów zamówienia", + "Order Box": "Pole zamówienia", + "Contract": "Kontrakt", + "Active": "Aktywny", + "Seen recently": "Widziany niedawno", + "Inactive": "Nieaktywny", + "(Seller)": "(Sprzedawca)", + "(Buyer)": "(Kupujący)", + "Order maker": "Ekspres zamówienia", + "Order taker": "Przyjmujący zamówienia", + "Order Details": "Szczegóły zamówienia", + "Order status": "Status zamówienia", + "Waiting for maker bond": "Oczekiwanie na maker bond", + "Public": "Publiczny", + "Waiting for taker bond": "Oczekiwanie na taker bond", + "Cancelled": "Anulowane", + "Expired": "Wygasł", + "Waiting for trade collateral and buyer invoice": "Oczekiwanie na zabezpieczenie handlowe i fakturę kupującego", + "Waiting only for seller trade collateral": "Oczekiwanie tylko na zabezpieczenie transakcji sprzedawcy", + "Waiting only for buyer invoice": "Oczekiwanie tylko na fakturę kupującego", + "Sending fiat - In chatroom": "Wysyłanie fiat - W czacie", + "Fiat sent - In chatroom": "Fiat wysłany - W czacie", + "In dispute": "W sporze", + "Collaboratively cancelled": "Anulowano wspólnie", + "Sending satoshis to buyer": "Wysyłanie satoshi do kupującego", + "Sucessful trade": "Udany handel", + "Failed lightning network routing": "Nieudane routingu lightning network", + "Wait for dispute resolution": "Poczekaj na rozstrzygnięcie sporu", + "Maker lost dispute": "Wytwórca przegrał spór", + "Taker lost dispute": "Taker przegrany spór", + "Amount range": "Przedział kwotowy", + "Swap destination": "Miejsce docelowe Swap", + "Accepted payment methods": "Akceptowane metody płatności", + "Others": "Inni", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premia: {{premium}}%", + "Price and Premium": "Cena i premia", + "Amount of Satoshis": "Ilość Satoshis", + "Premium over market price": "Premia ponad cenę rynkową", + "Order ID": "ID zamówienia", + "Expires in": "Wygasa za", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} prosi o anulowanie współpracy", + "You asked for a collaborative cancellation": "Poprosiłeś o wspólne anulowanie", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Faktura wygasła. Nie potwierdziłeś publikacji zamówienia na czas. Złóż nowe zamówienie.", + "This order has been cancelled by the maker": "To zamówienie zostało anulowane przez producenta", + "Invoice expired. You did not confirm taking the order in time.": "Faktura wygasła. Nie potwierdziłeś przyjęcia zamówienia na czas.", + "Penalty lifted, good to go!": "Kara zniesiona, gotowe!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nie możesz jeszcze przyjąć zamówienia! Czekać {{timeMin}}m {{timeSec}}s", + "Too low": "Za nisko", + "Too high": "Za wysoko", + "Enter amount of fiat to exchange for bitcoin": "Wprowadź kwotę fiat do wymiany na bitcoin", + "Amount {{currencyCode}}": "Ilość {{currencyCode}}", + "You must specify an amount first": "Musisz najpierw określić kwotę", + "Take Order": "Przyjąć zamówienie", + "Wait until you can take an order": "Poczekaj, aż będziesz mógł złożyć zamówienie", + "Cancel the order?": "Anulować zamówienie?", + "If the order is cancelled now you will lose your bond.": "Jeśli zamówienie zostanie teraz anulowane, stracisz kaucję.", + "Confirm Cancel": "Potwierdź Anuluj", + "The maker is away": "Twórcy nie ma", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Przyjmując to zamówienie, ryzykujesz zmarnowanie czasu. Jeśli twórca nie wywiąże się na czas, otrzymasz rekompensatę w satoshi za 50% kaucji producenta.", + "Collaborative cancel the order?": "Wspólnie anulować zamówienie?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Depozyt transakcji został wysłany. Zamówienie można anulować tylko wtedy, gdy zarówno producent, jak i przyjmujący wyrażą zgodę na anulowanie.", + "Ask for Cancel": "Poproś o anulowanie", + "Cancel": "Anulować", + "Collaborative Cancel": "Wspólna Anuluj", + "Invalid Order Id": "Nieprawidłowy ID zamówienia", + "You must have a robot avatar to see the order details": "Aby zobaczyć szczegóły zamówienia, musisz mieć awatara robota", + "This order has been cancelled collaborativelly": "To zamówienie zostało anulowane wspólnie", + "You are not allowed to see this order": "Nie możesz zobaczyć tego zamówienia", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Robotyczne Satoshi pracujące w magazynie cię nie rozumiały. Proszę wypełnić problem z błędem na Github https://github.com/reckless-satoshi/robosats/issues", - "BOOK PAGE - BookPage.js":"Strona Zamówienia książki", - "Seller":"Sprzedawca", - "Buyer":"Kupujący", - "I want to":"chcę", - "Select Order Type":"Wybierz typ zamówienia", - "ANY_type":"KAŻDY", - "ANY_currency":"KAŻDY", - "BUY":"KUPIĆ", - "SELL":"SPRZEDAĆ", - "and receive":"i odbierz", - "and pay with":"i zapłać", - "and use":"i użyć", - "Select Payment Currency":"Wybierz walutę płatności", - "Robot":"Robot", - "Is":"Jest", - "Currency":"Waluta", - "Payment Method":"Metoda płatności", - "Pay":"Płacić", - "Price":"Cena", - "Premium":"Premia", - "You are SELLING BTC for {{currencyCode}}":"SPRZEDAJESZ BTC za {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"KUPUJESZ BTC za {{currencyCode}}", - "You are looking at all":"Patrzysz na wszystko", - "No orders found to sell BTC for {{currencyCode}}":"Nie znaleziono zleceń sprzedaży BTC za {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"Nie znaleziono zamówień na zakup BTC za {{currencyCode}}", - "Be the first one to create an order":"Bądź pierwszą osobą, która utworzy zamówienie", + "CHAT BOX - Chat.js": "Pole czatu", + "You": "Ty", + "Peer": "Par", + "connected": "połączony", + "disconnected": "niepowiązany", + "Type a message": "Wpisz wiadomość", + "Connecting...": "Złączony...", + "Send": "Wysłać", + "The chat has no memory: if you leave, messages are lost.": "Czat nie ma pamięci: jeśli wyjdziesz, wiadomości zostaną utracone.", + "Learn easy PGP encryption.": "Naucz się łatwego szyfrowania PGP.", + "PGP_guide_url": "https://learn.robosats.com/docs/pgp-encryption/", + "CONTRACT BOX - TradeBox.js": "Skrzynka kontraktowa, która prowadzi użytkowników przez cały rurociąg handlowy", + "Contract Box": "Skrzynka kontraktów", + "Robots show commitment to their peers": "Roboty wykazują zaangażowanie w stosunku do rówieśników", + "Lock {{amountSats}} Sats to PUBLISH order": "Zablokuj {{amountSats}} Sats do PUBLIKOWANIA zamówienia", + "Lock {{amountSats}} Sats to TAKE order": "Zablokuj {{amountSats}} Sats aby PRZYJMOWAĆ zamówienie", + "Lock {{amountSats}} Sats as collateral": "Zablokuj {{amountSats}} Sats jako zabezpieczenie", + "Copy to clipboard": "Skopiuj do schowka", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "To jest faktura wstrzymana, zatrzyma się w Twoim portfelu. Opłata zostanie naliczona tylko wtedy, gdy anulujesz lub przegrasz spór.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "To jest faktura wstrzymana, zatrzyma się w Twoim portfelu. Zostanie on przekazany kupującemu po potwierdzeniu otrzymania {{currencyCode}}.", + "Your maker bond is locked": "Twoja obligacja twórcy jest zablokowana", + "Your taker bond is locked": "Twoja więź przyjmującego jest zablokowana", + "Your maker bond was settled": "Twoja obligacja twórcy została uregulowana", + "Your taker bond was settled": "Twoja obligacja nabywcy została uregulowana", + "Your maker bond was unlocked": "Twoja obligacja twórcy została odblokowana", + "Your taker bond was unlocked": "Twoja więź przyjmującego została odblokowana", + "Your order is public": "Twoje zamówienie jest publiczne", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Bądź cierpliwy, gdy roboty sprawdzają książkę. To pole zadzwoni 🔊, gdy robot odbierze Twoje zamówienie, będziesz mieć {{deposit_timer_hours}}g {{deposit_timer_minutes}}m na odpowiedź. Jeśli nie odpowiesz, ryzykujesz utratę więzi.", + "If the order expires untaken, your bond will return to you (no action needed).": "Jeśli zamówienie wygaśnie i nie zostanie zrealizowane, Twoja kaucja zostanie Ci zwrócona (nie musisz nic robić).", + "Enable Telegram Notifications": "Włącz powiadomienia telegramu", + "Enable TG Notifications": "Włącz powiadomienia TG", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Zostaniesz przeniesiony do rozmowy z botem telegramowym RoboSats. Po prostu otwórz czat i naciśnij Start. Pamiętaj, że włączenie powiadomień telegramów może obniżyć poziom anonimowości.", + "Go back": "Wróć", + "Enable": "Włączyć", + "Telegram enabled": "Telegram włączony", + "Public orders for {{currencyCode}}": "Zamówienia publiczne dla {{currencyCode}}", + "Premium rank": "Ranga premium", + "Among public {{currencyCode}} orders (higher is cheaper)": "Wśród publicznych zamówień {{currencyCode}} (wyższy jest tańszy)", + "A taker has been found!": "Odnaleziono chętnego!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Poczekaj, aż przyjmujący zablokuje obligację. Jeśli przyjmujący nie zablokuje obligacji na czas, zlecenie zostanie ponownie upublicznione.", + "Submit an invoice for {{amountSats}} Sats": "Prześlij fakturę za {{amountSats}} Sats", + "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.": "Przyjmujący jest zaangażowany! Zanim pozwolimy Ci wysłać {{amountFiat}} {{currencyCode}}, chcemy się upewnić, że możesz otrzymać BTC. Podaj prawidłową fakturę za {{amountSats}} Satoshis.", + "Payout Lightning Invoice": "Wypłata faktura Lightning", + "Your invoice looks good!": "Twoja faktura wygląda dobrze!", + "We are waiting for the seller to lock the trade amount.": "Czekamy, aż sprzedający zablokuje kwotę transakcji.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Poczekaj chwilę. Jeśli sprzedający nie dokona depozytu, automatycznie otrzymasz zwrot kaucji. Dodatkowo otrzymasz rekompensatę (sprawdź nagrody w swoim profilu).", + "The trade collateral is locked!": "Zabezpieczenie transakcji jest zablokowane!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Czekamy, aż kupujący wyśle fakturę za błyskawicę. Gdy to zrobi, będziesz mógł bezpośrednio przekazać szczegóły płatności fiat.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).", + "Confirm {{amount}} {{currencyCode}} sent": "Potwierdź wysłanie {{amount}} {{currencyCode}}", + "Confirm {{amount}} {{currencyCode}} received": "Potwierdź otrzymanie {{amount}} {{currencyCode}}", + "Open Dispute": "Otwarta dyskusja", + "The order has expired": "Zamówienie wygasło", + "Chat with the buyer": "Porozmawiaj z kupującym", + "Chat with the seller": "Porozmawiaj ze sprzedającym", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Powiedz cześć! Bądź pomocny i zwięzły. Poinformuj ich, jak wysłać Ci {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "Kupujący wysłał fiat. Kliknij „Potwierdź otrzymanie” po jego otrzymaniu.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Powiedz cześć! Zapytaj o szczegóły płatności i kliknij „Potwierdź wysłanie”, gdy tylko płatność zostanie wysłana.", + "Wait for the seller to confirm he has received the payment.": "Poczekaj, aż sprzedawca potwierdzi, że otrzymał płatność.", + "Confirm you received {{amount}} {{currencyCode}}?": "Potwierdź otrzymanie {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Potwierdzenie otrzymania fiata sfinalizuje transakcję. Satoshi w depozycie zostaną wydane kupującemu. Potwierdź dopiero po otrzymaniu {{amount}} {{currencyCode}} na Twoje konto. Ponadto, jeśli otrzymałeś {{currencyCode}} i nie potwierdzisz odbioru, ryzykujesz utratę kaucji.", + "Confirm": "Potwierdzać", + "Trade finished!": "Handel zakończony!", + "rate_robosats": "Co myślisz o <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Dziękuję! RoboSats też cię kocha ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats staje się lepszy dzięki większej płynności i użytkownikom. Powiedz znajomemu bitcoinerowi o Robosats!", + "Thank you for using Robosats!": "Dziękujemy za korzystanie z Robosatów!", + "let_us_know_hot_to_improve": "Daj nam znać, jak platforma mogłaby się ulepszyć (<1>Telegram / <3>Github)", + "Start Again": "Zacznij jeszcze raz", + "Attempting Lightning Payment": "Próba zapłaty Lightning", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats próbuje zapłacić fakturę za błyskawicę. Pamiętaj, że węzły pioruna muszą być online, aby otrzymywać płatności.", + "Retrying!": "Ponawianie!", + "Lightning Routing Failed": "Lightning Niepowodzenie routingu", + "Your invoice has expired or more than 3 payment attempts have been made.": "Twoja faktura wygasła lub wykonano więcej niż 3 próby płatności. Muun Wallet nie jest zalecany. ", + "Check the list of compatible wallets": "Sprawdź listę kompatybilnych wallets", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats będzie próbował zapłacić fakturę 3 razy co 1 minut. Jeśli to się nie powiedzie, będziesz mógł wystawić nową fakturę. Sprawdź, czy masz wystarczającą płynność przychodzącą. Pamiętaj, że węzły pioruna muszą być online, aby otrzymywać płatności.", + "Next attempt in": "Następna próba za", + "Do you want to open a dispute?": "Chcesz otworzyć spór?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Pracownicy RoboSats przeanalizują przedstawione oświadczenia i dowody. Musisz zbudować kompletną sprawę, ponieważ personel nie może czytać czatu. W oświadczeniu najlepiej podać metodę kontaktu z palnikiem. Satoshi w depozycie handlowym zostaną wysłane do zwycięzcy sporu, podczas gdy przegrany sporu straci obligację.", + "Disagree": "Nie zgadzać się", + "Agree and open dispute": "Zgadzam się i otwieram spór", + "A dispute has been opened": "Spór został otwarty", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Prosimy o przesłanie oświadczenia. Jasno i konkretnie opisz, co się stało, i przedstaw niezbędne dowody. MUSISZ podać metodę kontaktu: adres e-mail nagrywarki, XMPP lub nazwę użytkownika telegramu, aby skontaktować się z personelem. Spory są rozwiązywane według uznania prawdziwych robotów (czyli ludzi), więc bądź tak pomocny, jak to tylko możliwe, aby zapewnić sprawiedliwy wynik. Maksymalnie 5000 znaków.", + "Submit dispute statement": "Prześlij oświadczenie o sporze", + "We have received your statement": "Otrzymaliśmy Twoje oświadczenie", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Czekamy na wyciąg z Twojego odpowiednika handlowego. Jeśli wahasz się co do stanu sporu lub chcesz dodać więcej informacji, skontaktuj się z robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Prosimy o zapisanie informacji potrzebnych do identyfikacji zamówienia i płatności: identyfikator zamówienia; skróty płatności obligacji lub escrow (sprawdź w swoim portfelu błyskawicy); dokładna ilość satoshi; i pseudonim robota. Będziesz musiał zidentyfikować się jako użytkownik zaangażowany w ten handel za pośrednictwem poczty elektronicznej (lub innych metod kontaktu).", + "We have the statements": "We have the statements", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Oba oświadczenia wpłynęły, poczekaj, aż personel rozwiąże spór. Jeśli wahasz się co do stanu sporu lub chcesz dodać więcej informacji, skontaktuj się z robosats@protonmail.com. Jeśli nie podałeś metody kontaktu lub nie masz pewności, czy dobrze napisałeś, napisz do nas natychmiast.", + "You have won the dispute": "You have won the dispute", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Możesz ubiegać się o kwotę rozstrzygnięcia sporu (depozyt i wierność) z nagród w swoim profilu. Jeśli jest coś, w czym personel może pomóc, nie wahaj się skontaktować się z robosats@protonmail.com (lub za pomocą dostarczonej metody kontaktu z palnikiem).", + "You have lost the dispute": "Przegrałeś spór", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Niestety przegrałeś spór. Jeśli uważasz, że to pomyłka, możesz poprosić o ponowne otwarcie sprawy za pośrednictwem poczty e-mail na adres robosats@protonmail.com. Jednak szanse na ponowne zbadanie sprawy są niewielkie.", - "BOTTOM BAR AND MISC - BottomBar.js":"Profil użytkownika paska dolnego i różne okna dialogowe", - "Stats For Nerds":"Statystyki dla nerdów", - "LND version":"LND wersja", - "Currently running commit hash":"Aktualnie uruchomiony hash zatwierdzenia", - "24h contracted volume":"Zakontraktowana objętość 24h", - "Lifetime contracted volume":"Zakontraktowana wielkość dożywotnia", - "Made with":"Wykonana z", - "and":"i", - "... somewhere on Earth!":"... gdzieś na Ziemi!", - "Community":"Społeczność", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Wsparcie jest oferowane wyłącznie za pośrednictwem kanałów publicznych. Dołącz do naszej społeczności Telegram, jeśli masz pytania lub chcesz spędzać czas z innymi fajnymi robotami. Proszę, skorzystaj z naszego Github Issues, jeśli znajdziesz błąd lub chcesz zobaczyć nowe funkcje!", - "Join the RoboSats group":"Dołącz do grupy RoboSats", - "Telegram (English / Main)":"Telegram (English / Main)", - "RoboSats Telegram Communities":"RoboSats Telegram Communities", - "Join RoboSats Spanish speaking community!":"Dołącz do hiszpańskojęzycznej społeczności RoboSats!", - "Join RoboSats Russian speaking community!":"Dołącz do rosyjskojęzycznej społeczności RoboSats!", - "Join RoboSats Chinese speaking community!":"Dołącz do chińskojęzycznej społeczności RoboSats!", - "Join RoboSats English speaking community!":"Dołącz do anglojęzycznej społeczności RoboSats!", - "Tell us about a new feature or a bug":"Poinformuj nas o nowej funkcji lub błędzie", - "Github Issues - The Robotic Satoshis Open Source Project":"Problemy z Githubem — projekt Robotic Satoshis Open Source", - "Your Profile":"Twój profil", - "Your robot":"Twój robot", - "One active order #{{orderID}}":"Jedno aktywne zamówienie #{{orderID}}", - "Your current order":"Twoje obecne zamówienie", - "No active orders":"Brak aktywnych zamówień", - "Your token (will not remain here)":"Twój token (nie pozostanie tutaj)", - "Back it up!":"Utwórz kopię zapasową!", - "Cannot remember":"niemożliwe do zapamiętania", - "Rewards and compensations":"Nagrody i rekompensaty", - "Share to earn 100 Sats per trade":"Udostępnij, aby zarobić 100 Sats na transakcję", - "Your referral link":"Twój link referencyjny", - "Your earned rewards":"Twoje zarobione nagrody", - "Claim":"Prawo", - "Invoice for {{amountSats}} Sats":"Faktura za {{amountSats}} Sats", - "Submit":"Składać", - "There it goes, thank you!🥇":"No to idzie, Dziękuję!🥇", - "You have an active order":"Masz aktywne zamówienie", - "You can claim satoshis!":"Możesz ubiegać się o satoshi!", - "Public Buy Orders":"Publiczne zamówienia zakupu", - "Public Sell Orders":"Publiczne zlecenia sprzedaży", - "Today Active Robots":"Dzisiaj aktywne roboty", - "24h Avg Premium":"24h średnia premia", - "Trade Fee":"Opłata handlowa", - "Show community and support links":"Pokaż linki do społeczności i wsparcia", - "Show stats for nerds":"Pokaż statystyki dla nerdów", - "Exchange Summary":"Podsumowanie wymiany", - "Public buy orders":"Publiczne zamówienia kupna", - "Public sell orders":"Zlecenia sprzedaży publicznej", - "Book liquidity":"Płynność księgowa", - "Today active robots":"Dziś aktywne roboty", - "24h non-KYC bitcoin premium":"24h premia bitcoin non-KYC", - "Maker fee":"Opłata producenta", - "Taker fee":"Opłata takera", - "Number of public BUY orders":"Liczba publicznych zamówień BUY", - "Number of public SELL orders":"Liczba publicznych zleceń SPRZEDAŻY", - - - "ORDER PAGE - OrderPage.js": "Strona szczegółów zamówienia", - "Order Box":"Pole zamówienia", - "Contract":"Kontrakt", - "Active":"Aktywny", - "Seen recently":"Widziany niedawno", - "Inactive":"Nieaktywny", - "(Seller)":"(Sprzedawca)", - "(Buyer)":"(Kupujący)", - "Order maker":"Ekspres zamówienia", - "Order taker":"Przyjmujący zamówienia", - "Order Details":"Szczegóły zamówienia", - "Order status":"Status zamówienia", - "Waiting for maker bond":"Oczekiwanie na maker bond", - "Public":"Publiczny", - "Waiting for taker bond":"Oczekiwanie na taker bond", - "Cancelled":"Anulowane", - "Expired":"Wygasł", - "Waiting for trade collateral and buyer invoice":"Oczekiwanie na zabezpieczenie handlowe i fakturę kupującego", - "Waiting only for seller trade collateral":"Oczekiwanie tylko na zabezpieczenie transakcji sprzedawcy", - "Waiting only for buyer invoice":"Oczekiwanie tylko na fakturę kupującego", - "Sending fiat - In chatroom":"Wysyłanie fiat - W czacie", - "Fiat sent - In chatroom":"Fiat wysłany - W czacie", - "In dispute":"W sporze", - "Collaboratively cancelled":"Anulowano wspólnie", - "Sending satoshis to buyer":"Wysyłanie satoshi do kupującego", - "Sucessful trade":"Udany handel", - "Failed lightning network routing":"Nieudane routingu lightning network", - "Wait for dispute resolution":"Poczekaj na rozstrzygnięcie sporu", - "Maker lost dispute":"Wytwórca przegrał spór", - "Taker lost dispute":"Taker przegrany spór", - "Amount range":"Przedział kwotowy", - "Swap destination":"Miejsce docelowe Swap", - "Accepted payment methods":"Akceptowane metody płatności", - "Others":"Inni", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Premia: {{premium}}%", - "Price and Premium":"Cena i premia", - "Amount of Satoshis":"Ilość Satoshis", - "Premium over market price":"Premia ponad cenę rynkową", - "Order ID":"ID zamówienia", - "Expires in":"Wygasa za", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} prosi o anulowanie współpracy", - "You asked for a collaborative cancellation":"Poprosiłeś o wspólne anulowanie", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Faktura wygasła. Nie potwierdziłeś publikacji zamówienia na czas. Złóż nowe zamówienie.", - "This order has been cancelled by the maker":"To zamówienie zostało anulowane przez producenta", - "Invoice expired. You did not confirm taking the order in time.":"Faktura wygasła. Nie potwierdziłeś przyjęcia zamówienia na czas.", - "Penalty lifted, good to go!":"Kara zniesiona, gotowe!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Nie możesz jeszcze przyjąć zamówienia! Czekać {{timeMin}}m {{timeSec}}s", - "Too low":"Za nisko", - "Too high":"Za wysoko", - "Enter amount of fiat to exchange for bitcoin":"Wprowadź kwotę fiat do wymiany na bitcoin", - "Amount {{currencyCode}}":"Ilość {{currencyCode}}", - "You must specify an amount first":"Musisz najpierw określić kwotę", - "Take Order":"Przyjąć zamówienie", - "Wait until you can take an order":"Poczekaj, aż będziesz mógł złożyć zamówienie", - "Cancel the order?":"Anulować zamówienie?", - "If the order is cancelled now you will lose your bond.":"Jeśli zamówienie zostanie teraz anulowane, stracisz kaucję.", - "Confirm Cancel":"Potwierdź Anuluj", - "The maker is away":"Twórcy nie ma", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"Przyjmując to zamówienie, ryzykujesz zmarnowanie czasu. Jeśli twórca nie wywiąże się na czas, otrzymasz rekompensatę w satoshi za 50% kaucji producenta.", - "Collaborative cancel the order?":"Wspólnie anulować zamówienie?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Depozyt transakcji został wysłany. Zamówienie można anulować tylko wtedy, gdy zarówno producent, jak i przyjmujący wyrażą zgodę na anulowanie.", - "Ask for Cancel":"Poproś o anulowanie", - "Cancel":"Anulować", - "Collaborative Cancel":"Wspólna Anuluj", - "Invalid Order Id":"Nieprawidłowy ID zamówienia", - "You must have a robot avatar to see the order details":"Aby zobaczyć szczegóły zamówienia, musisz mieć awatara robota", - "This order has been cancelled collaborativelly":"To zamówienie zostało anulowane wspólnie", - "You are not allowed to see this order":"Nie możesz zobaczyć tego zamówienia", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Robotyczne Satoshi pracujące w magazynie cię nie rozumiały. Proszę wypełnić problem z błędem na Github https://github.com/reckless-satoshi/robosats/issues", - - "CHAT BOX - Chat.js":"Pole czatu", - "You":"Ty", - "Peer":"Par", - "connected":"połączony", - "disconnected":"niepowiązany", - "Type a message":"Wpisz wiadomość", - "Connecting...":"Złączony...", - "Send":"Wysłać", - "The chat has no memory: if you leave, messages are lost.":"Czat nie ma pamięci: jeśli wyjdziesz, wiadomości zostaną utracone.", - "Learn easy PGP encryption.":"Naucz się łatwego szyfrowania PGP.", - "PGP_guide_url":"https://learn.robosats.com/docs/pgp-encryption/", - - "CONTRACT BOX - TradeBox.js": "Skrzynka kontraktowa, która prowadzi użytkowników przez cały rurociąg handlowy", - "Contract Box":"Skrzynka kontraktów", - "Robots show commitment to their peers": "Roboty wykazują zaangażowanie w stosunku do rówieśników", - "Lock {{amountSats}} Sats to PUBLISH order": "Zablokuj {{amountSats}} Sats do PUBLIKOWANIA zamówienia", - "Lock {{amountSats}} Sats to TAKE order": "Zablokuj {{amountSats}} Sats aby PRZYJMOWAĆ zamówienie", - "Lock {{amountSats}} Sats as collateral": "Zablokuj {{amountSats}} Sats jako zabezpieczenie", - "Copy to clipboard":"Skopiuj do schowka", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"To jest faktura wstrzymana, zatrzyma się w Twoim portfelu. Opłata zostanie naliczona tylko wtedy, gdy anulujesz lub przegrasz spór.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"To jest faktura wstrzymana, zatrzyma się w Twoim portfelu. Zostanie on przekazany kupującemu po potwierdzeniu otrzymania {{currencyCode}}.", - "Your maker bond is locked":"Twoja obligacja twórcy jest zablokowana", - "Your taker bond is locked":"Twoja więź przyjmującego jest zablokowana", - "Your maker bond was settled":"Twoja obligacja twórcy została uregulowana", - "Your taker bond was settled":"Twoja obligacja nabywcy została uregulowana", - "Your maker bond was unlocked":"Twoja obligacja twórcy została odblokowana", - "Your taker bond was unlocked":"Twoja więź przyjmującego została odblokowana", - "Your order is public":"Twoje zamówienie jest publiczne", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"Bądź cierpliwy, gdy roboty sprawdzają książkę. To pole zadzwoni 🔊, gdy robot odbierze Twoje zamówienie, będziesz mieć {{deposit_timer_hours}}g {{deposit_timer_minutes}}m na odpowiedź. Jeśli nie odpowiesz, ryzykujesz utratę więzi.", - "If the order expires untaken, your bond will return to you (no action needed).":"Jeśli zamówienie wygaśnie i nie zostanie zrealizowane, Twoja kaucja zostanie Ci zwrócona (nie musisz nic robić).", - "Enable Telegram Notifications":"Włącz powiadomienia telegramu", - "Enable TG Notifications":"Włącz powiadomienia TG", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"Zostaniesz przeniesiony do rozmowy z botem telegramowym RoboSats. Po prostu otwórz czat i naciśnij Start. Pamiętaj, że włączenie powiadomień telegramów może obniżyć poziom anonimowości.", - "Go back":"Wróć", - "Enable":"Włączyć", - "Telegram enabled":"Telegram włączony", - "Public orders for {{currencyCode}}":"Zamówienia publiczne dla {{currencyCode}}", - "Premium rank": "Ranga premium", - "Among public {{currencyCode}} orders (higher is cheaper)": "Wśród publicznych zamówień {{currencyCode}} (wyższy jest tańszy)", - "A taker has been found!":"Odnaleziono chętnego!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Poczekaj, aż przyjmujący zablokuje obligację. Jeśli przyjmujący nie zablokuje obligacji na czas, zlecenie zostanie ponownie upublicznione.", - "Submit an invoice for {{amountSats}} Sats":"Prześlij fakturę za {{amountSats}} Sats", - "The taker is committed! Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC. Please provide a valid invoice for {{amountSats}} Satoshis.":"Przyjmujący jest zaangażowany! Zanim pozwolimy Ci wysłać {{amountFiat}} {{currencyCode}}, chcemy się upewnić, że możesz otrzymać BTC. Podaj prawidłową fakturę za {{amountSats}} Satoshis.", - "Payout Lightning Invoice":"Wypłata faktura Lightning", - "Your invoice looks good!":"Twoja faktura wygląda dobrze!", - "We are waiting for the seller to lock the trade amount.":"Czekamy, aż sprzedający zablokuje kwotę transakcji.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Poczekaj chwilę. Jeśli sprzedający nie dokona depozytu, automatycznie otrzymasz zwrot kaucji. Dodatkowo otrzymasz rekompensatę (sprawdź nagrody w swoim profilu).", - "The trade collateral is locked!":"Zabezpieczenie transakcji jest zablokowane!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Czekamy, aż kupujący wyśle fakturę za błyskawicę. Gdy to zrobi, będziesz mógł bezpośrednio przekazać szczegóły płatności fiat.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).", - "Confirm {{amount}} {{currencyCode}} sent":"Potwierdź wysłanie {{amount}} {{currencyCode}}", - "Confirm {{amount}} {{currencyCode}} received":"Potwierdź otrzymanie {{amount}} {{currencyCode}}", - "Open Dispute":"Otwarta dyskusja", - "The order has expired":"Zamówienie wygasło", - "Chat with the buyer":"Porozmawiaj z kupującym", - "Chat with the seller":"Porozmawiaj ze sprzedającym", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Powiedz cześć! Bądź pomocny i zwięzły. Poinformuj ich, jak wysłać Ci {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"Kupujący wysłał fiat. Kliknij „Potwierdź otrzymanie” po jego otrzymaniu.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Powiedz cześć! Zapytaj o szczegóły płatności i kliknij „Potwierdź wysłanie”, gdy tylko płatność zostanie wysłana.", - "Wait for the seller to confirm he has received the payment.":"Poczekaj, aż sprzedawca potwierdzi, że otrzymał płatność.", - "Confirm you received {{amount}} {{currencyCode}}?":"Potwierdź otrzymanie {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Potwierdzenie otrzymania fiata sfinalizuje transakcję. Satoshi w depozycie zostaną wydane kupującemu. Potwierdź dopiero po otrzymaniu {{amount}} {{currencyCode}} na Twoje konto. Ponadto, jeśli otrzymałeś {{currencyCode}} i nie potwierdzisz odbioru, ryzykujesz utratę kaucji.", - "Confirm":"Potwierdzać", - "Trade finished!":"Handel zakończony!", - "rate_robosats":"Co myślisz o <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Dziękuję! RoboSats też cię kocha ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats staje się lepszy dzięki większej płynności i użytkownikom. Powiedz znajomemu bitcoinerowi o Robosats!", - "Thank you for using Robosats!":"Dziękujemy za korzystanie z Robosatów!", - "let_us_know_hot_to_improve":"Daj nam znać, jak platforma mogłaby się ulepszyć (<1>Telegram / <3>Github)", - "Start Again":"Zacznij jeszcze raz", - "Attempting Lightning Payment":"Próba zapłaty Lightning", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats próbuje zapłacić fakturę za błyskawicę. Pamiętaj, że węzły pioruna muszą być online, aby otrzymywać płatności.", - "Retrying!":"Ponawianie!", - "Lightning Routing Failed":"Lightning Niepowodzenie routingu", - "Your invoice has expired or more than 3 payment attempts have been made.":"Twoja faktura wygasła lub wykonano więcej niż 3 próby płatności. Muun Wallet nie jest zalecany. ", - "Check the list of compatible wallets":"Sprawdź listę kompatybilnych wallets", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats będzie próbował zapłacić fakturę 3 razy co 1 minut. Jeśli to się nie powiedzie, będziesz mógł wystawić nową fakturę. Sprawdź, czy masz wystarczającą płynność przychodzącą. Pamiętaj, że węzły pioruna muszą być online, aby otrzymywać płatności.", - "Next attempt in":"Następna próba za", - "Do you want to open a dispute?":"Chcesz otworzyć spór?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"Pracownicy RoboSats przeanalizują przedstawione oświadczenia i dowody. Musisz zbudować kompletną sprawę, ponieważ personel nie może czytać czatu. W oświadczeniu najlepiej podać metodę kontaktu z palnikiem. Satoshi w depozycie handlowym zostaną wysłane do zwycięzcy sporu, podczas gdy przegrany sporu straci obligację.", - "Disagree":"Nie zgadzać się", - "Agree and open dispute":"Zgadzam się i otwieram spór", - "A dispute has been opened":"Spór został otwarty", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Prosimy o przesłanie oświadczenia. Jasno i konkretnie opisz, co się stało, i przedstaw niezbędne dowody. MUSISZ podać metodę kontaktu: adres e-mail nagrywarki, XMPP lub nazwę użytkownika telegramu, aby skontaktować się z personelem. Spory są rozwiązywane według uznania prawdziwych robotów (czyli ludzi), więc bądź tak pomocny, jak to tylko możliwe, aby zapewnić sprawiedliwy wynik. Maksymalnie 5000 znaków.", - "Submit dispute statement":"Prześlij oświadczenie o sporze", - "We have received your statement":"Otrzymaliśmy Twoje oświadczenie", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Czekamy na wyciąg z Twojego odpowiednika handlowego. Jeśli wahasz się co do stanu sporu lub chcesz dodać więcej informacji, skontaktuj się z robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Prosimy o zapisanie informacji potrzebnych do identyfikacji zamówienia i płatności: identyfikator zamówienia; skróty płatności obligacji lub escrow (sprawdź w swoim portfelu błyskawicy); dokładna ilość satoshi; i pseudonim robota. Będziesz musiał zidentyfikować się jako użytkownik zaangażowany w ten handel za pośrednictwem poczty elektronicznej (lub innych metod kontaktu).", - "We have the statements":"We have the statements", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Oba oświadczenia wpłynęły, poczekaj, aż personel rozwiąże spór. Jeśli wahasz się co do stanu sporu lub chcesz dodać więcej informacji, skontaktuj się z robosats@protonmail.com. Jeśli nie podałeś metody kontaktu lub nie masz pewności, czy dobrze napisałeś, napisz do nas natychmiast.", - "You have won the dispute":"You have won the dispute", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Możesz ubiegać się o kwotę rozstrzygnięcia sporu (depozyt i wierność) z nagród w swoim profilu. Jeśli jest coś, w czym personel może pomóc, nie wahaj się skontaktować się z robosats@protonmail.com (lub za pomocą dostarczonej metody kontaktu z palnikiem).", - "You have lost the dispute":"Przegrałeś spór", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"Niestety przegrałeś spór. Jeśli uważasz, że to pomyłka, możesz poprosić o ponowne otwarcie sprawy za pośrednictwem poczty e-mail na adres robosats@protonmail.com. Jednak szanse na ponowne zbadanie sprawy są niewielkie.", - - "INFO DIALOG - InfoDiagog.js":"Informacje i wyjaśnienia dotyczące aplikacji oraz warunki użytkowania", - "Close":"Blisko", - "What is RoboSats?":"Czym jest RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"Jest to wymiana peer-to-peer BTC/FIAT na lightning.", - "RoboSats is an open source project ":"RoboSats to projekt open source ", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.", - "(GitHub).":"(GitHub).", - "How does it work?":"Jak to działa?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"AnonymousAlice01 chce sprzedać bitcoiny. Ogłasza zamówienie sprzedaży. BafflingBob02 chce kupić bitcoiny i przyjmuje zamówienie Alice. Obaj muszą stworzyć małą więź za pomocą błyskawicy, aby udowodnić, że są prawdziwymi robotami. Następnie Alice księguje zabezpieczenie handlowe również za pomocą faktury za błyskawiczne wstrzymanie. RoboSats blokuje fakturę, dopóki Alice nie potwierdzi, że otrzymała fiat, a następnie satoshi są wydawane Bobowi. Ciesz się swoim satoshi, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"W żadnym momencie AnonymousAlice01 i BafflingBob02 nie muszą powierzać sobie nawzajem funduszy bitcoin. W przypadku konfliktu pracownicy RoboSats pomogą rozwiązać spór.", - "You can find a step-by-step description of the trade pipeline in ":"Szczegółowy opis rurociągu handlowego znajdziesz w ", - "How it works":"Jak to działa", - "You can also check the full guide in ":"Możesz również sprawdzić pełny przewodnik w", - "How to use":"Jak używać", - "What payment methods are accepted?":"Jakie metody płatności są akceptowane?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Wszystkie, o ile są szybkie. Możesz zapisać preferowane metody płatności. Będziesz musiał dopasować się do partnera, który również akceptuje tę metodę. Etap wymiany fiata ma czas wygaśnięcia wynoszący 24 godziny, zanim spór zostanie automatycznie otwarty. Gorąco polecamy korzystanie z szybkich kolejek płatniczych fiat.", - "Are there trade limits?":"Are there trade limits?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"Maksymalny rozmiar pojedynczej transakcji to {{maxAmount}} Satoshis, aby zminimalizować błąd routingu błyskawicy. Nie ma ograniczeń co do liczby transakcji dziennie. Robot może mieć tylko jedno zamówienie na raz. Możesz jednak używać wielu robotów jednocześnie w różnych przeglądarkach (pamiętaj, aby wykonać kopię zapasową tokenów robota!).", - "Is RoboSats private?":"Is RoboSats private?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats nigdy nie zapyta Cię o Twoje imię i nazwisko, kraj lub dowód osobisty. RoboSats nie dba o twoje fundusze i nie dba o to, kim jesteś. RoboSats nie zbiera ani nie przechowuje żadnych danych osobowych. Aby uzyskać najlepszą anonimowość, użyj przeglądarki Tor i uzyskaj dostęp do ukrytej usługi .onion.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Twój partner handlowy jest jedynym, który może potencjalnie odgadnąć cokolwiek o Tobie. Niech Twój czat będzie krótki i zwięzły. Unikaj podawania nieistotnych informacji innych niż bezwzględnie konieczne do dokonania płatności fiducjarnej.", - "What are the risks?":"What are the risks?", - "This is an experimental application, things could go wrong. Trade small amounts!":"To jest eksperymentalna aplikacja, coś może pójść nie tak. Handluj małymi kwotami!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"Sprzedający ponosi takie samo ryzyko obciążenia zwrotnego, jak w przypadku każdej innej usługi peer-to-peer. Paypal lub karty kredytowe nie są zalecane.", - "What is the trust model?":"Jaki jest model zaufania?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"Kupujący i sprzedający nigdy nie muszą sobie ufać. Potrzebne jest pewne zaufanie do RoboSatów, ponieważ powiązanie wstrzymanej faktury sprzedającego i płatności kupującego nie jest (jeszcze) atomowe. Ponadto spory są rozwiązywane przez pracowników RoboSats.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"Aby być całkowicie jasnym. Wymagania dotyczące zaufania są zminimalizowane. Jednak wciąż jest jeden sposób, w jaki RoboSaty mogą uciec z twoim satoshi: nie udostępniając satoshi kupującemu. Można argumentować, że takie posunięcie nie leży w interesie RoboSatów, ponieważ zaszkodziłoby to reputacji za niewielką wypłatę. Jednak powinieneś się wahać i handlować tylko małymi ilościami na raz. W przypadku dużych kwot skorzystaj z usługi depozytowej onchain, takiej jak Bisq", - "You can build more trust on RoboSats by inspecting the source code.":"Możesz zbudować większe zaufanie do RoboSats, sprawdzając kod źródłowy.", - "Project source code":"Kod źródłowy projektu", - "What happens if RoboSats suddenly disappears?":"Co się stanie, jeśli RoboSats nagle znikną?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Twoje satelity powrócą do ciebie. Każda wstrzymana faktura, która nie zostanie rozliczona, zostanie automatycznie zwrócona, nawet jeśli RoboSats przestanie działać na zawsze. Dotyczy to zarówno obligacji zabezpieczonych, jak i depozytów handlowych. Istnieje jednak małe okno między sprzedającym potwierdzenie otrzymania FIATA a momentem, w którym kupujący otrzyma satoshi, kiedy środki mogą zostać trwale utracone, jeśli RoboSats zniknie. To okno trwa około 1 sekundy. Upewnij się, że masz wystarczającą płynność przychodzącą, aby uniknąć awarii routingu. Jeśli masz jakiś problem, skontaktuj się z publicznymi kanałami RoboSats.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"W wielu krajach korzystanie z RoboSats nie różni się od korzystania z serwisu Ebay lub Craiglist. Twoje przepisy mogą się różnić. Twoim obowiązkiem jest przestrzegać.", - "Is RoboSats legal in my country?":"Czy RoboSats jest legalny w moim kraju?", - "Disclaimer":"Zastrzeżenie", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Ta aplikacja lightning jest dostarczana w takiej postaci, w jakiej jest. Jest w aktywnym rozwoju: handluje z najwyższą ostrożnością. Nie ma wsparcia prywatnego. Wsparcie jest oferowane wyłącznie za pośrednictwem kanałów publicznych ", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats nigdy się z tobą nie skontaktuje. RoboSats na pewno nigdy nie poprosi o token robota." + "INFO DIALOG - InfoDiagog.js": "Informacje i wyjaśnienia dotyczące aplikacji oraz warunki użytkowania", + "Close": "Blisko", + "What is RoboSats?": "Czym jest RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Jest to wymiana peer-to-peer BTC/FIAT na lightning.", + "RoboSats is an open source project ": "RoboSats to projekt open source ", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.", + "(GitHub).": "(GitHub).", + "How does it work?": "Jak to działa?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 chce sprzedać bitcoiny. Ogłasza zamówienie sprzedaży. BafflingBob02 chce kupić bitcoiny i przyjmuje zamówienie Alice. Obaj muszą stworzyć małą więź za pomocą błyskawicy, aby udowodnić, że są prawdziwymi robotami. Następnie Alice księguje zabezpieczenie handlowe również za pomocą faktury za błyskawiczne wstrzymanie. RoboSats blokuje fakturę, dopóki Alice nie potwierdzi, że otrzymała fiat, a następnie satoshi są wydawane Bobowi. Ciesz się swoim satoshi, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "W żadnym momencie AnonymousAlice01 i BafflingBob02 nie muszą powierzać sobie nawzajem funduszy bitcoin. W przypadku konfliktu pracownicy RoboSats pomogą rozwiązać spór.", + "You can find a step-by-step description of the trade pipeline in ": "Szczegółowy opis rurociągu handlowego znajdziesz w ", + "How it works": "Jak to działa", + "You can also check the full guide in ": "Możesz również sprawdzić pełny przewodnik w", + "How to use": "Jak używać", + "What payment methods are accepted?": "Jakie metody płatności są akceptowane?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Wszystkie, o ile są szybkie. Możesz zapisać preferowane metody płatności. Będziesz musiał dopasować się do partnera, który również akceptuje tę metodę. Etap wymiany fiata ma czas wygaśnięcia wynoszący 24 godziny, zanim spór zostanie automatycznie otwarty. Gorąco polecamy korzystanie z szybkich kolejek płatniczych fiat.", + "Are there trade limits?": "Are there trade limits?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Maksymalny rozmiar pojedynczej transakcji to {{maxAmount}} Satoshis, aby zminimalizować błąd routingu błyskawicy. Nie ma ograniczeń co do liczby transakcji dziennie. Robot może mieć tylko jedno zamówienie na raz. Możesz jednak używać wielu robotów jednocześnie w różnych przeglądarkach (pamiętaj, aby wykonać kopię zapasową tokenów robota!).", + "Is RoboSats private?": "Is RoboSats private?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats nigdy nie zapyta Cię o Twoje imię i nazwisko, kraj lub dowód osobisty. RoboSats nie dba o twoje fundusze i nie dba o to, kim jesteś. RoboSats nie zbiera ani nie przechowuje żadnych danych osobowych. Aby uzyskać najlepszą anonimowość, użyj przeglądarki Tor i uzyskaj dostęp do ukrytej usługi .onion.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Twój partner handlowy jest jedynym, który może potencjalnie odgadnąć cokolwiek o Tobie. Niech Twój czat będzie krótki i zwięzły. Unikaj podawania nieistotnych informacji innych niż bezwzględnie konieczne do dokonania płatności fiducjarnej.", + "What are the risks?": "What are the risks?", + "This is an experimental application, things could go wrong. Trade small amounts!": "To jest eksperymentalna aplikacja, coś może pójść nie tak. Handluj małymi kwotami!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Sprzedający ponosi takie samo ryzyko obciążenia zwrotnego, jak w przypadku każdej innej usługi peer-to-peer. Paypal lub karty kredytowe nie są zalecane.", + "What is the trust model?": "Jaki jest model zaufania?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Kupujący i sprzedający nigdy nie muszą sobie ufać. Potrzebne jest pewne zaufanie do RoboSatów, ponieważ powiązanie wstrzymanej faktury sprzedającego i płatności kupującego nie jest (jeszcze) atomowe. Ponadto spory są rozwiązywane przez pracowników RoboSats.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Aby być całkowicie jasnym. Wymagania dotyczące zaufania są zminimalizowane. Jednak wciąż jest jeden sposób, w jaki RoboSaty mogą uciec z twoim satoshi: nie udostępniając satoshi kupującemu. Można argumentować, że takie posunięcie nie leży w interesie RoboSatów, ponieważ zaszkodziłoby to reputacji za niewielką wypłatę. Jednak powinieneś się wahać i handlować tylko małymi ilościami na raz. W przypadku dużych kwot skorzystaj z usługi depozytowej onchain, takiej jak Bisq", + "You can build more trust on RoboSats by inspecting the source code.": "Możesz zbudować większe zaufanie do RoboSats, sprawdzając kod źródłowy.", + "Project source code": "Kod źródłowy projektu", + "What happens if RoboSats suddenly disappears?": "Co się stanie, jeśli RoboSats nagle znikną?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Twoje satelity powrócą do ciebie. Każda wstrzymana faktura, która nie zostanie rozliczona, zostanie automatycznie zwrócona, nawet jeśli RoboSats przestanie działać na zawsze. Dotyczy to zarówno obligacji zabezpieczonych, jak i depozytów handlowych. Istnieje jednak małe okno między sprzedającym potwierdzenie otrzymania FIATA a momentem, w którym kupujący otrzyma satoshi, kiedy środki mogą zostać trwale utracone, jeśli RoboSats zniknie. To okno trwa około 1 sekundy. Upewnij się, że masz wystarczającą płynność przychodzącą, aby uniknąć awarii routingu. Jeśli masz jakiś problem, skontaktuj się z publicznymi kanałami RoboSats.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "W wielu krajach korzystanie z RoboSats nie różni się od korzystania z serwisu Ebay lub Craiglist. Twoje przepisy mogą się różnić. Twoim obowiązkiem jest przestrzegać.", + "Is RoboSats legal in my country?": "Czy RoboSats jest legalny w moim kraju?", + "Disclaimer": "Zastrzeżenie", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Ta aplikacja lightning jest dostarczana w takiej postaci, w jakiej jest. Jest w aktywnym rozwoju: handluje z najwyższą ostrożnością. Nie ma wsparcia prywatnego. Wsparcie jest oferowane wyłącznie za pośrednictwem kanałów publicznych ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats nigdy się z tobą nie skontaktuje. RoboSats na pewno nigdy nie poprosi o token robota." } diff --git a/frontend/static/locales/pt.json b/frontend/static/locales/pt.json index 162347c8c..8a2d64e9c 100644 --- a/frontend/static/locales/pt.json +++ b/frontend/static/locales/pt.json @@ -92,7 +92,7 @@ "ANY_currency": "QUALQUER", "BUY": "COMPRAR", "SELL": "VENDER", - "and receive": "e receber", + "and receive": "e receber", "and pay with": "e pagar com", "and use": "e utilizar", "Select Payment Currency": "Selecione a moeda de pagamento", diff --git a/frontend/static/locales/ru.json b/frontend/static/locales/ru.json index cc2c2ca3c..9547015b3 100644 --- a/frontend/static/locales/ru.json +++ b/frontend/static/locales/ru.json @@ -1,522 +1,515 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Вы не используете RoboSats приватно", - "desktop_unsafe_alert": "Некоторые функции отключены для Вашей безопасности (чат) и без них у Вас не будет возможности завершить сделку. Чтобы защитить Вашу конфиденциальность и полностью включить RoboSats, используйте <1>Tor Browser и посетите <3>Onion сайт.", - "phone_unsafe_alert": "У Вас не будет возможности завершить сделку. Используйте <1>Tor Browser и посетите <3>Onion сайт.", - "Hide":"Скрыть", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Вы не используете RoboSats приватно", + "desktop_unsafe_alert": "Некоторые функции отключены для Вашей безопасности (чат) и без них у Вас не будет возможности завершить сделку. Чтобы защитить Вашу конфиденциальность и полностью включить RoboSats, используйте <1>Tor Browser и посетите <3>Onion сайт.", + "phone_unsafe_alert": "У Вас не будет возможности завершить сделку. Используйте <1>Tor Browser и посетите <3>Onion сайт.", + "Hide": "Скрыть", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Простой и Конфиденциальный LN P2P Обмен", + "This is your trading avatar": "Это Ваш торговый аватар", + "Store your token safely": "Храните Ваш токен в безопасности", + "A robot avatar was found, welcome back!": "Найден аватар робота, добро пожаловать!", + "Copied!": "Скопировано!", + "Generate a new token": "Создать новый токен", + "Generate Robot": "Создать Робота", + "You must enter a new token first": "Сначала необходимо ввести новый токен", + "Make Order": "Создать ордер", + "Info": "Инфо", + "View Book": "Книга Ордеров", + "Learn RoboSats": "Изучить RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Вы собираетесь посетить Learn RoboSats. На нём размещены учебные пособия и документация, которые помогут Вам научиться использовать RoboSats и понять, как он работает.", + "Let's go!": "Поехали!", + "Save token and PGP credentials to file": "Сохранить токен и учетные данные PGP в файл", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Простой и Конфиденциальный LN P2P Обмен", - "This is your trading avatar":"Это Ваш торговый аватар", - "Store your token safely":"Храните Ваш токен в безопасности", - "A robot avatar was found, welcome back!":"Найден аватар робота, добро пожаловать!", - "Copied!":"Скопировано!", - "Generate a new token":"Создать новый токен", - "Generate Robot":"Создать Робота", - "You must enter a new token first":"Сначала необходимо ввести новый токен", - "Make Order":"Создать ордер", - "Info":"Инфо", - "View Book":"Книга Ордеров", - "Learn RoboSats":"Изучить RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"Вы собираетесь посетить Learn RoboSats. На нём размещены учебные пособия и документация, которые помогут Вам научиться использовать RoboSats и понять, как он работает.", - "Let's go!":"Поехали!", - "Save token and PGP credentials to file":"Сохранить токен и учетные данные PGP в файл", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Ордер", + "Customize": "Настроить", + "Buy or Sell Bitcoin?": "Купить или Продать Биткойн?", + "Buy": "Купить", + "Sell": "Продать", + "Amount": "Сумма", + "Amount of fiat to exchange for bitcoin": "Количество фиата для обмена на Биткойн", + "Invalid": "Неверно", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Введите предпочитаемые способы оплаты фиатными деньгами. Настоятельно рекомендуется использовать быстрые методы.", + "Must be shorter than 65 characters": "Должно быть короче 65и символов", + "Swap Destination(s)": "Поменять место(а) назначения", + "Fiat Payment Method(s)": "Способ(ы) оплаты", + "You can add any method": "Вы можете добавить любой метод", + "Add New": "Добавить новый", + "Choose a Pricing Method": "Выберите метод расчёта цен", + "Relative": "Относительный", + "Let the price move with the market": "Пусть цена движется вместе с рынком", + "Premium over Market (%)": "Наценка по сравнению с рынком (%)", + "Explicit": "Точный", + "Set a fix amount of satoshis": "Установить фиксированное количество Сатоши", + "Satoshis": "Сатоши", + "Fixed price:": "Фиксированная цена:", + "Order current rate:": "Текущий курс ордера:", + "Your order fixed exchange rate": "Фиксированный курс обмена Вашего ордера", + "Your order's current exchange rate. Rate will move with the market.": "Текущий обменный курс Вашего ордера. Курс будет меняться вместе с рынком.", + "Let the taker chose an amount within the range": "Позволить тейкеру выбрать сумму в пределах диапазона", + "Enable Amount Range": "Включить диапазон сумм", + "From": "От", + "to": "до", + "Expiry Timers": "Таймеры истечения срока", + "Public Duration (HH:mm)": "Публичная продолжительность (ЧЧ: мм)", + "Escrow Deposit Time-Out (HH:mm)": "Время ожидания эскроу (ЧЧ: мм)", + "Set the skin-in-the-game, increase for higher safety assurance": "Установите залог, увеличьте для большей безопасности.", + "Fidelity Bond Size": "Размер залога", + "Allow bondless takers": "Разрешить тейкеров без залога", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "СКОРО - Высокий риск! Ограничено до {{limitSats}} тысяч Сатоши", + "You must fill the order correctly": "Вы должны заполнить ордер правильно", + "Create Order": "Создать Ордер", + "Back": "Назад", + "Create an order for ": "Создать ордер на ", + "Create a BTC buy order for ": "Создать ордер на покупку BTC за ", + "Create a BTC sell order for ": "Создать ордер на продажу BTC за ", + " of {{satoshis}} Satoshis": " {{satoshis}} Сатоши", + " at market price": " по рыночной цене", + " at a {{premium}}% premium": " с наценкой {{premium}}%", + " at a {{discount}}% discount": " со скидкой {{discount}}%", + "Must be less than {{max}}%": "Должно быть меньше чем {{max}}%", + "Must be more than {{min}}%": "Должно быть больше чем {{min}}%", + "Must be less than {{maxSats}": "Должно быть меньше чем {{maxSats}}", + "Must be more than {{minSats}}": "Должно быть больше чем {{minSats}}", + "Store your robot token": "Сохранить токен робота", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "В будущем Вам может понадобиться восстановить аватар робота: сохраните его в безопасном месте. Вы можете просто скопировать его в другое приложение.", + "Done": "Готово", + "You do not have a robot avatar": "У Вас нет аватара робота", + "You need to generate a robot avatar in order to become an order maker": "Вам нужно сгенерировать аватар робота, чтобы стать мейкером ордеров", - + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Не указано", + "Instant SEPA": "Мгновенный SEPA", + "Amazon GiftCard": "Подарочная карта Amazon", + "Google Play Gift Code": "Подарочный код Google Play", + "Cash F2F": "Наличные F2F", + "On-Chain BTC": "Ончейн BTC", - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"Ордер", - "Customize":"Настроить", - "Buy or Sell Bitcoin?":"Купить или Продать Биткойн?", - "Buy":"Купить", - "Sell":"Продать", - "Amount":"Сумма", - "Amount of fiat to exchange for bitcoin":"Количество фиата для обмена на Биткойн", - "Invalid":"Неверно", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"Введите предпочитаемые способы оплаты фиатными деньгами. Настоятельно рекомендуется использовать быстрые методы.", - "Must be shorter than 65 characters":"Должно быть короче 65и символов", - "Swap Destination(s)":"Поменять место(а) назначения", - "Fiat Payment Method(s)":"Способ(ы) оплаты", - "You can add any method":"Вы можете добавить любой метод", - "Add New":"Добавить новый", - "Choose a Pricing Method":"Выберите метод расчёта цен", - "Relative":"Относительный", - "Let the price move with the market":"Пусть цена движется вместе с рынком", - "Premium over Market (%)":"Наценка по сравнению с рынком (%)", - "Explicit":"Точный", - "Set a fix amount of satoshis":"Установить фиксированное количество Сатоши", - "Satoshis":"Сатоши", - "Fixed price:":"Фиксированная цена:", - "Order current rate:":"Текущий курс ордера:", - "Your order fixed exchange rate":"Фиксированный курс обмена Вашего ордера", - "Your order's current exchange rate. Rate will move with the market.":"Текущий обменный курс Вашего ордера. Курс будет меняться вместе с рынком.", - "Let the taker chose an amount within the range":"Позволить тейкеру выбрать сумму в пределах диапазона", - "Enable Amount Range":"Включить диапазон сумм", - "From": "От", - "to":"до", - "Expiry Timers":"Таймеры истечения срока", - "Public Duration (HH:mm)":"Публичная продолжительность (ЧЧ: мм)", - "Escrow Deposit Time-Out (HH:mm)":"Время ожидания эскроу (ЧЧ: мм)", - "Set the skin-in-the-game, increase for higher safety assurance":"Установите залог, увеличьте для большей безопасности.", - "Fidelity Bond Size":"Размер залога", - "Allow bondless takers":"Разрешить тейкеров без залога", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"СКОРО - Высокий риск! Ограничено до {{limitSats}} тысяч Сатоши", - "You must fill the order correctly":"Вы должны заполнить ордер правильно", - "Create Order":"Создать Ордер", - "Back":"Назад", - "Create an order for ":"Создать ордер на ", - "Create a BTC buy order for ":"Создать ордер на покупку BTC за ", - "Create a BTC sell order for ":"Создать ордер на продажу BTC за ", - " of {{satoshis}} Satoshis":" {{satoshis}} Сатоши", - " at market price":" по рыночной цене", - " at a {{premium}}% premium":" с наценкой {{premium}}%", - " at a {{discount}}% discount":" со скидкой {{discount}}%", - "Must be less than {{max}}%":"Должно быть меньше чем {{max}}%", - "Must be more than {{min}}%":"Должно быть больше чем {{min}}%", - "Must be less than {{maxSats}": "Должно быть меньше чем {{maxSats}}", - "Must be more than {{minSats}}": "Должно быть больше чем {{minSats}}", - "Store your robot token":"Сохранить токен робота", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"В будущем Вам может понадобиться восстановить аватар робота: сохраните его в безопасном месте. Вы можете просто скопировать его в другое приложение.", - "Done":"Готово", - "You do not have a robot avatar":"У Вас нет аватара робота", - "You need to generate a robot avatar in order to become an order maker":"Вам нужно сгенерировать аватар робота, чтобы стать мейкером ордеров", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Продавец", + "Buyer": "Покупатель", + "I want to": "Я хочу", + "Select Order Type": "Выбрать тип ордера", + "ANY_type": "Любой тип", + "ANY_currency": "Любую валюту", + "BUY": "Купить", + "SELL": "Продать", + "and receive": "и получить", + "and pay with": "и оплатить", + "and use": "и использовать", + "Select Payment Currency": "Выбрать Валюту", + "Robot": "Робот", + "Is": "Кто", + "Currency": "Валюта", + "Payment Method": "Метод оплаты", + "Pay": "Платить", + "Price": "Цена", + "Premium": "Наценка", + "You are SELLING BTC for {{currencyCode}}": "Вы ПРОДАЁТЕ BTC за {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "Вы ПОКУПАЕТЕ BTC за {{currencyCode}}", + "You are looking at all": "Вы смотрите на все", + "No orders found to sell BTC for {{currencyCode}}": "Не найдено ордеров на продажу BTC за {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "Не найдено ордеров на покупку BTC за {{currencyCode}}", + "Filter has no results": "Фильтр не дал результатов", + "Be the first one to create an order": "Будьте первым, кто создаст ордер", + "Orders per page:": "Заказов на страницу:", + "No rows": "Нет строк", + "No results found.": "Результаты не найдены.", + "An error occurred.": "Произошла ошибка.", + "Columns": "Столбцы", + "Select columns": "Выбрать столбцы", + "Find column": "Найти столбец", + "Column title": "Заголовок столбца", + "Reorder column": "Изменить порядок столбца", + "Show all": "Показать все", + "Hide all": "Скрыть все", + "Add filter": "Добавить фильтр", + "Delete": "Удалить", + "Logic operator": "Логический оператор", + "Operator": "Оператор", + "And": "И", + "Or": "Или", + "Value": "Значение", + "Filter value": "Значение фильтра", + "contains": "содержит", + "equals": "равно", + "starts with": "начинается с", + "ends with": "заканчивается на", + "is": "есть", + "is not": "не является", + "is after": "после", + "is on or after": "находится на или после", + "is before": "находится до", + "is on or before": "находится на или до", + "is empty": "пустой", + "is not empty": "не пустой", + "is any of": "является любым из", + "any": "любой", + "true": "верный", + "false": "ложный", + "Menu": "Меню", + "Show columns": "Показать столбцы", + "Filter": "Фильтр", + "Unsort": "Несортировать", + "Sort by ASC": "Сортировать по ВОСХ", + "Sort by DESC": "Сортировать по НИСХ", + "Sort": "Сортировать", + "Show filters": "Показать фильтры", + "yes": "да", + "no": "нет", + "Depth chart": "Схемами глубин", + "Chart": "Схемами", - - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"Не указано", - "Instant SEPA":"Мгновенный SEPA", - "Amazon GiftCard":"Подарочная карта Amazon", - "Google Play Gift Code":"Подарочный код Google Play", - "Cash F2F":"Наличные F2F", - "On-Chain BTC":"Ончейн BTC", - - - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"Продавец", - "Buyer":"Покупатель", - "I want to":"Я хочу", - "Select Order Type":"Выбрать тип ордера", - "ANY_type":"Любой тип", - "ANY_currency":"Любую валюту", - "BUY":"Купить", - "SELL":"Продать", - "and receive":"и получить", - "and pay with":"и оплатить", - "and use":"и использовать", - "Select Payment Currency":"Выбрать Валюту", - "Robot":"Робот", - "Is":"Кто", - "Currency":"Валюта", - "Payment Method":"Метод оплаты", - "Pay":"Платить", - "Price":"Цена", - "Premium":"Наценка", - "You are SELLING BTC for {{currencyCode}}":"Вы ПРОДАЁТЕ BTC за {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"Вы ПОКУПАЕТЕ BTC за {{currencyCode}}", - "You are looking at all":"Вы смотрите на все", - "No orders found to sell BTC for {{currencyCode}}":"Не найдено ордеров на продажу BTC за {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"Не найдено ордеров на покупку BTC за {{currencyCode}}", - "Filter has no results":"Фильтр не дал результатов", - "Be the first one to create an order":"Будьте первым, кто создаст ордер", - "Orders per page:":"Заказов на страницу:", - "No rows":"Нет строк", - "No results found.":"Результаты не найдены.", - "An error occurred.":"Произошла ошибка.", - "Columns":"Столбцы", - "Select columns":"Выбрать столбцы", - "Find column":"Найти столбец", - "Column title":"Заголовок столбца", - "Reorder column":"Изменить порядок столбца", - "Show all":"Показать все", - "Hide all":"Скрыть все", - "Add filter":"Добавить фильтр", - "Delete":"Удалить", - "Logic operator":"Логический оператор", - "Operator":"Оператор", - "And":"И", - "Or":"Или", - "Value":"Значение", - "Filter value":"Значение фильтра", - "contains":"содержит", - "equals":"равно", - "starts with":"начинается с", - "ends with":"заканчивается на", - "is":"есть", - "is not":"не является", - "is after":"после", - "is on or after":"находится на или после", - "is before":"находится до", - "is on or before":"находится на или до", - "is empty":"пустой", - "is not empty":"не пустой", - "is any of":"является любым из", - "any":"любой", - "true":"верный", - "false":"ложный", - "Menu":"Меню", - "Show columns":"Показать столбцы", - "Filter":"Фильтр", - "Unsort":"Несортировать", - "Sort by ASC":"Сортировать по ВОСХ", - "Sort by DESC":"Сортировать по НИСХ", - "Sort":"Сортировать", - "Show filters":"Показать фильтры", - "yes":"да", - "no":"нет", - "Depth chart": "Схемами глубин", - "Chart": "Схемами", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Cтатистика для умников", + "LND version": "LND версия", + "Currently running commit hash": "Текущий хэш коммита", + "24h contracted volume": "Объём контрактов за 24 часа", + "Lifetime contracted volume": "Объём контрактов за всё время", + "Made with": "Сделано с", + "and": "и", + "... somewhere on Earth!": "... где-то на земле!", + "Community": "Сообщество", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Поддержка предоставляется только по публичным каналам. Присоединяйтесь к нашему сообществу в Telegram, если у Вас есть вопросы или Вы хотите пообщаться с другими крутыми роботами. Пожалуйста, используйте наши Github Issues, если Вы обнаружили ошибку или хотите увидеть новые функции!", + "Follow RoboSats in Twitter": "Подпиcаться на RoboSats в Twitter", + "Twitter Official Account": "Официальный аккаунт в Twitter", + "RoboSats Telegram Communities": "Сообщества RoboSats в Telegram", + "Join RoboSats Spanish speaking community!": "Присоединиться к испаноязычному сообществу RoboSats!", + "Join RoboSats Russian speaking community!": "Присоединиться к русскоязычному сообществу RoboSats!", + "Join RoboSats Chinese speaking community!": "Присоединиться к китайскоязычному сообществу RoboSats!", + "Join RoboSats English speaking community!": "Присоединиться к англоязычному сообществу RoboSats!", + "Tell us about a new feature or a bug": "Расскажите нам о новой функции или ошибке", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis проект с открытым исходным кодом", + "Your Profile": "Ваш Профиль", + "Your robot": "Ваш Робот", + "One active order #{{orderID}}": "Один активный ордер #{{orderID}}", + "Your current order": "Ваш текущий ордер", + "No active orders": "Нет активных ордеров", + "Your token (will not remain here)": "Ваш токен (здесь не останется)", + "Back it up!": "Сохраните его!", + "Cannot remember": "Не могу вспомнить", + "Rewards and compensations": "Вознаграждения и компенсации", + "Share to earn 100 Sats per trade": "Поделись, чтобы заработать 100 Сатоши за сделку", + "Your referral link": "Ваша реферальная ссылка", + "Your earned rewards": "Ваши заработанные награды", + "Claim": "Запросить", + "Invoice for {{amountSats}} Sats": "Инвойс на {{amountSats}} Сатоши", + "Submit": "Отправить", + "There it goes, thank you!🥇": "Вот так вот, спасибо!🥇", + "You have an active order": "У Вас есть активный ордер", + "You can claim satoshis!": "Вы можете запросить Сатоши!", + "Public Buy Orders": "Ордера на покупку", + "Public Sell Orders": "Ордера на продажу", + "Today Active Robots": "Активных роботов сегодня", + "24h Avg Premium": "Средняя наценка за 24 часа", + "Trade Fee": "Комиссия", + "Show community and support links": "Показать ссылки на сообщество и поддержку", + "Show stats for nerds": "Показать статистику для умников", + "Exchange Summary": "Сводка по бирже", + "Public buy orders": "Ордера на покупку", + "Public sell orders": "Ордера на продажу", + "Book liquidity": "Ликвидность книги ордеров", + "Today active robots": "Сегодня активных роботов", + "24h non-KYC bitcoin premium": "Наценка на Биткойн без ЗСК за 24 часа", + "Maker fee": "Комиссия мейкера", + "Taker fee": "Комиссия тейкера", + "Number of public BUY orders": "Количество ордеров на ПОКУПКУ", + "Number of public SELL orders": "Количество ордеров на ПРОДАЖУ", + "Your last order #{{orderID}}": "Ваш последний ордер #{{orderID}}", + "Inactive order": "Неактивный ордер", + "You do not have previous orders": "У Вас нет предыдущих ордеров", + "Join RoboSats' Subreddit": "Присоединяйтесь к Сабреддиту RoboSats", + "RoboSats in Reddit": "RoboSats в Reddit", + "Current onchain payout fee": "Текущая комиссия за выплату ончейн", + "Use stealth invoices": "Использовать стелс инвойсы", + "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.": "Стелс Лайтнинг инвойсы не содержат подробностей о сделке, кроме ссылки на ордер. Включите этот параметр, если Вы не хотите раскрывать детали кошельку Лайтнинг.", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Окно ордера", + "Contract": "Контракт", + "Active": "Активный", + "Seen recently": "Был виден недавно", + "Inactive": "Неактивный", + "(Seller)": "(Продавец)", + "(Buyer)": "(Покупатель)", + "Order maker": "Мейкер ордера", + "Order taker": "Тейкер ордера", + "Order Details": "Детали ордера", + "Order status": "Статус ордера", + "Waiting for maker bond": "Ожидаем залог мейкера", + "Public": "Публичный", + "Waiting for taker bond": "Ожидаем залог тейкера", + "Cancelled": "Отменён", + "Expired": "Просрочен", + "Waiting for trade collateral and buyer invoice": "Ожидаем депозит сделки и инвойс покупателя", + "Waiting only for seller trade collateral": "Ожидаем только депозит продавца", + "Waiting only for buyer invoice": "Ожидаем только инвойс покупателя", + "Sending fiat - In chatroom": "Отправка фиата - В чате", + "Fiat sent - In chatroom": "Фиат отправлен - В чате", + "In dispute": "В диспуте", + "Collaboratively cancelled": "Совместно отменено", + "Sending satoshis to buyer": "Отправка Сатоши покупателю", + "Sucessful trade": "Успешная сделка", + "Failed lightning network routing": "Неудачный раутинг через Lightning", + "Wait for dispute resolution": "Подождите разрешения диспута", + "Maker lost dispute": "Мейкер проиграл диспут", + "Taker lost dispute": "Тейкер проиграл диспут", + "Amount range": "Диапазон сумм", + "Swap destination": "Поменять место назначения", + "Accepted payment methods": "Способ(ы) оплаты", + "Others": "Другие", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Наценка: {{premium}}%", + "Price and Premium": "Цена и Наценка", + "Amount of Satoshis": "Количество Сатоши", + "Premium over market price": "Наценка над рыночной ценой", + "Order ID": "ID ордера", + "Deposit timer": "Таймер депозита", + "Expires in": "Истекает через", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} запрашивает совместную отмену", + "You asked for a collaborative cancellation": "Вы запросили совместную отмену", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Срок действия инвойса истёк. Вы не подтвердили публикацию ордера вовремя. Создайте новый ордер.", + "This order has been cancelled by the maker": "Этот ордер был отменён мейкером", + "Invoice expired. You did not confirm taking the order in time.": "Срок действия инвойса истёк. Вы не подтвердили своевременный приём ордера.", + "Penalty lifted, good to go!": "Пенальти сняты, поехали!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Вы ещё не можете взять ордер! Подождите {{timeMin}}м {{timeSec}}с", + "Too low": "Слишком мало", + "Too high": "Слишком много", + "Enter amount of fiat to exchange for bitcoin": "Введите количество фиата для обмена на Биткойн", + "Amount {{currencyCode}}": "Сумма {{currencyCode}}", + "You must specify an amount first": "Сначала необходимо указать сумму", + "Take Order": "Взять ордер", + "Wait until you can take an order": "Подождите, пока Вы сможете взять ордер", + "Cancel the order?": "Отменить ордер?", + "If the order is cancelled now you will lose your bond.": "Если ордер будет отменён сейчас, Вы потеряете залог.", + "Confirm Cancel": "Подтвердить отмену", + "The maker is away": "Мейкера нет на месте", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Взяв этот ордер, Вы рискуете потратить своё время впустую. Если мейкер не появится вовремя, Вы получите компенсацию в Сатоши в размере 50% от залога мейкера", + "Collaborative cancel the order?": "Совместно отменить ордер?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Эскроу сделки был опубликован. Ордер может быть отменен только в том случае, если оба, мейкер и тейкер, согласны на отмену.", + "Ask for Cancel": "Запросить отмену", + "Cancel": "Отменить", + "Collaborative Cancel": "Совместная отмена", + "Invalid Order Id": "Неверный ID ордера", + "You must have a robot avatar to see the order details": "У Вас должен быть аватар робота, чтобы увидеть детали ордера", + "This order has been cancelled collaborativelly": "Этот ордер был отменён совместно", + "You are not allowed to see this order": "Вы не можете увидеть этот ордер", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Роботизированные Сатоши, работающие на складе, не поняли Вас. Пожалуйста, заполните вопрос об ошибке в Github https://github.com/reckless-satoshi/robosats/issues", + "WebLN": "WebLN", + "Payment not received, please check your WebLN wallet.": "Платёж не получен. Пожалуйста, проверьте Ваш WebLN Кошелёк.", + "Invoice not received, please check your WebLN wallet.": "Платёж не получен. Пожалуйста, проверьте Ваш WebLN Кошелёк.", + "You can close now your WebLN wallet popup.": "Вы можете закрыть всплывающее окно WebLN Кошелька", - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"Cтатистика для умников", - "LND version":"LND версия", - "Currently running commit hash":"Текущий хэш коммита", - "24h contracted volume":"Объём контрактов за 24 часа", - "Lifetime contracted volume":"Объём контрактов за всё время", - "Made with":"Сделано с", - "and":"и", - "... somewhere on Earth!":"... где-то на земле!", - "Community":"Сообщество", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"Поддержка предоставляется только по публичным каналам. Присоединяйтесь к нашему сообществу в Telegram, если у Вас есть вопросы или Вы хотите пообщаться с другими крутыми роботами. Пожалуйста, используйте наши Github Issues, если Вы обнаружили ошибку или хотите увидеть новые функции!", - "Follow RoboSats in Twitter":"Подпиcаться на RoboSats в Twitter", - "Twitter Official Account":"Официальный аккаунт в Twitter", - "RoboSats Telegram Communities":"Сообщества RoboSats в Telegram", - "Join RoboSats Spanish speaking community!":"Присоединиться к испаноязычному сообществу RoboSats!", - "Join RoboSats Russian speaking community!":"Присоединиться к русскоязычному сообществу RoboSats!", - "Join RoboSats Chinese speaking community!":"Присоединиться к китайскоязычному сообществу RoboSats!", - "Join RoboSats English speaking community!":"Присоединиться к англоязычному сообществу RoboSats!", - "Tell us about a new feature or a bug":"Расскажите нам о новой функции или ошибке", - "Github Issues - The Robotic Satoshis Open Source Project":"Github Issues - The Robotic Satoshis проект с открытым исходным кодом", - "Your Profile":"Ваш Профиль", - "Your robot":"Ваш Робот", - "One active order #{{orderID}}":"Один активный ордер #{{orderID}}", - "Your current order":"Ваш текущий ордер", - "No active orders":"Нет активных ордеров", - "Your token (will not remain here)":"Ваш токен (здесь не останется)", - "Back it up!":"Сохраните его!", - "Cannot remember":"Не могу вспомнить", - "Rewards and compensations":"Вознаграждения и компенсации", - "Share to earn 100 Sats per trade":"Поделись, чтобы заработать 100 Сатоши за сделку", - "Your referral link":"Ваша реферальная ссылка", - "Your earned rewards":"Ваши заработанные награды", - "Claim":"Запросить", - "Invoice for {{amountSats}} Sats":"Инвойс на {{amountSats}} Сатоши", - "Submit":"Отправить", - "There it goes, thank you!🥇":"Вот так вот, спасибо!🥇", - "You have an active order":"У Вас есть активный ордер", - "You can claim satoshis!":"Вы можете запросить Сатоши!", - "Public Buy Orders":"Ордера на покупку", - "Public Sell Orders":"Ордера на продажу", - "Today Active Robots":"Активных роботов сегодня", - "24h Avg Premium":"Средняя наценка за 24 часа", - "Trade Fee":"Комиссия", - "Show community and support links":"Показать ссылки на сообщество и поддержку", - "Show stats for nerds":"Показать статистику для умников", - "Exchange Summary":"Сводка по бирже", - "Public buy orders":"Ордера на покупку", - "Public sell orders":"Ордера на продажу", - "Book liquidity":"Ликвидность книги ордеров", - "Today active robots":"Сегодня активных роботов", - "24h non-KYC bitcoin premium":"Наценка на Биткойн без ЗСК за 24 часа", - "Maker fee":"Комиссия мейкера", - "Taker fee":"Комиссия тейкера", - "Number of public BUY orders":"Количество ордеров на ПОКУПКУ", - "Number of public SELL orders":"Количество ордеров на ПРОДАЖУ", - "Your last order #{{orderID}}":"Ваш последний ордер #{{orderID}}", - "Inactive order":"Неактивный ордер", - "You do not have previous orders":"У Вас нет предыдущих ордеров", - "Join RoboSats' Subreddit":"Присоединяйтесь к Сабреддиту RoboSats", - "RoboSats in Reddit":"RoboSats в Reddit", - "Current onchain payout fee":"Текущая комиссия за выплату ончейн", - "Use stealth invoices":"Использовать стелс инвойсы", - "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.":"Стелс Лайтнинг инвойсы не содержат подробностей о сделке, кроме ссылки на ордер. Включите этот параметр, если Вы не хотите раскрывать детали кошельку Лайтнинг.", + "CHAT BOX - Chat.js": "Chat Box", + "You": "Вы", + "Peer": "Партнёр", + "connected": "подключен", + "disconnected": "отключен", + "Type a message": "Введите сообщение", + "Connecting...": "Подключаем...", + "Send": "Отправить", + "Verify your privacy": "Проверьте свою конфиденциальность", + "Audit PGP": "Аудит PGP", + "Save full log as a JSON file (messages and credentials)": "Сохранить все логи в виде JSON файла (сообщения и учётные данные)", + "Export": "Экспортировать", + "Don't trust, verify": "Не доверяй, проверяй", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Ваше общение зашифровано сквозым шифрованием с помощью OpenPGP. Вы можете проверить конфиденциальность этого чата с помощью любого инструмента, основанного на стандарте OpenPGP.", + "Learn how to verify": "Узнайте, как проверить", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Ваш публичный ключ PGP. Ваш партнёр использует его для шифрования сообщений, которые можете прочитать только Вы.", + "Your public key": "Ваш публичный ключ", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "Публичный ключ PGP Вашего партнёра. Вы используете его для шифрования сообщений, которые может читать только он, и для проверки того, что Ваш партнёр подписал входящие сообщения.", + "Peer public key": "Публичный ключ партнёра", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Ваш зашифрованный приватный ключ. Вы используете его для расшифровки сообщений, зашифрованных для Вас вашим партнёром. Вы также используете его для подписи отправляемых Вами сообщений.", + "Your encrypted private key": "Ваш зашифрованный приватный ключ", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "Парольная фраза для расшифровки Вашего приватного ключа. Только Вы её знаете! Не делитесь ей ни с кем. Это также Ваш токен робота.", + "Your private key passphrase (keep secure!)": "Парольная фраза Вашего приватного ключа (храните в безопасности!)", + "Save credentials as a JSON file": "Сохранить учётные данные как файл JSON", + "Keys": "Ключи", + "Save messages as a JSON file": "Сохранить сообщения как файл JSON", + "Messages": "Сообщения", + "Verified signature by {{nickname}}": "Проверенная подпись пользователя {{nickname}}", + "Cannot verify signature of {{nickname}}": "Не удается проверить подпись {{nickname}}", - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Окно ордера", - "Contract":"Контракт", - "Active":"Активный", - "Seen recently":"Был виден недавно", - "Inactive":"Неактивный", - "(Seller)":"(Продавец)", - "(Buyer)":"(Покупатель)", - "Order maker":"Мейкер ордера", - "Order taker":"Тейкер ордера", - "Order Details":"Детали ордера", - "Order status":"Статус ордера", - "Waiting for maker bond":"Ожидаем залог мейкера", - "Public":"Публичный", - "Waiting for taker bond":"Ожидаем залог тейкера", - "Cancelled":"Отменён", - "Expired":"Просрочен", - "Waiting for trade collateral and buyer invoice":"Ожидаем депозит сделки и инвойс покупателя", - "Waiting only for seller trade collateral":"Ожидаем только депозит продавца", - "Waiting only for buyer invoice":"Ожидаем только инвойс покупателя", - "Sending fiat - In chatroom":"Отправка фиата - В чате", - "Fiat sent - In chatroom":"Фиат отправлен - В чате", - "In dispute":"В диспуте", - "Collaboratively cancelled":"Совместно отменено", - "Sending satoshis to buyer":"Отправка Сатоши покупателю", - "Sucessful trade":"Успешная сделка", - "Failed lightning network routing":"Неудачный раутинг через Lightning", - "Wait for dispute resolution":"Подождите разрешения диспута", - "Maker lost dispute":"Мейкер проиграл диспут", - "Taker lost dispute":"Тейкер проиграл диспут", - "Amount range":"Диапазон сумм", - "Swap destination":"Поменять место назначения", - "Accepted payment methods":"Способ(ы) оплаты", - "Others":"Другие", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - Наценка: {{premium}}%", - "Price and Premium":"Цена и Наценка", - "Amount of Satoshis":"Количество Сатоши", - "Premium over market price":"Наценка над рыночной ценой", - "Order ID":"ID ордера", - "Deposit timer":"Таймер депозита", - "Expires in":"Истекает через", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} запрашивает совместную отмену", - "You asked for a collaborative cancellation":"Вы запросили совместную отмену", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Срок действия инвойса истёк. Вы не подтвердили публикацию ордера вовремя. Создайте новый ордер.", - "This order has been cancelled by the maker":"Этот ордер был отменён мейкером", - "Invoice expired. You did not confirm taking the order in time.":"Срок действия инвойса истёк. Вы не подтвердили своевременный приём ордера.", - "Penalty lifted, good to go!":"Пенальти сняты, поехали!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"Вы ещё не можете взять ордер! Подождите {{timeMin}}м {{timeSec}}с", - "Too low":"Слишком мало", - "Too high":"Слишком много", - "Enter amount of fiat to exchange for bitcoin":"Введите количество фиата для обмена на Биткойн", - "Amount {{currencyCode}}":"Сумма {{currencyCode}}", - "You must specify an amount first":"Сначала необходимо указать сумму", - "Take Order":"Взять ордер", - "Wait until you can take an order":"Подождите, пока Вы сможете взять ордер", - "Cancel the order?":"Отменить ордер?", - "If the order is cancelled now you will lose your bond.":"Если ордер будет отменён сейчас, Вы потеряете залог.", - "Confirm Cancel":"Подтвердить отмену", - "The maker is away":"Мейкера нет на месте", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"Взяв этот ордер, Вы рискуете потратить своё время впустую. Если мейкер не появится вовремя, Вы получите компенсацию в Сатоши в размере 50% от залога мейкера", - "Collaborative cancel the order?":"Совместно отменить ордер?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"Эскроу сделки был опубликован. Ордер может быть отменен только в том случае, если оба, мейкер и тейкер, согласны на отмену.", - "Ask for Cancel":"Запросить отмену", - "Cancel":"Отменить", - "Collaborative Cancel":"Совместная отмена", - "Invalid Order Id":"Неверный ID ордера", - "You must have a robot avatar to see the order details":"У Вас должен быть аватар робота, чтобы увидеть детали ордера", - "This order has been cancelled collaborativelly":"Этот ордер был отменён совместно", - "You are not allowed to see this order":"Вы не можете увидеть этот ордер", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"Роботизированные Сатоши, работающие на складе, не поняли Вас. Пожалуйста, заполните вопрос об ошибке в Github https://github.com/reckless-satoshi/robosats/issues", - "WebLN": "WebLN", - "Payment not received, please check your WebLN wallet.": "Платёж не получен. Пожалуйста, проверьте Ваш WebLN Кошелёк.", - "Invoice not received, please check your WebLN wallet.": "Платёж не получен. Пожалуйста, проверьте Ваш WebLN Кошелёк.", - "You can close now your WebLN wallet popup.": "Вы можете закрыть всплывающее окно WebLN Кошелька", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Окно контракта", + "Robots show commitment to their peers": "Роботы демонстрируют приверженность к своим пирам", + "Lock {{amountSats}} Sats to PUBLISH order": "Заблокировать {{amountSats}} Сатоши для ПУБЛИКАЦИИ ордера", + "Lock {{amountSats}} Sats to TAKE order": "Заблокировать {{amountSats}} Сатоши чтобы ПРИНЯТЬ ордер", + "Lock {{amountSats}} Sats as collateral": "Заблокировать {{amountSats}} Сатоши в качестве депозита", + "Copy to clipboard": "Скопировать", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Этот инвойс заблокируется в Вашем кошельке. Он будет списан только в том случае, если Вы отмените сделку или проиграете диспут.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Этот инвойс заблокируется в Вашем кошельке. Он будет передан покупателю, как только Вы подтвердите получение {{currencyCode}}.", + "Your maker bond is locked": "Ваш залог мейкера заблокирован", + "Your taker bond is locked": "Ваш залог тейкера заблокирован", + "Your maker bond was settled": "Ваш залог мейкера был урегулирован", + "Your taker bond was settled": "Ваш залог тейкера был урегулирован", + "Your maker bond was unlocked": "Ваш залог мейкера был разблокирован", + "Your taker bond was unlocked": "Ваш залог тейкера был разблокирован", + "Your order is public": "Ваш ордер опубликован", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Будьте терпеливы, пока роботы проверяют ордера. Это может занять некоторое время. Это окно прозвонит 🔊, как только робот примет Ваш ордер и тогда у Вас будет {{deposit_timer_hours}}ч {{deposit_timer_minutes}}м на ответ. Если Вы не ответите, Вы рискуете потерять залог.", + "If the order expires untaken, your bond will return to you (no action needed).": "Если Ваш ордер не будет принят и срок его действия истечёт, Ваша залог вернётся к Вам (никаких действий не требуется).", + "Enable Telegram Notifications": "Включить уведомления Telegram", + "Enable TG Notifications": "Включить уведомления TG", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Вы перейдёте к разговору с Telegram ботом RoboSats. Просто откройте чат и нажмите Старт. Обратите внимание, что включив уведомления Telegram, Вы можете снизить уровень анонимности.", + "Go back": "Вернуться", + "Enable": "Включить", + "Telegram enabled": "Telegram включен", + "Public orders for {{currencyCode}}": "Публичные ордера {{currencyCode}}", + "Premium rank": "Ранг наценки", + "Among public {{currencyCode}} orders (higher is cheaper)": "Среди публичных {{currencyCode}} ордеров (чем выше, тем дешевле)", + "A taker has been found!": "Найден тейкер!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Пожалуйста, подождите, пока тейкер заблокирует залог. Если тейкер не заблокирует залог вовремя, ордер будет снова опубликован", + "Payout Lightning Invoice": "Счет на выплату Лайтнинг", + "Your invoice looks good!": "Ваш инвойс выглядит хорошо!", + "We are waiting for the seller to lock the trade amount.": " Мы ждём, пока продавец заблокирует сумму сделки.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Просто немного подождите. Если продавец не внесёт депозит, залог вернётся к Вам автоматически. Кроме того, Вы получите компенсацию (проверьте вознаграждения в своем профиле)", + "The trade collateral is locked!": "Депозит заблокирован!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Мы ждём, пока покупатель разместит Lightning инвойс. Как только он это сделает, Вы сможете напрямую сообщить реквизиты фиатного платежа.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Просто немного подождите. Если покупатель не будет сотрудничать, Вы автоматически вернёте свой депозит и залог. Кроме того, Вы получите компенсацию (проверьте вознаграждение в своем профиле).", + "Confirm {{amount}} {{currencyCode}} sent": "Подтвердить отправку {{amount}} {{currencyCode}}", + "Confirm {{amount}} {{currencyCode}} received": "Подтвердить получение {{amount}} {{currencyCode}}", + "Open Dispute": "Открыть диспут", + "The order has expired": "Срок действия ордера истёк", + "Chat with the buyer": "Чат с покупателем", + "Chat with the seller": "Чат с продавцом", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Скажите привет! Будьте доброжелательны и кратки. Сообщите, как отправить Вам {{amount}} {{currencyCode}}.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "Покупатель отправил фиат. Нажмите 'Подтвердить Получение' после его получения.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Скажите привет! Запросите детали платежа и нажмите 'Подтвердить Отправку' как только платёж будет отправлен.", + "Wait for the seller to confirm he has received the payment.": "Подождите, пока продавец подтвердит, что он получил платёж.", + "Confirm you received {{amount}} {{currencyCode}}?": "Подтвердить получение {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Подтверждение того, что Вы получили фиатную валюту, завершит сделку. Сатоши в эскроу будут переданы покупателю. Подтвердите только после того, как {{amount}} {{currencyCode}} поступили на Ваш счёт. Кроме того, если Вы получили {{currencyCode}} и не подтвердите получение, Вы рискуете потерять свой залог.", + "Confirm": "Подтвердить", + "Trade finished!": "Торговля завершена!!", + "rate_robosats": "Что Вы думаете о <1>RoboSats?", + "Thank you! RoboSats loves you too ❤️": "Спасибо! RoboSats тоже Вас любит ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats становится лучше с большей ликвидностью и пользователями. Расскажите другу-биткойнеру о Robosat!", + "Thank you for using Robosats!": "Спасибо за использование Robosats!", + "let_us_know_hot_to_improve": "Сообщите нам, как можно улучшить платформу (<1>Telegram / <3>Github)", + "Start Again": "Начать Снова", + "Attempting Lightning Payment": "Попытка Lightning платежа", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats пытается оплатить Ваш Lightning инвойс. Помните, что ноды Lightning должны быть подключены к сети, чтобы получать платежи.", + "Retrying!": "Повторная попытка!", + "Lightning Routing Failed": "Раутинг через Lightning не удался", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Срок действия Вашего инвойса истёк или было сделано более трёх попыток оплаты. Отправьте новый инвойс.", + "Check the list of compatible wallets": "Проверьте список совместимых кошельков", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats будет пытаться оплатить Ваш инвойс 3и раза каждые 1ть минут. Если это не удастся, Вы сможете отправить новый инвойс. Проверьте, достаточно ли у Вас входящей ликвидности. Помните, что ноды Lightning должны быть подключены к сети, чтобы получать платежи.", + "Next attempt in": "Следующая попытка через", + "Do you want to open a dispute?": "Хотите ли Вы открыть диспут?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Персонал RoboSats рассмотрит предоставленные заявления и доказательства. Вам необходимо построить полное дело, так как сотрудники не могут читать чат. Лучше всего указать одноразовый метод контакта вместе с Вашим заявлением. Сатоши в эскроу сделки будут отправлены победителю диспута, а проигравший в диспуте потеряет залог.", + "Disagree": "Не согласиться", + "Agree and open dispute": "Согласиться и открыть диспут", + "A dispute has been opened": "Диспут открыт", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Пожалуйста, отправьте своё заявление. Ясно и конкретно опишите, что произошло, и предоставьте необходимые доказательства. Чтобы связаться с персоналом Вы ДОЛЖНЫ указать способ связи: одноразовая электронная почта, XMPP или имя пользователя в Telegram. Споры решаются на усмотрение настоящих роботов (также известных как люди), поэтому будьте как можно более конструктивны, чтобы обеспечить справедливый результат. Максимум 5000 символов.", + "Submit dispute statement": "Отправить заявление о диспуте", + "We have received your statement": "Мы получили Ваше заявление", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Мы ждём заявление Вашего торгового партнёра. Если Вы сомневаетесь в состоянии диспута или хотите добавить дополнительную информацию, свяжитесь с robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Пожалуйста, сохраните информацию, необходимую для идентификации Вашего ордера и Ваших платежей: ID ордера, хэши платежей залога или эскроу (проверьте свой кошелек Lightning), точную сумму Сатоши и псевдоним робота. Вам нужно будет идентифицировать себя как пользователя участвующего в этой сделке по электронной почте (или другим способом связи).", + "We have the statements": "У нас есть заявления", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Оба заявления получены, дождитесь разрешения диспута персоналом. Если Вы сомневаетесь в состоянии диспута или хотите добавить дополнительную информацию, свяжитесь с robosats@protonmail.com. Если Вы не указали способ связи, или не уверены, правильно ли Вы его написали, немедленно свяжитесь с нами.", + "You have won the dispute": "Вы выиграли диспут", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Вы можете запросить сумму разрешения диспута (эскроу и залог) из вознаграждений Вашего профиля. Если есть что-то, с чем персонал может Вам помочь, не стесняйтесь обращаться по адресу robosats@protonmail.com (или через предоставленный Вами одноразовый способ связи).", + "You have lost the dispute": "Вы проиграли диспут", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "К сожалению, Вы проиграли диспут. Если Вы считаете, что это ошибка, Вы можете попросить повторно открыть диспут по электронной почте robosats@protonmail.com. Однако шансы на то, что диспут будет расследован снова, невелики.", + "Expired not taken": "Просрочен не взят", + "Maker bond not locked": "Залог мейкера не заблокирован", + "Escrow not locked": "Эскроу не заблокирован", + "Invoice not submitted": "Инвойс не отправлен", + "Neither escrow locked or invoice submitted": "Эскроу не заблокирован и инвойс не отправлен", + "Renew Order": "Обновить ордер", + "Pause the public order": "Приостановить публичный ордер", + "Your order is paused": "Ваш ордер приостановлен", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Ваш публичный ордер приостановлен. В данный момент его не могут увидеть или принять другие роботы. Вы можете запустить его в любое время.", + "Unpause Order": "Запустить ордер", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Вы рискуете потерять залог, если не заблокируете депозит. Доступное время составляет {{deposit_timer_hours}}ч {{deposit_timer_minutes}}м.", + "See Compatible Wallets": "Смотреть Совместимые Кошельки", + "Failure reason:": "Причина неудачи:", + "Payment isn't failed (yet)": "Платеж не провален (пока)", + "There are more routes to try, but the payment timeout was exceeded.": "Есть ещё маршруты, которые можно попробовать, но превышено время ожидания платежа.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Все возможные маршруты были испробованы и не удались. Возможно, что к месту назначения вообще не было маршрутов.", + "A non-recoverable error has occurred.": "Произошла неисправимая ошибка.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Платежные реквизиты неверны (неизвестный хэш, неверная сумма или неверная окончательная дельта CLTV ).", + "Insufficient unlocked balance in RoboSats' node.": "Недостаточно разблокированного баланса на ноде RoboSats.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "Отправленный инвойс содержит только дорогие подсказки для раутинга, Вы используете несовместимый кошелек (вероятно, Muun?). Проверьте руководство по совместимости кошелька на wallets.robosats.com", + "The invoice provided has no explicit amount": "В предоставленном счете нет точной суммы", + "Does not look like a valid lightning invoice": "Не похоже на действительный Lightning инвойс", + "The invoice provided has already expired": "Срок действия предоставленного инвойса уже истёк", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Обязательно ЭКСПОРТИРУЙТЕ журнал чата. Персонал может запросить Ваш экспортированный журнал чата в формате JSON для устранения несоответствий. Вы несёте ответственность за его сохранение.", + "Invalid address": "Неверный адрес", + "Unable to validate address, check bitcoind backend": "Невозможно проверить адрес, проверить бэкэнд биткойна", + "Submit payout info for {{amountSats}} Sats": "Отправить информацию о выплате на {{amountSats}} Сатоши", + "Submit a valid invoice for {{amountSats}} Satoshis.": "Отправьте действительный инвойс на {{amountSats}} Сатоши.", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "Прежде чем позволить Вам отправить {{amountFiat}} {{currencyCode}}, мы хотим убедиться, что Вы можете получить BTC.", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats произведёт своп и отправит Сатоши на Ваш ончейн адрес.", + "Swap fee": "Комиссия за своп", + "Mining fee": "Комиссия майнерам", + "Mining Fee": "Комиссия Майнерам", + "Final amount you will receive": "Окончательная сумма, которую Вы получите", + "Bitcoin Address": "Биткойн Адрес", + "Your TXID": "Ваш TXID", + "Lightning": "Лайтнинг", + "Onchain": "Ончейн", + "open_dispute": "Для открытия диспута нужно подождать <1><1/>", + "Trade Summary": "Сводка Сделки", + "Maker": "Мейкер", + "Taker": "Тейкер", + "User role": "Роль пользователя", + "Sent": "Отправлено", + "Received": "Получено", + "BTC received": "BTC получено", + "BTC sent": "BTC отправлено", + "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)": "{{tradeFeeSats}} Сатоши ({{tradeFeePercent}}%)", + "Trade fee": "Комиссия сделки", + "{{swapFeeSats}} Sats ({{swapFeePercent}}%)": "{{swapFeeSats}} Сатоши ({{swapFeePercent}}%)", + "Onchain swap fee": "Комиссия за ончйн своп", + "{{miningFeeSats}} Sats": "{{miningFeeSats}} Сатоши", + "{{bondSats}} Sats ({{bondPercent}}%)": "{{bondSats}} Сатоши ({{bondPercent}}%)", + "Maker bond": "Залог мейкера", + "Taker bond": "Залог тейкера", + "Unlocked": "Разблокировано", + "{{revenueSats}} Sats": "{{revenueSats}} Сатоши", + "Platform trade revenue": "Доход платформы от торговли", + "{{routingFeeSats}} MiliSats": "{{routingFeeSats}} МилиСатоши", + "Platform covered routing fee": "Плата за раутинг, покрываемая платформой", + "Timestamp": "Временная метка", + "Completed in": "Завершено за", + "Contract exchange rate": "Курс обмена контракта", - "CHAT BOX - Chat.js":"Chat Box", - "You":"Вы", - "Peer":"Партнёр", - "connected":"подключен", - "disconnected":"отключен", - "Type a message":"Введите сообщение", - "Connecting...":"Подключаем...", - "Send":"Отправить", - "Verify your privacy":"Проверьте свою конфиденциальность", - "Audit PGP":"Аудит PGP", - "Save full log as a JSON file (messages and credentials)":"Сохранить все логи в виде JSON файла (сообщения и учётные данные)", - "Export":"Экспортировать", - "Don't trust, verify":"Не доверяй, проверяй", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"Ваше общение зашифровано сквозым шифрованием с помощью OpenPGP. Вы можете проверить конфиденциальность этого чата с помощью любого инструмента, основанного на стандарте OpenPGP.", - "Learn how to verify":"Узнайте, как проверить", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"Ваш публичный ключ PGP. Ваш партнёр использует его для шифрования сообщений, которые можете прочитать только Вы.", - "Your public key":"Ваш публичный ключ", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"Публичный ключ PGP Вашего партнёра. Вы используете его для шифрования сообщений, которые может читать только он, и для проверки того, что Ваш партнёр подписал входящие сообщения.", - "Peer public key":"Публичный ключ партнёра", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"Ваш зашифрованный приватный ключ. Вы используете его для расшифровки сообщений, зашифрованных для Вас вашим партнёром. Вы также используете его для подписи отправляемых Вами сообщений.", - "Your encrypted private key":"Ваш зашифрованный приватный ключ", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"Парольная фраза для расшифровки Вашего приватного ключа. Только Вы её знаете! Не делитесь ей ни с кем. Это также Ваш токен робота.", - "Your private key passphrase (keep secure!)":"Парольная фраза Вашего приватного ключа (храните в безопасности!)", - "Save credentials as a JSON file":"Сохранить учётные данные как файл JSON", - "Keys":"Ключи", - "Save messages as a JSON file":"Сохранить сообщения как файл JSON", - "Messages":"Сообщения", - "Verified signature by {{nickname}}":"Проверенная подпись пользователя {{nickname}}", - "Cannot verify signature of {{nickname}}":"Не удается проверить подпись {{nickname}}", - - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Окно контракта", - "Robots show commitment to their peers": "Роботы демонстрируют приверженность к своим пирам", - "Lock {{amountSats}} Sats to PUBLISH order": "Заблокировать {{amountSats}} Сатоши для ПУБЛИКАЦИИ ордера", - "Lock {{amountSats}} Sats to TAKE order": "Заблокировать {{amountSats}} Сатоши чтобы ПРИНЯТЬ ордер", - "Lock {{amountSats}} Sats as collateral": "Заблокировать {{amountSats}} Сатоши в качестве депозита", - "Copy to clipboard":"Скопировать", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"Этот инвойс заблокируется в Вашем кошельке. Он будет списан только в том случае, если Вы отмените сделку или проиграете диспут.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"Этот инвойс заблокируется в Вашем кошельке. Он будет передан покупателю, как только Вы подтвердите получение {{currencyCode}}.", - "Your maker bond is locked":"Ваш залог мейкера заблокирован", - "Your taker bond is locked":"Ваш залог тейкера заблокирован", - "Your maker bond was settled":"Ваш залог мейкера был урегулирован", - "Your taker bond was settled":"Ваш залог тейкера был урегулирован", - "Your maker bond was unlocked":"Ваш залог мейкера был разблокирован", - "Your taker bond was unlocked":"Ваш залог тейкера был разблокирован", - "Your order is public":"Ваш ордер опубликован", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"Будьте терпеливы, пока роботы проверяют ордера. Это может занять некоторое время. Это окно прозвонит 🔊, как только робот примет Ваш ордер и тогда у Вас будет {{deposit_timer_hours}}ч {{deposit_timer_minutes}}м на ответ. Если Вы не ответите, Вы рискуете потерять залог.", - "If the order expires untaken, your bond will return to you (no action needed).":"Если Ваш ордер не будет принят и срок его действия истечёт, Ваша залог вернётся к Вам (никаких действий не требуется).", - "Enable Telegram Notifications":"Включить уведомления Telegram", - "Enable TG Notifications":"Включить уведомления TG", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"Вы перейдёте к разговору с Telegram ботом RoboSats. Просто откройте чат и нажмите Старт. Обратите внимание, что включив уведомления Telegram, Вы можете снизить уровень анонимности.", - "Go back":"Вернуться", - "Enable":"Включить", - "Telegram enabled":"Telegram включен", - "Public orders for {{currencyCode}}":"Публичные ордера {{currencyCode}}", - "Premium rank": "Ранг наценки", - "Among public {{currencyCode}} orders (higher is cheaper)": "Среди публичных {{currencyCode}} ордеров (чем выше, тем дешевле)", - "A taker has been found!":"Найден тейкер!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"Пожалуйста, подождите, пока тейкер заблокирует залог. Если тейкер не заблокирует залог вовремя, ордер будет снова опубликован", - "Payout Lightning Invoice":"Счет на выплату Лайтнинг", - "Your invoice looks good!":"Ваш инвойс выглядит хорошо!", - "We are waiting for the seller to lock the trade amount.":" Мы ждём, пока продавец заблокирует сумму сделки.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Просто немного подождите. Если продавец не внесёт депозит, залог вернётся к Вам автоматически. Кроме того, Вы получите компенсацию (проверьте вознаграждения в своем профиле)", - "The trade collateral is locked!":"Депозит заблокирован!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"Мы ждём, пока покупатель разместит Lightning инвойс. Как только он это сделает, Вы сможете напрямую сообщить реквизиты фиатного платежа.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"Просто немного подождите. Если покупатель не будет сотрудничать, Вы автоматически вернёте свой депозит и залог. Кроме того, Вы получите компенсацию (проверьте вознаграждение в своем профиле).", - "Confirm {{amount}} {{currencyCode}} sent":"Подтвердить отправку {{amount}} {{currencyCode}}", - "Confirm {{amount}} {{currencyCode}} received":"Подтвердить получение {{amount}} {{currencyCode}}", - "Open Dispute":"Открыть диспут", - "The order has expired":"Срок действия ордера истёк", - "Chat with the buyer":"Чат с покупателем", - "Chat with the seller":"Чат с продавцом", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.":"Скажите привет! Будьте доброжелательны и кратки. Сообщите, как отправить Вам {{amount}} {{currencyCode}}.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"Покупатель отправил фиат. Нажмите 'Подтвердить Получение' после его получения.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"Скажите привет! Запросите детали платежа и нажмите 'Подтвердить Отправку' как только платёж будет отправлен.", - "Wait for the seller to confirm he has received the payment.":"Подождите, пока продавец подтвердит, что он получил платёж.", - "Confirm you received {{amount}} {{currencyCode}}?":"Подтвердить получение {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"Подтверждение того, что Вы получили фиатную валюту, завершит сделку. Сатоши в эскроу будут переданы покупателю. Подтвердите только после того, как {{amount}} {{currencyCode}} поступили на Ваш счёт. Кроме того, если Вы получили {{currencyCode}} и не подтвердите получение, Вы рискуете потерять свой залог.", - "Confirm":"Подтвердить", - "Trade finished!":"Торговля завершена!!", - "rate_robosats":"Что Вы думаете о <1>RoboSats?", - "Thank you! RoboSats loves you too ❤️":"Спасибо! RoboSats тоже Вас любит ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats становится лучше с большей ликвидностью и пользователями. Расскажите другу-биткойнеру о Robosat!", - "Thank you for using Robosats!":"Спасибо за использование Robosats!", - "let_us_know_hot_to_improve":"Сообщите нам, как можно улучшить платформу (<1>Telegram / <3>Github)", - "Start Again":"Начать Снова", - "Attempting Lightning Payment":"Попытка Lightning платежа", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats пытается оплатить Ваш Lightning инвойс. Помните, что ноды Lightning должны быть подключены к сети, чтобы получать платежи.", - "Retrying!":"Повторная попытка!", - "Lightning Routing Failed":"Раутинг через Lightning не удался", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.":"Срок действия Вашего инвойса истёк или было сделано более трёх попыток оплаты. Отправьте новый инвойс.", - "Check the list of compatible wallets":"Проверьте список совместимых кошельков", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats будет пытаться оплатить Ваш инвойс 3и раза каждые 1ть минут. Если это не удастся, Вы сможете отправить новый инвойс. Проверьте, достаточно ли у Вас входящей ликвидности. Помните, что ноды Lightning должны быть подключены к сети, чтобы получать платежи.", - "Next attempt in":"Следующая попытка через", - "Do you want to open a dispute?":"Хотите ли Вы открыть диспут?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"Персонал RoboSats рассмотрит предоставленные заявления и доказательства. Вам необходимо построить полное дело, так как сотрудники не могут читать чат. Лучше всего указать одноразовый метод контакта вместе с Вашим заявлением. Сатоши в эскроу сделки будут отправлены победителю диспута, а проигравший в диспуте потеряет залог.", - "Disagree":"Не согласиться", - "Agree and open dispute":"Согласиться и открыть диспут", - "A dispute has been opened":"Диспут открыт", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"Пожалуйста, отправьте своё заявление. Ясно и конкретно опишите, что произошло, и предоставьте необходимые доказательства. Чтобы связаться с персоналом Вы ДОЛЖНЫ указать способ связи: одноразовая электронная почта, XMPP или имя пользователя в Telegram. Споры решаются на усмотрение настоящих роботов (также известных как люди), поэтому будьте как можно более конструктивны, чтобы обеспечить справедливый результат. Максимум 5000 символов.", - "Submit dispute statement":"Отправить заявление о диспуте", - "We have received your statement":"Мы получили Ваше заявление", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"Мы ждём заявление Вашего торгового партнёра. Если Вы сомневаетесь в состоянии диспута или хотите добавить дополнительную информацию, свяжитесь с robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"Пожалуйста, сохраните информацию, необходимую для идентификации Вашего ордера и Ваших платежей: ID ордера, хэши платежей залога или эскроу (проверьте свой кошелек Lightning), точную сумму Сатоши и псевдоним робота. Вам нужно будет идентифицировать себя как пользователя участвующего в этой сделке по электронной почте (или другим способом связи).", - "We have the statements":"У нас есть заявления", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"Оба заявления получены, дождитесь разрешения диспута персоналом. Если Вы сомневаетесь в состоянии диспута или хотите добавить дополнительную информацию, свяжитесь с robosats@protonmail.com. Если Вы не указали способ связи, или не уверены, правильно ли Вы его написали, немедленно свяжитесь с нами.", - "You have won the dispute":"Вы выиграли диспут", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"Вы можете запросить сумму разрешения диспута (эскроу и залог) из вознаграждений Вашего профиля. Если есть что-то, с чем персонал может Вам помочь, не стесняйтесь обращаться по адресу robosats@protonmail.com (или через предоставленный Вами одноразовый способ связи).", - "You have lost the dispute":"Вы проиграли диспут", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"К сожалению, Вы проиграли диспут. Если Вы считаете, что это ошибка, Вы можете попросить повторно открыть диспут по электронной почте robosats@protonmail.com. Однако шансы на то, что диспут будет расследован снова, невелики.", - "Expired not taken":"Просрочен не взят", - "Maker bond not locked":"Залог мейкера не заблокирован", - "Escrow not locked":"Эскроу не заблокирован", - "Invoice not submitted":"Инвойс не отправлен", - "Neither escrow locked or invoice submitted":"Эскроу не заблокирован и инвойс не отправлен", - "Renew Order":"Обновить ордер", - "Pause the public order":"Приостановить публичный ордер", - "Your order is paused":"Ваш ордер приостановлен", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"Ваш публичный ордер приостановлен. В данный момент его не могут увидеть или принять другие роботы. Вы можете запустить его в любое время.", - "Unpause Order":"Запустить ордер", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"Вы рискуете потерять залог, если не заблокируете депозит. Доступное время составляет {{deposit_timer_hours}}ч {{deposit_timer_minutes}}м.", - "See Compatible Wallets":"Смотреть Совместимые Кошельки", - "Failure reason:":"Причина неудачи:", - "Payment isn't failed (yet)":"Платеж не провален (пока)", - "There are more routes to try, but the payment timeout was exceeded.":"Есть ещё маршруты, которые можно попробовать, но превышено время ожидания платежа.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"Все возможные маршруты были испробованы и не удались. Возможно, что к месту назначения вообще не было маршрутов.", - "A non-recoverable error has occurred.":"Произошла неисправимая ошибка.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"Платежные реквизиты неверны (неизвестный хэш, неверная сумма или неверная окончательная дельта CLTV ).", - "Insufficient unlocked balance in RoboSats' node.":"Недостаточно разблокированного баланса на ноде RoboSats.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"Отправленный инвойс содержит только дорогие подсказки для раутинга, Вы используете несовместимый кошелек (вероятно, Muun?). Проверьте руководство по совместимости кошелька на wallets.robosats.com", - "The invoice provided has no explicit amount":"В предоставленном счете нет точной суммы", - "Does not look like a valid lightning invoice":"Не похоже на действительный Lightning инвойс", - "The invoice provided has already expired":"Срок действия предоставленного инвойса уже истёк", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"Обязательно ЭКСПОРТИРУЙТЕ журнал чата. Персонал может запросить Ваш экспортированный журнал чата в формате JSON для устранения несоответствий. Вы несёте ответственность за его сохранение.", - "Invalid address":"Неверный адрес", - "Unable to validate address, check bitcoind backend":"Невозможно проверить адрес, проверить бэкэнд биткойна", - "Submit payout info for {{amountSats}} Sats":"Отправить информацию о выплате на {{amountSats}} Сатоши", - "Submit a valid invoice for {{amountSats}} Satoshis.":"Отправьте действительный инвойс на {{amountSats}} Сатоши.", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.":"Прежде чем позволить Вам отправить {{amountFiat}} {{currencyCode}}, мы хотим убедиться, что Вы можете получить BTC.", - "RoboSats will do a swap and send the Sats to your onchain address.":"RoboSats произведёт своп и отправит Сатоши на Ваш ончейн адрес.", - "Swap fee":"Комиссия за своп", - "Mining fee":"Комиссия майнерам", - "Mining Fee":"Комиссия Майнерам", - "Final amount you will receive":"Окончательная сумма, которую Вы получите", - "Bitcoin Address":"Биткойн Адрес", - "Your TXID":"Ваш TXID", - "Lightning":"Лайтнинг", - "Onchain":"Ончейн", - "open_dispute":"Для открытия диспута нужно подождать <1><1/>", - "Trade Summary":"Сводка Сделки", - "Maker":"Мейкер", - "Taker":"Тейкер", - "User role":"Роль пользователя", - "Sent":"Отправлено", - "Received":"Получено", - "BTC received":"BTC получено", - "BTC sent":"BTC отправлено", - "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)":"{{tradeFeeSats}} Сатоши ({{tradeFeePercent}}%)", - "Trade fee":"Комиссия сделки", - "{{swapFeeSats}} Sats ({{swapFeePercent}}%)":"{{swapFeeSats}} Сатоши ({{swapFeePercent}}%)", - "Onchain swap fee":"Комиссия за ончйн своп", - "{{miningFeeSats}} Sats":"{{miningFeeSats}} Сатоши", - "{{bondSats}} Sats ({{bondPercent}}%)":"{{bondSats}} Сатоши ({{bondPercent}}%)", - "Maker bond":"Залог мейкера", - "Taker bond":"Залог тейкера", - "Unlocked":"Разблокировано", - "{{revenueSats}} Sats":"{{revenueSats}} Сатоши", - "Platform trade revenue":"Доход платформы от торговли", - "{{routingFeeSats}} MiliSats":"{{routingFeeSats}} МилиСатоши", - "Platform covered routing fee":"Плата за раутинг, покрываемая платформой", - "Timestamp":"Временная метка", - "Completed in":"Завершено за", - "Contract exchange rate":"Курс обмена контракта", - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"Закрыть", - "What is RoboSats?":"Что такое RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"Это P2P обмен BTC/Фиат через Lightning.", - "RoboSats is an open source project ":"RoboSats — это проект с открытым исходным кодом.", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"Он упрощает поиск партнёров и сводит к минимуму потребность в доверии. RoboSats фокусируется на конфиденциальности и скорости.", - "(GitHub).":"(GitHub).", - "How does it work?":"Как это работает?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"Алиса01 хочет продать Биткойн. Она размещает ордер на продажу. Боб02 хочет купить Биткойн и принимает ордер Алисы. Оба должны разместить небольшой залог, используя Lightning, чтобы доказать, что они настоящие роботы. Затем Алиса размещает депозит, также используя Lightning холд инвойс. RoboSats блокирует инвойс до тех пор, пока Алиса не подтвердит, что она получила фиат, затем Сатоши передаются Бобу. Наслаждайся своими Сатоши, Боб!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"Алиса01 и Боб02 не доверяют Биткойн средства друг другу ни на каком из этапов сделки. В случае возникновения конфликта персонал RoboSats поможет разрешить диспут.", - "You can find a step-by-step description of the trade pipeline in ":"Вы можете найти пошаговое описание этапов сделки в ", - "How it works":"Как это работает", - "You can also check the full guide in ":"Вы также можете ознакомиться с полным руководством в ", - "How to use":"Как использовать", - "What payment methods are accepted?":"Какие способы оплаты принимаются?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"Все, если они быстрые. Вы можете записать свой предпочитаемый способ(ы) оплаты. Ваш метод оплаты должен совпасть с методом оплаты Вашего партнёра. Этап по обмену фиатной валюты составляет 24 часа, перед тем как автоматически откроется диспут. Мы настоятельно рекомендуем использовать мгновенные фиатные платёжные системы.", - "Are there trade limits?":"Существуют ли ограничения торговли?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"Максимальный размер одной сделки составляет {{maxAmount}} Сатоши, чтобы свести к минимуму сбои Lightning раутинга. Количество сделок в день не ограничено. Робот может иметь только один ордер за раз. Однако Вы можете использовать несколько роботов одновременно в разных браузерах (не забудьте сделать резервную копию токенов робота!).", - "Is RoboSats private?":"Является ли RoboSats конфиденциальным?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats никогда не спросит Ваше имя, страну или идентификацию личности. RoboSats не хранит Ваши средства и не заботится о том, кто Вы. RoboSats не собирает и не хранит никаких личных данных. Для максимальной анонимности используйте браузер Tor и доступ к скрытому сервису .onion.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"Ваш торговый партнёр — единственный, кто потенциально может узнать что-либо о Вас. Будьте краткими и лаконичными в чате. Избегайте предоставления второстепенной информации, кроме необходимой для платежа в фиатной валюте.", - "What are the risks?":"Каковы риски?", - "This is an experimental application, things could go wrong. Trade small amounts!":"Это экспериментальное приложение, что-то может пойти не так. Торгуйте небольшими суммами!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"Продавец сталкивается с тем же риском возврата платежа, что и в случае с любым другим P2P сервисом. Paypal или кредитные карты не рекомендуются.", - "What is the trust model?":"Какова модель доверия?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"Покупатель и продавец никогда не должны доверять друг другу. Некоторое доверие к RoboSats необходимо, поскольку соединение инвойса продавца с платежём покупателя не является атомным (пока). Кроме того, диспуты решаются персоналом RoboSats.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"Для полной ясности. Требования к доверию сведены к минимуму. Тем не менее, есть ещё один способ как RoboSats может сбежать с Вашими Сатоши: не передать Сатоши покупателю. Можно утверждать, что такой шаг не в интересах RoboSats, поскольку вознаграждение не велико, но навсегда повредит репутации. Тем не менее, Вы должны призадуматься и торговать только небольшими суммами за раз. Для больших сумм используйте ончейн эскроу сервис, такой как Bisq.", - "You can build more trust on RoboSats by inspecting the source code.":"Вы можете повысить доверие к RoboSats, проверив исходный код.", - "Project source code":"Исходный код проекта", - "What happens if RoboSats suddenly disappears?":"Что произойдёт, если RoboSats внезапно исчезнет?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"Ваши Сатоши вернутся к Вам. Любой неоплаченный инвойс будет автоматически возвращён, даже если RoboSats выйдет из строя навсегда. Это верно как для заблокированных залогов, так и для эскроу. Однако, есть небольшой промежуток времени между тем как продавец подтверждает ПОЛУЧЕНИЕ ФИАТА и тем как покупатель получает Cатоши, когда средства могут быть безвозвратно потеряны если RoboSats исчезнет. Это окно длится около 1ой секунды. Убедитесь, что у Вас достаточно входящей ликвидности, чтобы избежать сбоев раутинга. Если у Вас есть какие-либо проблемы, обратитесь к нам через публичные каналы RoboSats.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"Во многих странах использование RoboSats не отличается от использования Ebay или Craiglist. Ваше законодательство может отличаться. Вы обязаны его соблюдать.", - "Is RoboSats legal in my country?":"Легален ли RoboSats в моей стране?", - "Disclaimer":"Дисклеймер", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"Это приложение Lightning предоставляется как есть. Оно находится в активной разработке: торгуйте с максимальной осторожностью. Частной поддержки нет. Поддержка предлагается только по публичным каналам ", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats никогда не будет связыватся с Вами первым. RoboSats никогда не попросит Ваш токен робота." + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Закрыть", + "What is RoboSats?": "Что такое RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Это P2P обмен BTC/Фиат через Lightning.", + "RoboSats is an open source project ": "RoboSats — это проект с открытым исходным кодом.", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Он упрощает поиск партнёров и сводит к минимуму потребность в доверии. RoboSats фокусируется на конфиденциальности и скорости.", + "(GitHub).": "(GitHub).", + "How does it work?": "Как это работает?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "Алиса01 хочет продать Биткойн. Она размещает ордер на продажу. Боб02 хочет купить Биткойн и принимает ордер Алисы. Оба должны разместить небольшой залог, используя Lightning, чтобы доказать, что они настоящие роботы. Затем Алиса размещает депозит, также используя Lightning холд инвойс. RoboSats блокирует инвойс до тех пор, пока Алиса не подтвердит, что она получила фиат, затем Сатоши передаются Бобу. Наслаждайся своими Сатоши, Боб!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "Алиса01 и Боб02 не доверяют Биткойн средства друг другу ни на каком из этапов сделки. В случае возникновения конфликта персонал RoboSats поможет разрешить диспут.", + "You can find a step-by-step description of the trade pipeline in ": "Вы можете найти пошаговое описание этапов сделки в ", + "How it works": "Как это работает", + "You can also check the full guide in ": "Вы также можете ознакомиться с полным руководством в ", + "How to use": "Как использовать", + "What payment methods are accepted?": "Какие способы оплаты принимаются?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Все, если они быстрые. Вы можете записать свой предпочитаемый способ(ы) оплаты. Ваш метод оплаты должен совпасть с методом оплаты Вашего партнёра. Этап по обмену фиатной валюты составляет 24 часа, перед тем как автоматически откроется диспут. Мы настоятельно рекомендуем использовать мгновенные фиатные платёжные системы.", + "Are there trade limits?": "Существуют ли ограничения торговли?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Максимальный размер одной сделки составляет {{maxAmount}} Сатоши, чтобы свести к минимуму сбои Lightning раутинга. Количество сделок в день не ограничено. Робот может иметь только один ордер за раз. Однако Вы можете использовать несколько роботов одновременно в разных браузерах (не забудьте сделать резервную копию токенов робота!).", + "Is RoboSats private?": "Является ли RoboSats конфиденциальным?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats никогда не спросит Ваше имя, страну или идентификацию личности. RoboSats не хранит Ваши средства и не заботится о том, кто Вы. RoboSats не собирает и не хранит никаких личных данных. Для максимальной анонимности используйте браузер Tor и доступ к скрытому сервису .onion.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Ваш торговый партнёр — единственный, кто потенциально может узнать что-либо о Вас. Будьте краткими и лаконичными в чате. Избегайте предоставления второстепенной информации, кроме необходимой для платежа в фиатной валюте.", + "What are the risks?": "Каковы риски?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Это экспериментальное приложение, что-то может пойти не так. Торгуйте небольшими суммами!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Продавец сталкивается с тем же риском возврата платежа, что и в случае с любым другим P2P сервисом. Paypal или кредитные карты не рекомендуются.", + "What is the trust model?": "Какова модель доверия?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Покупатель и продавец никогда не должны доверять друг другу. Некоторое доверие к RoboSats необходимо, поскольку соединение инвойса продавца с платежём покупателя не является атомным (пока). Кроме того, диспуты решаются персоналом RoboSats.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "Для полной ясности. Требования к доверию сведены к минимуму. Тем не менее, есть ещё один способ как RoboSats может сбежать с Вашими Сатоши: не передать Сатоши покупателю. Можно утверждать, что такой шаг не в интересах RoboSats, поскольку вознаграждение не велико, но навсегда повредит репутации. Тем не менее, Вы должны призадуматься и торговать только небольшими суммами за раз. Для больших сумм используйте ончейн эскроу сервис, такой как Bisq.", + "You can build more trust on RoboSats by inspecting the source code.": "Вы можете повысить доверие к RoboSats, проверив исходный код.", + "Project source code": "Исходный код проекта", + "What happens if RoboSats suddenly disappears?": "Что произойдёт, если RoboSats внезапно исчезнет?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Ваши Сатоши вернутся к Вам. Любой неоплаченный инвойс будет автоматически возвращён, даже если RoboSats выйдет из строя навсегда. Это верно как для заблокированных залогов, так и для эскроу. Однако, есть небольшой промежуток времени между тем как продавец подтверждает ПОЛУЧЕНИЕ ФИАТА и тем как покупатель получает Cатоши, когда средства могут быть безвозвратно потеряны если RoboSats исчезнет. Это окно длится около 1ой секунды. Убедитесь, что у Вас достаточно входящей ликвидности, чтобы избежать сбоев раутинга. Если у Вас есть какие-либо проблемы, обратитесь к нам через публичные каналы RoboSats.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "Во многих странах использование RoboSats не отличается от использования Ebay или Craiglist. Ваше законодательство может отличаться. Вы обязаны его соблюдать.", + "Is RoboSats legal in my country?": "Легален ли RoboSats в моей стране?", + "Disclaimer": "Дисклеймер", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Это приложение Lightning предоставляется как есть. Оно находится в активной разработке: торгуйте с максимальной осторожностью. Частной поддержки нет. Поддержка предлагается только по публичным каналам ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats никогда не будет связыватся с Вами первым. RoboSats никогда не попросит Ваш токен робота." } diff --git a/frontend/static/locales/sv.json b/frontend/static/locales/sv.json index f80bb0144..188605cc0 100644 --- a/frontend/static/locales/sv.json +++ b/frontend/static/locales/sv.json @@ -1,439 +1,439 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "Du använder inte RoboSats anonymt", - "desktop_unsafe_alert": "Vissa funktioner är inaktiverade för din säkerhet (t.ex. chatten) och du kommer inte att kunna slutföra en trade utan dom. Använd <1>Tor Browser och besök <3>Onion-siten för att skydda din integritet och använda RoboSats till fullo.", - "phone_unsafe_alert": "Du kommer inte att kunna slutföra en trade. Använd <1>Tor Browser och besök <3>Onion-siten.", - "Hide": "Göm", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "Du använder inte RoboSats anonymt", + "desktop_unsafe_alert": "Vissa funktioner är inaktiverade för din säkerhet (t.ex. chatten) och du kommer inte att kunna slutföra en trade utan dom. Använd <1>Tor Browser och besök <3>Onion-siten för att skydda din integritet och använda RoboSats till fullo.", + "phone_unsafe_alert": "Du kommer inte att kunna slutföra en trade. Använd <1>Tor Browser och besök <3>Onion-siten.", + "Hide": "Göm", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Lättanvänd och anonym LN P2P-handelsplattform", - "This is your trading avatar": "Detta är din tradingavatar", - "Store your token safely": "Spara din token säkert", - "A robot avatar was found, welcome back!": "En robotavatar hittades, välkommen tillbaka!", - "Copied!": "Kopierat!", - "Generate a new token": "Generera en ny token", - "Generate Robot": "Generera Robot", - "You must enter a new token first": "Du måste först ange en ny token", - "Make Order": "Skapa order", - "Info": "Info", - "View Book": "Visa orderbok", - "Learn RoboSats": "Learn RoboSats", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Du är på på väg att besöka Learn RoboSats. Där finns guider och dokumentation som hjälper dig att använda RoboSats och förstå hur det fungerar.", - "Let's go!": "Besök", - "Save token and PGP credentials to file": "Spara token och PGP-uppgifter till fil", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Lättanvänd och anonym LN P2P-handelsplattform", + "This is your trading avatar": "Detta är din tradingavatar", + "Store your token safely": "Spara din token säkert", + "A robot avatar was found, welcome back!": "En robotavatar hittades, välkommen tillbaka!", + "Copied!": "Kopierat!", + "Generate a new token": "Generera en ny token", + "Generate Robot": "Generera Robot", + "You must enter a new token first": "Du måste först ange en ny token", + "Make Order": "Skapa order", + "Info": "Info", + "View Book": "Visa orderbok", + "Learn RoboSats": "Learn RoboSats", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "Du är på på väg att besöka Learn RoboSats. Där finns guider och dokumentation som hjälper dig att använda RoboSats och förstå hur det fungerar.", + "Let's go!": "Besök", + "Save token and PGP credentials to file": "Spara token och PGP-uppgifter till fil", - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order": "Order", - "Customize": "Konfigurera", - "Buy or Sell Bitcoin?": "Köpa eller sälja bitcoin?", - "Buy": "Köpa", - "Sell": "Sälja", - "Amount": "Summa", - "Amount of fiat to exchange for bitcoin": "Summa fiat att växla till bitcoin", - "Invalid": "Ogiltig", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Välj dina föredragna betalningsmetoder för fiat. Snabba metoder rekommenderas.", - "Must be shorter than 65 characters": "Måste vara kortare än 65 tecken", - "Swap Destination(s)": "Byt destination(er)", - "Fiat Payment Method(s)": "Betalningmetod(er) med fiat", - "You can add any method": "Du kan lägga till vilken metod som helst", - "Add New": "Lägg till ny", - "Choose a Pricing Method": "Välj en prissättningsmetod", - "Relative": "Relativ", - "Let the price move with the market": "Låt priset följa marknaden", - "Premium over Market (%)": "Premium över marknaden (%)", - "Explicit": "Fast", - "Set a fix amount of satoshis": "Ange en fast summa sats", - "Satoshis": "Sats", - "Fixed price: ": "Fast pris: ", - "Order current rate:": "Aktuell kurs: ", - "Your order fixed exchange rate": "Din orders fasta växelkurs", - "Your order's current exchange rate. Rate will move with the market.": "Din orders nuvarande växelkurs. Kursen kommer att följa marknaden.", - "Let the taker chose an amount within the range": "Låt takern välja ett belopp inom detta spann", - "Enable Amount Range": "Aktivera beloppsspann", - "From": "Från", - "to": "till", - "Expiry Timers": "Förfallotimers", - "Public Duration (HH:mm)": "Publikt tidsspann (HH:mm)", - "Escrow Deposit Time-Out (HH:mm)": "Depositionstimeout (HH:mm)", - "Set the skin-in-the-game, increase for higher safety assurance": "Ange skin-in-the-game, öka för högre säkerhet", - "Fidelity Bond Size": "Storlek på fidelity bond", - "Allow bondless takers": "Allow bondless takers", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "KOMMER SNART - Hög risk! Begränsat till {{limitSats}}K sats", - "You must fill the order correctly": "Du måste fylla ordern korrekt", - "Create Order": "Skapa order", - "Back": "Tillbaka", - "Create an order for ": "Skapa en order för ", - "Create a BTC buy order for ": "Skapa en BTC-köporder för ", - "Create a BTC sell order for ": "Skapa en BTC-säljorder för ", - " of {{satoshis}} Satoshis": " för {{satoshis}} sats", - " at market price": " till marknadspris", - " at a {{premium}}% premium": " med en premium på {{premium}}%", - " at a {{discount}}% discount": " med en rabatt på {{discount}}%", - "Must be less than {{max}}%": "Måste vara mindre än {{max}}%", - "Must be more than {{min}}%": "Måste vara mer än {{min}}%", - "Must be less than {{maxSats}": "Måste vara mindre än {{maxSats}}", - "Must be more than {{minSats}}": "Måste vara mer än {{minSats}}", - "Store your robot token": "Spara din robottoken", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Du kan behöva återställa din robotavatar i framtiden; förvara den säkert. Du kan kopiera den till en annan applikation.", - "Done": "Klar", - "You do not have a robot avatar": "Du har ingen robotavatar", - "You need to generate a robot avatar in order to become an order maker": "Du måste generera en robotavatar för att kunna skapa ordrar", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "Order", + "Customize": "Konfigurera", + "Buy or Sell Bitcoin?": "Köpa eller sälja bitcoin?", + "Buy": "Köpa", + "Sell": "Sälja", + "Amount": "Summa", + "Amount of fiat to exchange for bitcoin": "Summa fiat att växla till bitcoin", + "Invalid": "Ogiltig", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "Välj dina föredragna betalningsmetoder för fiat. Snabba metoder rekommenderas.", + "Must be shorter than 65 characters": "Måste vara kortare än 65 tecken", + "Swap Destination(s)": "Byt destination(er)", + "Fiat Payment Method(s)": "Betalningmetod(er) med fiat", + "You can add any method": "Du kan lägga till vilken metod som helst", + "Add New": "Lägg till ny", + "Choose a Pricing Method": "Välj en prissättningsmetod", + "Relative": "Relativ", + "Let the price move with the market": "Låt priset följa marknaden", + "Premium over Market (%)": "Premium över marknaden (%)", + "Explicit": "Fast", + "Set a fix amount of satoshis": "Ange en fast summa sats", + "Satoshis": "Sats", + "Fixed price: ": "Fast pris: ", + "Order current rate:": "Aktuell kurs: ", + "Your order fixed exchange rate": "Din orders fasta växelkurs", + "Your order's current exchange rate. Rate will move with the market.": "Din orders nuvarande växelkurs. Kursen kommer att följa marknaden.", + "Let the taker chose an amount within the range": "Låt takern välja ett belopp inom detta spann", + "Enable Amount Range": "Aktivera beloppsspann", + "From": "Från", + "to": "till", + "Expiry Timers": "Förfallotimers", + "Public Duration (HH:mm)": "Publikt tidsspann (HH:mm)", + "Escrow Deposit Time-Out (HH:mm)": "Depositionstimeout (HH:mm)", + "Set the skin-in-the-game, increase for higher safety assurance": "Ange skin-in-the-game, öka för högre säkerhet", + "Fidelity Bond Size": "Storlek på fidelity bond", + "Allow bondless takers": "Allow bondless takers", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "KOMMER SNART - Hög risk! Begränsat till {{limitSats}}K sats", + "You must fill the order correctly": "Du måste fylla ordern korrekt", + "Create Order": "Skapa order", + "Back": "Tillbaka", + "Create an order for ": "Skapa en order för ", + "Create a BTC buy order for ": "Skapa en BTC-köporder för ", + "Create a BTC sell order for ": "Skapa en BTC-säljorder för ", + " of {{satoshis}} Satoshis": " för {{satoshis}} sats", + " at market price": " till marknadspris", + " at a {{premium}}% premium": " med en premium på {{premium}}%", + " at a {{discount}}% discount": " med en rabatt på {{discount}}%", + "Must be less than {{max}}%": "Måste vara mindre än {{max}}%", + "Must be more than {{min}}%": "Måste vara mer än {{min}}%", + "Must be less than {{maxSats}": "Måste vara mindre än {{maxSats}}", + "Must be more than {{minSats}}": "Måste vara mer än {{minSats}}", + "Store your robot token": "Spara din robottoken", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Du kan behöva återställa din robotavatar i framtiden; förvara den säkert. Du kan kopiera den till en annan applikation.", + "Done": "Klar", + "You do not have a robot avatar": "Du har ingen robotavatar", + "You need to generate a robot avatar in order to become an order maker": "Du måste generera en robotavatar för att kunna skapa ordrar", - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified": "Ej specificerat", - "Instant SEPA": "Instant SEPA", - "Amazon GiftCard": "Amazon-presentkort", - "Google Play Gift Code": "Google Play-presentkod", - "Cash F2F": "Kontanter F2F", - "On-Chain BTC": "On-Chain BTC", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "Ej specificerat", + "Instant SEPA": "Instant SEPA", + "Amazon GiftCard": "Amazon-presentkort", + "Google Play Gift Code": "Google Play-presentkod", + "Cash F2F": "Kontanter F2F", + "On-Chain BTC": "On-Chain BTC", - "BOOK PAGE - BookPage.js": "The Book Order page", - "Seller": "Säljare", - "Buyer": "Köpare", - "I want to": "Jag vill", - "Select Order Type": "Välj ordertyp", - "ANY_type": "ALLA", - "ANY_currency": "ALLA", - "BUY": "Köp", - "SELL": "Sälj", - "and receive": "och ta emot", - "and pay with": "och betala med", - "and use": "och använda", - "Select Payment Currency": "Välj betalningsvaluta", - "Robot": "Robot", - "Is": "Är", - "Currency": "Valuta", - "Payment Method": "Betalningsmetod", - "Pay": "Betala", - "Price": "Pris", - "Premium": "Premium", - "You are SELLING BTC for {{currencyCode}}": "Du SÄLJER BTC för {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}": "Du KÖPER BTC för {{currencyCode}}", - "You are looking at all": "Du kollar på alla ordrar", - "No orders found to sell BTC for {{currencyCode}}": "Inga ordrar funna att sälja BTC för {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}": "Inga ordrar funna att köpa BTC för {{currencyCode}}", - "Filter has no results": "Filtret har inga resultat", - "Be the first one to create an order": "Bli den första som skapar en order", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "Säljare", + "Buyer": "Köpare", + "I want to": "Jag vill", + "Select Order Type": "Välj ordertyp", + "ANY_type": "ALLA", + "ANY_currency": "ALLA", + "BUY": "Köp", + "SELL": "Sälj", + "and receive": "och ta emot", + "and pay with": "och betala med", + "and use": "och använda", + "Select Payment Currency": "Välj betalningsvaluta", + "Robot": "Robot", + "Is": "Är", + "Currency": "Valuta", + "Payment Method": "Betalningsmetod", + "Pay": "Betala", + "Price": "Pris", + "Premium": "Premium", + "You are SELLING BTC for {{currencyCode}}": "Du SÄLJER BTC för {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "Du KÖPER BTC för {{currencyCode}}", + "You are looking at all": "Du kollar på alla ordrar", + "No orders found to sell BTC for {{currencyCode}}": "Inga ordrar funna att sälja BTC för {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "Inga ordrar funna att köpa BTC för {{currencyCode}}", + "Filter has no results": "Filtret har inga resultat", + "Be the first one to create an order": "Bli den första som skapar en order", - "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds": "Statistik för nördar", - "LND version": "LND-version", - "Currently running commit hash": "Aktuell commithash", - "24h contracted volume": "24h kontrakterad volym", - "Lifetime contracted volume": "Total kontrakterad volym", - "Made with": "Skapad med", - "and": "och", - "... somewhere on Earth!": "... någonstans på jorden!", - "Community": "Community", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Support ges endast i publika kanaler. Gå med i vår Telegram-community om du har frågor eller bara vill hänga med andra coola robotar. Använd vår GitHub Issues om du hittar en bugg eller önskar nya funktioner!", - "Follow RoboSats in Twitter": "Följ RoboSats på Twitter", - "Twitter Official Account": "Officielt Twitterkonto", - "RoboSats Telegram Communities": "RoboSats Telegram-communities", - "Join RoboSats Spanish speaking community!": "Join RoboSats Spanish speaking community!", - "Join RoboSats Russian speaking community!": "Join RoboSats Russian speaking community!", - "Join RoboSats Chinese speaking community!": "Join RoboSats Chinese speaking community!", - "Join RoboSats English speaking community!": "Join RoboSats English speaking community!", - "Tell us about a new feature or a bug": "Tipsa om en bugg eller ny funktion", - "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis Open Source Project", - "Your Profile": "Din profil", - "Your robot": "Din robot", - "One active order #{{orderID}}": "En aktiv order #{{orderID}}", - "Your current order": "Din aktuella order", - "No active orders": "Inga aktiva ordrar", - "Your token (will not remain here)": "Din token (kommer ej finnas kvar här)", - "Back it up!": "Spara den!", - "Cannot remember": "Glömt bort", - "Rewards and compensations": "Belöningar och kompensation", - "Share to earn 100 Sats per trade": "Dela för att tjäna 100 sats per trade", - "Your referral link": "Din referrallänk", - "Your earned rewards": "Du fick belöningar", - "Claim": "Claim", - "Invoice for {{amountSats}} Sats": "Faktura för {{amountSats}} sats", - "Submit": "Skicka", - "There it goes, thank you!🥇": "Så där, tack! 🥇", - "You have an active order": "Du har en aktiv order", - "You can claim satoshis!": "Du kan claima sats!", - "Public Buy Orders": "Publika köpordrar", - "Public Sell Orders": "Publika säljordrar", - "Today Active Robots": "Aktiva robotar idag", - "24h Avg Premium": "24h genomsnittligt premium", - "Trade Fee": "Tradeavgift", - "Show community and support links": "Visa community- och supportlänkar", - "Show stats for nerds": "Visa statistik för nördar", - "Exchange Summary": "Sammanfattning", - "Public buy orders": "Publika köpordrar", - "Public sell orders": "Publika säljordrar", - "Book liquidity": "Orderbokslikviditet", - "Today active robots": "Aktiva robotar idag", - "24h non-KYC bitcoin premium": "24h non-KYC bitcoin premium", - "Maker fee": "Makeravgift", - "Taker fee": "Takeravgift", - "Number of public BUY orders": "Antal publika köpordrar", - "Number of public SELL orders": "Antal publika säljordrar", - "Your last order #{{orderID}}": "Din senaste order #{{orderID}}", - "Inactive order": "Inaktiv order", - "You do not have previous orders": "Du har inga tidigare ordrar", - "Join RoboSats' Subreddit": "Gå med i RoboSats subreddit", - "RoboSats in Reddit": "RoboSats på Reddit", - "Current onchain payout fee": "Aktuell utbetalningsavgift (on-chain)", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "Statistik för nördar", + "LND version": "LND-version", + "Currently running commit hash": "Aktuell commithash", + "24h contracted volume": "24h kontrakterad volym", + "Lifetime contracted volume": "Total kontrakterad volym", + "Made with": "Skapad med", + "and": "och", + "... somewhere on Earth!": "... någonstans på jorden!", + "Community": "Community", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "Support ges endast i publika kanaler. Gå med i vår Telegram-community om du har frågor eller bara vill hänga med andra coola robotar. Använd vår GitHub Issues om du hittar en bugg eller önskar nya funktioner!", + "Follow RoboSats in Twitter": "Följ RoboSats på Twitter", + "Twitter Official Account": "Officielt Twitterkonto", + "RoboSats Telegram Communities": "RoboSats Telegram-communities", + "Join RoboSats Spanish speaking community!": "Join RoboSats Spanish speaking community!", + "Join RoboSats Russian speaking community!": "Join RoboSats Russian speaking community!", + "Join RoboSats Chinese speaking community!": "Join RoboSats Chinese speaking community!", + "Join RoboSats English speaking community!": "Join RoboSats English speaking community!", + "Tell us about a new feature or a bug": "Tipsa om en bugg eller ny funktion", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis Open Source Project", + "Your Profile": "Din profil", + "Your robot": "Din robot", + "One active order #{{orderID}}": "En aktiv order #{{orderID}}", + "Your current order": "Din aktuella order", + "No active orders": "Inga aktiva ordrar", + "Your token (will not remain here)": "Din token (kommer ej finnas kvar här)", + "Back it up!": "Spara den!", + "Cannot remember": "Glömt bort", + "Rewards and compensations": "Belöningar och kompensation", + "Share to earn 100 Sats per trade": "Dela för att tjäna 100 sats per trade", + "Your referral link": "Din referrallänk", + "Your earned rewards": "Du fick belöningar", + "Claim": "Claim", + "Invoice for {{amountSats}} Sats": "Faktura för {{amountSats}} sats", + "Submit": "Skicka", + "There it goes, thank you!🥇": "Så där, tack! 🥇", + "You have an active order": "Du har en aktiv order", + "You can claim satoshis!": "Du kan claima sats!", + "Public Buy Orders": "Publika köpordrar", + "Public Sell Orders": "Publika säljordrar", + "Today Active Robots": "Aktiva robotar idag", + "24h Avg Premium": "24h genomsnittligt premium", + "Trade Fee": "Tradeavgift", + "Show community and support links": "Visa community- och supportlänkar", + "Show stats for nerds": "Visa statistik för nördar", + "Exchange Summary": "Sammanfattning", + "Public buy orders": "Publika köpordrar", + "Public sell orders": "Publika säljordrar", + "Book liquidity": "Orderbokslikviditet", + "Today active robots": "Aktiva robotar idag", + "24h non-KYC bitcoin premium": "24h non-KYC bitcoin premium", + "Maker fee": "Makeravgift", + "Taker fee": "Takeravgift", + "Number of public BUY orders": "Antal publika köpordrar", + "Number of public SELL orders": "Antal publika säljordrar", + "Your last order #{{orderID}}": "Din senaste order #{{orderID}}", + "Inactive order": "Inaktiv order", + "You do not have previous orders": "Du har inga tidigare ordrar", + "Join RoboSats' Subreddit": "Gå med i RoboSats subreddit", + "RoboSats in Reddit": "RoboSats på Reddit", + "Current onchain payout fee": "Aktuell utbetalningsavgift (on-chain)", - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box": "Orderbox", - "Contract": "Kontrakt", - "Active": "Aktiv", - "Seen recently": "Aktiv nyligen", - "Inactive": "Inaktiv", - "(Seller)": "(Säljare)", - "(Buyer)": "(Köpare)", - "Order maker": "Ordermaker", - "Order taker": "Ordertaker", - "Order Details": "Orderdetaljer", - "Order status": "Orderstatus", - "Waiting for maker bond": "Väntar på makerobligationen", - "Public": "Publik", - "Waiting for taker bond": "Väntar på takerobligationen", - "Cancelled": "Makulerad", - "Expired": "Förfallen", - "Waiting for trade collateral and buyer invoice": "Väntar på deposition och faktura från köparen", - "Waiting only for seller trade collateral": "Väntar på säljarens deposition", - "Waiting only for buyer invoice": "Väntar på köparens faktura", - "Sending fiat - In chatroom": "Skickar fiat - I chattrummet", - "Fiat sent - In chatroom": "Fiat skickat - I chattrummet", - "In dispute": "I dispyt", - "Collaboratively cancelled": "Makulerad av båda parter", - "Sending satoshis to buyer": "Skickar sats till köparen", - "Sucessful trade": "Lyckad trade", - "Failed lightning network routing": "Misslyckades med Lightning Network-routing", - "Wait for dispute resolution": "Vänta på dispytbeslut", - "Maker lost dispute": "Maker förlorade dispyten", - "Taker lost dispute": "Taker förlorade dispyten", - "Amount range": "Beloppsspann", - "Swap destination": "Byt destination", - "Accepted payment methods": "Accepterade betalningsmetoder", - "Others": "Andra", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%", - "Price and Premium": "Pris och premium", - "Amount of Satoshis": "Summa sats", - "Premium over market price": "Premium över marknadspris", - "Order ID": "Order-ID", - "Deposit timer": "Insättningstimer", - "Expires in": "Förfaller om", - "{{nickname}} is asking for a collaborative cancel": "{{nickname}} ber om att kollaborativt avsluta ordern", - "You asked for a collaborative cancellation": "Du bad om att kollaborativt avsluta ordern", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Fakturan förföll. Du publicerade inte ordern i tid. Skapa en ny order.", - "This order has been cancelled by the maker": "Denna order har avbrutits av makern", - "Invoice expired. You did not confirm taking the order in time.": "Fakturan förföll. Du tog inte ordern i tid.", - "Penalty lifted, good to go!": "Straff upphävt, bara att köra!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kan inte ta en order ännu! Vänta {{timeMin}}m {{timeSec}}s", - "Too low": "För lågt", - "Too high": "För högt", - "Enter amount of fiat to exchange for bitcoin": "Ange summa fiat att handla bitcoin för", - "Amount {{currencyCode}}": "Summa {{currencyCode}}", - "You must specify an amount first": "Du måste ange en summa först", - "Take Order": "Ta order", - "Wait until you can take an order": "Vänta tills du kan ta en order", - "Cancel the order?": "Makulera ordern?", - "If the order is cancelled now you will lose your bond.": "Om du avbryter ordern nu kommer du att förlora din obligation", - "Confirm Cancel": "Bekräfta makulering", - "The maker is away": "Makern är ej här", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Genom att ta denna order riskerar du att slösa din tid. Om makern inte går vidare i tid kommer du att kompenseras i sats med 50% av makerobligationen", - "Collaborative cancel the order?": "Makulera ordern kollaborativt?", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Depositionen har satts in. Ordern kan endast avbrytas om båda parterna går med på det.", - "Ask for Cancel": "Be om makulering", - "Cancel": "Makulera", - "Collaborative Cancel": "Makulera kollaborativt", - "Invalid Order Id": "Ej giltigt order-ID", - "You must have a robot avatar to see the order details": "Du måste ha en robotavatar för att se orderdetaljer", - "This order has been cancelled collaborativelly": "Denna order har blivit makulerad kollaborativt", - "This order is not available": "Denna order är inte tillgänglig", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Våra robotsatoshis som jobbar i varuhuset förstod dig inte. Skapa en Bug Issue på Github https://github.com/reckless-satoshi/robosats/issues", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Orderbox", + "Contract": "Kontrakt", + "Active": "Aktiv", + "Seen recently": "Aktiv nyligen", + "Inactive": "Inaktiv", + "(Seller)": "(Säljare)", + "(Buyer)": "(Köpare)", + "Order maker": "Ordermaker", + "Order taker": "Ordertaker", + "Order Details": "Orderdetaljer", + "Order status": "Orderstatus", + "Waiting for maker bond": "Väntar på makerobligationen", + "Public": "Publik", + "Waiting for taker bond": "Väntar på takerobligationen", + "Cancelled": "Makulerad", + "Expired": "Förfallen", + "Waiting for trade collateral and buyer invoice": "Väntar på deposition och faktura från köparen", + "Waiting only for seller trade collateral": "Väntar på säljarens deposition", + "Waiting only for buyer invoice": "Väntar på köparens faktura", + "Sending fiat - In chatroom": "Skickar fiat - I chattrummet", + "Fiat sent - In chatroom": "Fiat skickat - I chattrummet", + "In dispute": "I dispyt", + "Collaboratively cancelled": "Makulerad av båda parter", + "Sending satoshis to buyer": "Skickar sats till köparen", + "Sucessful trade": "Lyckad trade", + "Failed lightning network routing": "Misslyckades med Lightning Network-routing", + "Wait for dispute resolution": "Vänta på dispytbeslut", + "Maker lost dispute": "Maker förlorade dispyten", + "Taker lost dispute": "Taker förlorade dispyten", + "Amount range": "Beloppsspann", + "Swap destination": "Byt destination", + "Accepted payment methods": "Accepterade betalningsmetoder", + "Others": "Andra", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%", + "Price and Premium": "Pris och premium", + "Amount of Satoshis": "Summa sats", + "Premium over market price": "Premium över marknadspris", + "Order ID": "Order-ID", + "Deposit timer": "Insättningstimer", + "Expires in": "Förfaller om", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} ber om att kollaborativt avsluta ordern", + "You asked for a collaborative cancellation": "Du bad om att kollaborativt avsluta ordern", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Fakturan förföll. Du publicerade inte ordern i tid. Skapa en ny order.", + "This order has been cancelled by the maker": "Denna order har avbrutits av makern", + "Invoice expired. You did not confirm taking the order in time.": "Fakturan förföll. Du tog inte ordern i tid.", + "Penalty lifted, good to go!": "Straff upphävt, bara att köra!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kan inte ta en order ännu! Vänta {{timeMin}}m {{timeSec}}s", + "Too low": "För lågt", + "Too high": "För högt", + "Enter amount of fiat to exchange for bitcoin": "Ange summa fiat att handla bitcoin för", + "Amount {{currencyCode}}": "Summa {{currencyCode}}", + "You must specify an amount first": "Du måste ange en summa först", + "Take Order": "Ta order", + "Wait until you can take an order": "Vänta tills du kan ta en order", + "Cancel the order?": "Makulera ordern?", + "If the order is cancelled now you will lose your bond.": "Om du avbryter ordern nu kommer du att förlora din obligation", + "Confirm Cancel": "Bekräfta makulering", + "The maker is away": "Makern är ej här", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "Genom att ta denna order riskerar du att slösa din tid. Om makern inte går vidare i tid kommer du att kompenseras i sats med 50% av makerobligationen", + "Collaborative cancel the order?": "Makulera ordern kollaborativt?", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "Depositionen har satts in. Ordern kan endast avbrytas om båda parterna går med på det.", + "Ask for Cancel": "Be om makulering", + "Cancel": "Makulera", + "Collaborative Cancel": "Makulera kollaborativt", + "Invalid Order Id": "Ej giltigt order-ID", + "You must have a robot avatar to see the order details": "Du måste ha en robotavatar för att se orderdetaljer", + "This order has been cancelled collaborativelly": "Denna order har blivit makulerad kollaborativt", + "This order is not available": "Denna order är inte tillgänglig", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "Våra robotsatoshis som jobbar i varuhuset förstod dig inte. Skapa en Bug Issue på Github https://github.com/reckless-satoshi/robosats/issues", - "CHAT BOX - Chat.js": "Chat Box", - "You": "Du", - "Peer": "Peer", - "connected": "ansluten", - "disconnected": "ej ansluten", - "Type a message": "Skriv ett meddelande", - "Connecting...": "Ansluter...", - "Send": "Skicka", - "Verify your privacy": "Verifiera din integritet", - "Audit PGP": "Granska PGP", - "Save full log as a JSON file (messages and credentials)": "Spara hela loggen som en JSON-fil (meddelanden och uppgifter)", - "Export": "Exportera", - "Don't trust, verify": "Lita inte, verifiera", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Din kommunikation är är end-to-end-krypterad med OpenPGP. Du kan verifiera integriteten av denna chatt med verktyg som bygger på den öppna OpenPGP-standarden.", - "Learn how to verify": "Lär dig hur man verifierar", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Din publika PGP-nyckel. Din peer använder den för att kryptera meddelanden som endast du kan läsa.", - "Your public key": "Din publika nyckel", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "Din peers publika PGP-nyckel. Du använder den för att kryptera meddelanden som endast hen kan läsa, och för att verifiera inkommande meddelanden.", - "Peer public key": "Peer publik nyckel", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Din krypterade privata nyckel. Du använder den till att dekryptera de meddelanden som din peer har krypterat för dig. Du kan även använda den för att signera meddelanden som du skickar.", - "Your encrypted private key": "Din krypterade privata nyckel", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "Lösenordet för att dekryptera din privata nyckel, endast du kan det! Dela inte. Det är även din robottoken.", - "Your private key passphrase (keep secure!)": "Lösenordet till din privata nyckel (förvara säkert!)", - "Save credentials as a JSON file": "Spara uppgifter till en JSON-fil", - "Keys": "Nycklar", - "Save messages as a JSON file": "Spara meddelanden till en JSON-fil", - "Messages": "Meddelanden", - "Verified signature by {{nickname}}": "Verifierad signatur av {{nickname}}", - "Cannot verify signature of {{nickname}}": "Kan inte verifiera signatur av {{nickname}}", + "CHAT BOX - Chat.js": "Chat Box", + "You": "Du", + "Peer": "Peer", + "connected": "ansluten", + "disconnected": "ej ansluten", + "Type a message": "Skriv ett meddelande", + "Connecting...": "Ansluter...", + "Send": "Skicka", + "Verify your privacy": "Verifiera din integritet", + "Audit PGP": "Granska PGP", + "Save full log as a JSON file (messages and credentials)": "Spara hela loggen som en JSON-fil (meddelanden och uppgifter)", + "Export": "Exportera", + "Don't trust, verify": "Lita inte, verifiera", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "Din kommunikation är är end-to-end-krypterad med OpenPGP. Du kan verifiera integriteten av denna chatt med verktyg som bygger på den öppna OpenPGP-standarden.", + "Learn how to verify": "Lär dig hur man verifierar", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "Din publika PGP-nyckel. Din peer använder den för att kryptera meddelanden som endast du kan läsa.", + "Your public key": "Din publika nyckel", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "Din peers publika PGP-nyckel. Du använder den för att kryptera meddelanden som endast hen kan läsa, och för att verifiera inkommande meddelanden.", + "Peer public key": "Peer publik nyckel", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "Din krypterade privata nyckel. Du använder den till att dekryptera de meddelanden som din peer har krypterat för dig. Du kan även använda den för att signera meddelanden som du skickar.", + "Your encrypted private key": "Din krypterade privata nyckel", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "Lösenordet för att dekryptera din privata nyckel, endast du kan det! Dela inte. Det är även din robottoken.", + "Your private key passphrase (keep secure!)": "Lösenordet till din privata nyckel (förvara säkert!)", + "Save credentials as a JSON file": "Spara uppgifter till en JSON-fil", + "Keys": "Nycklar", + "Save messages as a JSON file": "Spara meddelanden till en JSON-fil", + "Messages": "Meddelanden", + "Verified signature by {{nickname}}": "Verifierad signatur av {{nickname}}", + "Cannot verify signature of {{nickname}}": "Kan inte verifiera signatur av {{nickname}}", - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box": "Kontraktbox", - "Robots show commitment to their peers": "Robotar visar commitment till sina peers", - "Lock {{amountSats}} Sats to PUBLISH order": "Lås {{amountSats}} sats för att publicera ordern", - "Lock {{amountSats}} Sats to TAKE order": "Lås {{amountSats}} sats för att ta ordern", - "Lock {{amountSats}} Sats as collateral": "Lås {{amountSats}} sats som deposition", - "Copy to clipboard": "Kopiera till urklipp", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Detta är en s.k. 'hold invoice'. Den kommer att frysas i din wallet, och debiteras endast om du avbryter ordern eller förlorar en dispyt.", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Detta är en s.k. 'hold invoice'. Den kommer att frysas i din wallet, och släpps till köparen när du har bekräftat att du mottagit '{{currencyCode}}.", - "Your maker bond is locked": "Din makerobligation är låst", - "Your taker bond is locked": "din takerobligation är låst", - "Your maker bond was settled": "Din makerobligation blev settled", - "Your taker bond was settled": "Din takerobligation blev settled", - "Your maker bond was unlocked": "Din makerobligation låstes upp", - "Your taker bond was unlocked": "Din takerobligation låstes upp", - "Your order is public": "Din order är publik", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Ha tålamod medan robotar kollar orderboken. Denna box kommer att plinga till 🔊 när en robot tar din order. Därefter har du {{deposit_timer_hours}}h {{deposit_timer_minutes}}m på dig att svara. Om du inte svarar riskerar du att förlora din obligation.", - "If the order expires untaken, your bond will return to you (no action needed).": "Om ordern förfaller utan att någon tar den kommer din obligation att retuneras till dig (utan handling från din sida)", - "Enable Telegram Notifications": "Aktivera Telegram-notiser", - "Enable TG Notifications": "Aktivera TG-notifikationer", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Du kommer att skickas till en konversation med RoboSats Telegram-bot. Öppna chatten och tryck Start. Notera att genom att aktivera Telegram-notiser så försämrar du möjligen din anonymitet.", - "Go back": "Gå tillbaka", - "Enable": "Aktivera", - "Telegram enabled": "Telegram aktiverat", - "Public orders for {{currencyCode}}": "Publika ordrar för {{currencyCode}}", - "Premium rank": "Premiumrank", - "Among public {{currencyCode}} orders (higher is cheaper)": "Bland publika {{currencyCode}} ordrar (högre är billigare)", - "A taker has been found!": "En taker har hittats!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Var god vänta på att takern låser sin obligation. Om den inte gör det i tid kommer ordern att göras publik igen.", - "Payout Lightning Invoice": "Lightning-faktura för utbetalning", - "Your info looks good!": "Din info ser bra ut!", - "We are waiting for the seller to lock the trade amount.": "Vi väntar på att säljaren ska låsa trade-beloppet.", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Häng kvar en sekund. Om säljaren inte gör sin insättning kommer du att få tillbaka din obligation automatiskt. Dessutom kommer du att få en kompensation (kolla belöningar i din profil).", - "The trade collateral is locked!": "Depositionen för denna trade är låst!", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Vi väntar på att köparen ska dela en lightning-faktura. När den gjort det kommer du att kunna dela betalningsinformation för fiat direkt över chatt.", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Häng kvar en sekund. Om köparen inte samarbetar kommer du att få tillbaka din deposition och obligation automatiskt. Dessutom kommer du att få en kompensation (kolla belöningar i din profil).", - "Confirm {{amount}} {{currencyCode}} sent": "Bekräfta {{amount}} {{currencyCode}} skickat", - "Confirm {{amount}} {{currencyCode}} received": "Bekräfta {{amount}} {{currencyCode}} mottaget", - "Open Dispute": "Öppna dispyt", - "The order has expired": "Ordern har förfallit", - "Chat with the buyer": "Chatt med köparen", - "Chat with the seller": "Chatt med säljaren", - "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Säg hej! Var hjälpsam och koncis. Förklara hur hen kan skicka {{amount}} {{currencyCode}} till dig.", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "Köparen har skickat fiat. Klicka på 'Bekräfta mottaget' när du har mottagit det.", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Säg hej! Be om betalningsinformation och tryck på 'Bekräfta skickat' så fort betalningen har skickats.", - "Wait for the seller to confirm he has received the payment.": "Vänta på att säljaren ska bekräfta att den mottagit betalningen.", - "Confirm you received {{amount}} {{currencyCode}}?": "Bekräfta att du mottagit {{amount}} {{currencyCode}}?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Om du bekräftar att du mottagit fiat kommer transaktionen att slutföras; depositionen med sats släpps då till köparen. Bekräfta endast efter att {{amount}} {{currencyCode}} har landat på ditt konto. Vidare, om du har mottagit {{currencyCode}} men inte bekräftar det, riskerar du att förlora din obligation.", - "Confirm": "Bekräfta", - "🎉Trade finished!🥳": "🎉Transaktion slutförd!🥳", - "rate_robosats": "Vad tycker du om 🤖<1>RoboSats⚡?", - "Thank you! RoboSats loves you too ❤️": "Tack! RoboSats älskar dig med ❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats blir bättre med mer likviditet och fler användare. Berätta om RoboSats för en Bitcoiner-vän!", - "Thank you for using Robosats!": "Tack för att du använder RoboSats!", - "let_us_know_hot_to_improve": "Tala om för oss hur plattformen kan förbättras (<1>Telegram / <3>Github)", - "Start Again": "Börja om", - "Attempting Lightning Payment": "Försöker utföra Lightning-betalning", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats försöker betala din lightning-faktura. Kom ihåg att lightning-noder måste vara online för att kunna mottaga betalningar.", - "Retrying!": "Testar igen!", - "Lightning Routing Failed": "Lightning-routing misslyckades", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Din faktura har förfallit eller så har fler än tre betalningsförsök gjorts. Dela en ny faktura.", - "Check the list of compatible wallets": "Lista med kompatibla wallets", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats kommer att försöka betala din faktura tre gånger med en minuts paus emellan. Om det forsätter att misslyckas kommer du att kunna dela en ny faktura. Kolla så att du har tillräckligt med ingående likviditet. Kom ihåg att lightning-noder måste vara online för att kunna mottaga betalningar.", - "Next attempt in": "Nästa försök om", - "Do you want to open a dispute?": "Vill du öppna en dispyt?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Personalen på RoboSats kommer att utvärdera de redogörelser och bevis som läggs fram. Du behöver bygga ett komplett fall eftersom personalen inte kan läsa chatten. Det är bäst att dela en tillfällig kontaktmetod tillsammans med din redogörelse. Depositionen av sats kommer att skickas till vinnaren av dispyten, medan förloraren förlorar obligationen.", - "Disagree": "Acceptera ej", - "Agree and open dispute": "Acceptera och öppna dispyt", - "A dispute has been opened": "En dispyt har öppnats", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Dela din redogörelse. Var tydlig och specifik angående vad som hände och lämna nödvändig bevisföring. Du MÅSTE lämna en tillfällig kontaktmetod: t.ex. burner-epost, XMPP eller Telegram-användarnamn, för att personalen ska kunna följa upp fallet. Dispyter löses baserat på bedömningar från riktiga robotar (aka människor), så var så hjälpsam som möjligt för att säkerställa ett rättvist utfall. Max 5000 tecken.", - "Submit dispute statement": "Skicka dispytredogörelse", - "We have received your statement": "Vi har tagit emot ditt påstående", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Vi väntar på redogörelsen från din motpart i transaktionen. Om du är osäker angående dispyten eller vill lämna mer information, kontakta robosats@protonmail.com.", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Spara informationen som krävs för att identifiera din order och dina betalningar: order-ID; betalningshashar för depositionen och obligationen (hittas från din lightning-wallet); exakt summa sats; och robotnamn. Du kommer att behöva identifiera dig själv som den användare som var involverad i denna transaktionen via epost (eller andra kontaktmetoder).", - "We have the statements": "Vi har följande redogörelser", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Båda redogörelserna har mottagits, vänta på att personalen ska lösa dispyten. Om du är osäker eller vill lägga till mer information, kontakta robosats@protonmail.com. Om du inte lämnade en kontaktmetod, eller är osäker på om du skrev den rätt, skriv till oss omedelbart.", - "You have won the dispute": "Du har vunnit dispyten", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Du kan göra anspråk på summan från dispytens uppgörelse (deposition och obligation) från din profil under belöningar. Om det finns något som personalen kan hjälpa dig med, tveka inte att kontakta robosats@protonmail.com (eller via din tillfälliga kontaktmetod).", - "You have lost the dispute": "Du har förlorat dispyten", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Du har tyvärr förlorat dispyten. Om du tycker att detta är ett misstag kan du kontakta robosats@protonmail.com. Chansen att fallet tas upp igen är dock liten.", - "Expired not taken": "Förfallen, ej tagen", - "Maker bond not locked": "Makerobligation ej låst", - "Escrow not locked": "Deposition ej låst", - "Invoice not submitted": "Faktura ej skickad", - "Neither escrow locked or invoice submitted": "Varken deposition eller faktura skickad", - "Renew Order": "Förnya order", - "Pause the public order": "Pausa den publika ordern", - "Your order is paused": "Din order är pausad", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Din publika order har blivit pausad. För tillfället kan den inte ses eller tas av andra robotar. Du kan välja att återuppta den när som helst.", - "Unpause Order": "Återuppta order", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Du riskerar att förlora obligationen om du inte låser depositionen. Total tid kvar är {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", - "See Compatible Wallets": "Se kompatibla wallets", - "Failure reason: ": "Felanledning: ", - "Payment isn't failed (yet)": "Betalningen har ej misslyckats (ännu)", - "There are more routes to try, but the payment timeout was exceeded.": "Det finns fler rutter att testa, men betalningens tidsbegränsning överskreds.", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Alla möjliga rutter testades och misslyckades (eller så fanns det inga rutter alls)", - "A non-recoverable error has occurred.": "Ett icke resversibelt fel inträffade.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Betalningsinformationen är felaktig (okänd hash, felaktigt belopp eller inkorrekt 'final CLTV delta').", - "Insufficient unlocked balance in RoboSats' node.": "Otillräcklig olåst balans i RoboSats nod.", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "Fakturan som delades har endast dyra ruttips, du använder en inkompatibel wallet (förmodligen Muun?). Kolla kompatibilitesguiden för wallets på wallets.robosats.com", - "The invoice provided has no explicit amount": "Fakturan som delades har inte ett explicit belopp specificerat", - "Does not look like a valid lightning invoice": "Ser inte ut som en giltig lightning-faktura", - "The invoice provided has already expired": "Den angivna fakturan har redan förfallit", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Kom ihåg att exportera chattloggen. Personalen kan komma att begära din exporterade chatttlogg i JSON-format för att kunna lösa diskrepanser. Det är ditt ansvar att lagra den.", - "Does not look like a valid address": "Ser inte ut som en giltig adress", - "This is not a bitcoin mainnet address": "Detta är inte en adress på Bitcoin-mainnet", - "This is not a bitcoin testnet address": "Detta är inte en adress på Bitcoin-testnet", - "Submit payout info for {{amountSats}} Sats": "Skicka utbetalningsinfo för {{amountSats}} sats", - "Submit a valid invoice for {{amountSats}} Satoshis.": "Skicka en giltig faktura för {{amountSats}} sats.", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "Innan du tillåts skicka {{amountFiat}} {{currencyCode}}, vill vi vara säkra på att du kan ta emot BTC.", - "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats kommer att genomföra en swap och skicka sats till din onchain-adress.", - "Swap fee": "Swap-avgift", - "Mining fee": "Miningavgift", - "Mining Fee": "Miningavgift", - "Final amount you will receive": "Slutgiltig belopp som du kommer att mottaga", - "Bitcoin Address": "Bitcoin-adress", - "Your TXID": "Ditt TXID", - "Lightning": "Lightning", - "Onchain": "Onchain", - "open_dispute": "För att öppna en dispyt behöver du vänta <1><1/>", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Kontraktbox", + "Robots show commitment to their peers": "Robotar visar commitment till sina peers", + "Lock {{amountSats}} Sats to PUBLISH order": "Lås {{amountSats}} sats för att publicera ordern", + "Lock {{amountSats}} Sats to TAKE order": "Lås {{amountSats}} sats för att ta ordern", + "Lock {{amountSats}} Sats as collateral": "Lås {{amountSats}} sats som deposition", + "Copy to clipboard": "Kopiera till urklipp", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "Detta är en s.k. 'hold invoice'. Den kommer att frysas i din wallet, och debiteras endast om du avbryter ordern eller förlorar en dispyt.", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "Detta är en s.k. 'hold invoice'. Den kommer att frysas i din wallet, och släpps till köparen när du har bekräftat att du mottagit '{{currencyCode}}.", + "Your maker bond is locked": "Din makerobligation är låst", + "Your taker bond is locked": "din takerobligation är låst", + "Your maker bond was settled": "Din makerobligation blev settled", + "Your taker bond was settled": "Din takerobligation blev settled", + "Your maker bond was unlocked": "Din makerobligation låstes upp", + "Your taker bond was unlocked": "Din takerobligation låstes upp", + "Your order is public": "Din order är publik", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "Ha tålamod medan robotar kollar orderboken. Denna box kommer att plinga till 🔊 när en robot tar din order. Därefter har du {{deposit_timer_hours}}h {{deposit_timer_minutes}}m på dig att svara. Om du inte svarar riskerar du att förlora din obligation.", + "If the order expires untaken, your bond will return to you (no action needed).": "Om ordern förfaller utan att någon tar den kommer din obligation att retuneras till dig (utan handling från din sida)", + "Enable Telegram Notifications": "Aktivera Telegram-notiser", + "Enable TG Notifications": "Aktivera TG-notifikationer", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "Du kommer att skickas till en konversation med RoboSats Telegram-bot. Öppna chatten och tryck Start. Notera att genom att aktivera Telegram-notiser så försämrar du möjligen din anonymitet.", + "Go back": "Gå tillbaka", + "Enable": "Aktivera", + "Telegram enabled": "Telegram aktiverat", + "Public orders for {{currencyCode}}": "Publika ordrar för {{currencyCode}}", + "Premium rank": "Premiumrank", + "Among public {{currencyCode}} orders (higher is cheaper)": "Bland publika {{currencyCode}} ordrar (högre är billigare)", + "A taker has been found!": "En taker har hittats!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "Var god vänta på att takern låser sin obligation. Om den inte gör det i tid kommer ordern att göras publik igen.", + "Payout Lightning Invoice": "Lightning-faktura för utbetalning", + "Your info looks good!": "Din info ser bra ut!", + "We are waiting for the seller to lock the trade amount.": "Vi väntar på att säljaren ska låsa trade-beloppet.", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Häng kvar en sekund. Om säljaren inte gör sin insättning kommer du att få tillbaka din obligation automatiskt. Dessutom kommer du att få en kompensation (kolla belöningar i din profil).", + "The trade collateral is locked!": "Depositionen för denna trade är låst!", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "Vi väntar på att köparen ska dela en lightning-faktura. När den gjort det kommer du att kunna dela betalningsinformation för fiat direkt över chatt.", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "Häng kvar en sekund. Om köparen inte samarbetar kommer du att få tillbaka din deposition och obligation automatiskt. Dessutom kommer du att få en kompensation (kolla belöningar i din profil).", + "Confirm {{amount}} {{currencyCode}} sent": "Bekräfta {{amount}} {{currencyCode}} skickat", + "Confirm {{amount}} {{currencyCode}} received": "Bekräfta {{amount}} {{currencyCode}} mottaget", + "Open Dispute": "Öppna dispyt", + "The order has expired": "Ordern har förfallit", + "Chat with the buyer": "Chatt med köparen", + "Chat with the seller": "Chatt med säljaren", + "Say hi! Be helpful and concise. Let them know how to send you {{amount}} {{currencyCode}}.": "Säg hej! Var hjälpsam och koncis. Förklara hur hen kan skicka {{amount}} {{currencyCode}} till dig.", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "Köparen har skickat fiat. Klicka på 'Bekräfta mottaget' när du har mottagit det.", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "Säg hej! Be om betalningsinformation och tryck på 'Bekräfta skickat' så fort betalningen har skickats.", + "Wait for the seller to confirm he has received the payment.": "Vänta på att säljaren ska bekräfta att den mottagit betalningen.", + "Confirm you received {{amount}} {{currencyCode}}?": "Bekräfta att du mottagit {{amount}} {{currencyCode}}?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "Om du bekräftar att du mottagit fiat kommer transaktionen att slutföras; depositionen med sats släpps då till köparen. Bekräfta endast efter att {{amount}} {{currencyCode}} har landat på ditt konto. Vidare, om du har mottagit {{currencyCode}} men inte bekräftar det, riskerar du att förlora din obligation.", + "Confirm": "Bekräfta", + "🎉Trade finished!🥳": "🎉Transaktion slutförd!🥳", + "rate_robosats": "Vad tycker du om 🤖<1>RoboSats⚡?", + "Thank you! RoboSats loves you too ❤️": "Tack! RoboSats älskar dig med ❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats blir bättre med mer likviditet och fler användare. Berätta om RoboSats för en Bitcoiner-vän!", + "Thank you for using Robosats!": "Tack för att du använder RoboSats!", + "let_us_know_hot_to_improve": "Tala om för oss hur plattformen kan förbättras (<1>Telegram / <3>Github)", + "Start Again": "Börja om", + "Attempting Lightning Payment": "Försöker utföra Lightning-betalning", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats försöker betala din lightning-faktura. Kom ihåg att lightning-noder måste vara online för att kunna mottaga betalningar.", + "Retrying!": "Testar igen!", + "Lightning Routing Failed": "Lightning-routing misslyckades", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Din faktura har förfallit eller så har fler än tre betalningsförsök gjorts. Dela en ny faktura.", + "Check the list of compatible wallets": "Lista med kompatibla wallets", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats kommer att försöka betala din faktura tre gånger med en minuts paus emellan. Om det forsätter att misslyckas kommer du att kunna dela en ny faktura. Kolla så att du har tillräckligt med ingående likviditet. Kom ihåg att lightning-noder måste vara online för att kunna mottaga betalningar.", + "Next attempt in": "Nästa försök om", + "Do you want to open a dispute?": "Vill du öppna en dispyt?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "Personalen på RoboSats kommer att utvärdera de redogörelser och bevis som läggs fram. Du behöver bygga ett komplett fall eftersom personalen inte kan läsa chatten. Det är bäst att dela en tillfällig kontaktmetod tillsammans med din redogörelse. Depositionen av sats kommer att skickas till vinnaren av dispyten, medan förloraren förlorar obligationen.", + "Disagree": "Acceptera ej", + "Agree and open dispute": "Acceptera och öppna dispyt", + "A dispute has been opened": "En dispyt har öppnats", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "Dela din redogörelse. Var tydlig och specifik angående vad som hände och lämna nödvändig bevisföring. Du MÅSTE lämna en tillfällig kontaktmetod: t.ex. burner-epost, XMPP eller Telegram-användarnamn, för att personalen ska kunna följa upp fallet. Dispyter löses baserat på bedömningar från riktiga robotar (aka människor), så var så hjälpsam som möjligt för att säkerställa ett rättvist utfall. Max 5000 tecken.", + "Submit dispute statement": "Skicka dispytredogörelse", + "We have received your statement": "Vi har tagit emot ditt påstående", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "Vi väntar på redogörelsen från din motpart i transaktionen. Om du är osäker angående dispyten eller vill lämna mer information, kontakta robosats@protonmail.com.", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "Spara informationen som krävs för att identifiera din order och dina betalningar: order-ID; betalningshashar för depositionen och obligationen (hittas från din lightning-wallet); exakt summa sats; och robotnamn. Du kommer att behöva identifiera dig själv som den användare som var involverad i denna transaktionen via epost (eller andra kontaktmetoder).", + "We have the statements": "Vi har följande redogörelser", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "Båda redogörelserna har mottagits, vänta på att personalen ska lösa dispyten. Om du är osäker eller vill lägga till mer information, kontakta robosats@protonmail.com. Om du inte lämnade en kontaktmetod, eller är osäker på om du skrev den rätt, skriv till oss omedelbart.", + "You have won the dispute": "Du har vunnit dispyten", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "Du kan göra anspråk på summan från dispytens uppgörelse (deposition och obligation) från din profil under belöningar. Om det finns något som personalen kan hjälpa dig med, tveka inte att kontakta robosats@protonmail.com (eller via din tillfälliga kontaktmetod).", + "You have lost the dispute": "Du har förlorat dispyten", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "Du har tyvärr förlorat dispyten. Om du tycker att detta är ett misstag kan du kontakta robosats@protonmail.com. Chansen att fallet tas upp igen är dock liten.", + "Expired not taken": "Förfallen, ej tagen", + "Maker bond not locked": "Makerobligation ej låst", + "Escrow not locked": "Deposition ej låst", + "Invoice not submitted": "Faktura ej skickad", + "Neither escrow locked or invoice submitted": "Varken deposition eller faktura skickad", + "Renew Order": "Förnya order", + "Pause the public order": "Pausa den publika ordern", + "Your order is paused": "Din order är pausad", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "Din publika order har blivit pausad. För tillfället kan den inte ses eller tas av andra robotar. Du kan välja att återuppta den när som helst.", + "Unpause Order": "Återuppta order", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "Du riskerar att förlora obligationen om du inte låser depositionen. Total tid kvar är {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.", + "See Compatible Wallets": "Se kompatibla wallets", + "Failure reason: ": "Felanledning: ", + "Payment isn't failed (yet)": "Betalningen har ej misslyckats (ännu)", + "There are more routes to try, but the payment timeout was exceeded.": "Det finns fler rutter att testa, men betalningens tidsbegränsning överskreds.", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "Alla möjliga rutter testades och misslyckades (eller så fanns det inga rutter alls)", + "A non-recoverable error has occurred.": "Ett icke resversibelt fel inträffade.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "Betalningsinformationen är felaktig (okänd hash, felaktigt belopp eller inkorrekt 'final CLTV delta').", + "Insufficient unlocked balance in RoboSats' node.": "Otillräcklig olåst balans i RoboSats nod.", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "Fakturan som delades har endast dyra ruttips, du använder en inkompatibel wallet (förmodligen Muun?). Kolla kompatibilitesguiden för wallets på wallets.robosats.com", + "The invoice provided has no explicit amount": "Fakturan som delades har inte ett explicit belopp specificerat", + "Does not look like a valid lightning invoice": "Ser inte ut som en giltig lightning-faktura", + "The invoice provided has already expired": "Den angivna fakturan har redan förfallit", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "Kom ihåg att exportera chattloggen. Personalen kan komma att begära din exporterade chatttlogg i JSON-format för att kunna lösa diskrepanser. Det är ditt ansvar att lagra den.", + "Does not look like a valid address": "Ser inte ut som en giltig adress", + "This is not a bitcoin mainnet address": "Detta är inte en adress på Bitcoin-mainnet", + "This is not a bitcoin testnet address": "Detta är inte en adress på Bitcoin-testnet", + "Submit payout info for {{amountSats}} Sats": "Skicka utbetalningsinfo för {{amountSats}} sats", + "Submit a valid invoice for {{amountSats}} Satoshis.": "Skicka en giltig faktura för {{amountSats}} sats.", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "Innan du tillåts skicka {{amountFiat}} {{currencyCode}}, vill vi vara säkra på att du kan ta emot BTC.", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats kommer att genomföra en swap och skicka sats till din onchain-adress.", + "Swap fee": "Swap-avgift", + "Mining fee": "Miningavgift", + "Mining Fee": "Miningavgift", + "Final amount you will receive": "Slutgiltig belopp som du kommer att mottaga", + "Bitcoin Address": "Bitcoin-adress", + "Your TXID": "Ditt TXID", + "Lightning": "Lightning", + "Onchain": "Onchain", + "open_dispute": "För att öppna en dispyt behöver du vänta <1><1/>", - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close": "Stäng", - "What is RoboSats?": "Vad är RoboSats?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Det är en BTC/FIAT peer-to-peer-handelsplattform över Lightning Network.", - "RoboSats is an open source project ": "RoboSats är ett projekt som är byggt på öppen källkod", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Det underlättar matchmaking och minimerar behovet av tillit. RoboSats fokuserar på anonymitet och snabbhet.", - "(GitHub).": "(GitHub).", - "How does it work?": "Hur fungerar det?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 vill sälja bitcoin. Hon skapar en säljorder. BafflingBob02 vill köpa bitcoin och han tar Alice order. Båda måste upprätta en liten obligation (genom att använda Lightning) för att bevisa att de är riktiga robotar. Sen sätter Alice in en deposition genom att använda en s.k. lightning 'hold invoice'. RoboSats låser fakturan tills att Alice bekräftar att hon har mottagit betalningen i fiat. Därefter släpps alla sats till Bob. Njut av dina sats, Bob!", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "Inte under något tillfälle behöver AnonymousAlice01 och BafflingBob02 anförtro sina bitcoin till den andra. Ifall det uppstår en konflikt kommer personalen på RoboSats att hjälpa till att klara upp dispyten.", - "You can find a step-by-step description of the trade pipeline in ": "Du kan hitta en steg-för-steg-beskrivning på hela transaktionsförfarandet här: ", - "How it works": "Hur det fungerar", - "You can also check the full guide in ": "Du kan även se hela guiden här: ", - "How to use": "How to use", - "What payment methods are accepted?": "Vilka betalningsmetoder är godkända?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Alla betalningsmetoder är godkända så länge de är snabba. Du kan lägga till din(a) föredragna betalningsmetod(er). Du kommer att behöva matcha med en peer som också accepterar den metoden. Steget där fiat ska skickas har en förfallotid på 24 timmar innan en dispyt automatiskt öppnas.", - "Are there trade limits?": "Finns det begränsningar för trades?", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Maximal storlek på en enstaka trade är {{maxAmount}} sats för att minimera risken för misslyckad lightning routing. Det finns ingen begränsning för antal trades per dag. En robot kan endast ha en trade igång samtidigt. Dock är det möjligt att ha flera robotar aktiva samtidigt i olika webbläsar (kom ihåg att spara dina robottokens!).", - "Is RoboSats private?": "Är RoboSats anonymt?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats kommer aldrig att be om ditt namn, land eller ID. RoboSats förvararar inte dina tillgångar och bryr sig inte om vem du är. RoboSats varken samlar in eller förvarar personuppgifter. Använd Tor Browser och den gömda .onion-tjänsten för bästa anonymitet.", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Din motpart i en trade är den enda som möjligen skulle kunna gissa något om dig. Håll dina chattkonversationer korta och koncisa. Undvik att dela icke-essentiell information annat än det som är strikt nödvändigt för att genomföra fiatbetalningen.", - "What are the risks?": "Vilka är riskerna?", - "This is an experimental application, things could go wrong. Trade small amounts!": "Detta är en experimentell applikation, saker kan gå fel. Handla med små belopp!", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Säljaren är utsatt för samma charge-back-risk som med alla andra peer-to-peer-tjänster. PayPal och kreditkort rekommenderas ej.", - "What is the trust model?": "Hur ser tillitsmodellen ut?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Köparen och säljaren behöver aldrig lita på varandra. En viss tillit till RoboSats behövs eftersom länkandet av säljarens faktura och köparens betalning ej är atomiska (ännu). Dessutom hanteras dispyter av RoboSats-personal.", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "För att vara helt tydlig: tillitskrav är minimerade. Dock finns det fortfarande ett sätt RoboSats skulle kunna springa iväg med dina sats: genom att inte släppa sats till köparen. Man kan argumentera för att det inte skulle vara i RoboSats intresse eftersom det skulle skada ryktet mycket för en så pass liten summa. Du bör dock vara vaksam och endast handla med små belopp i taget. Använd on-chain-tjänster så som Bisq för större belopp.", - "You can build more trust on RoboSats by inspecting the source code.": "Du kan få större förtroende för RoboSats genom att själv inspektera källkoden.", - "Project source code": "Projektets öppna källkod", - "What happens if RoboSats suddenly disappears?": "Vad händer om RoboSats plötsligt försvinner?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Dina sats kommer att retuneras till dig. Alla 'hold invoices' som inte settlats skulle automatiskt returneras även om RoboSats går ner för alltid. Detta är sant för både låsta obligation och depositioner. Det finns dock en liten lucka mellan att säljaren bekräftar att fiat mottagits och att köparen mottar sats, där medlen potentiellt skulle kunna försvinna permanent om RoboSats försvann. Detta fönster är ungefär en sekund långt. Se till att du har tillräckligt med ingående likviditet för att undvika routing-problem. Om du stöter på problem, skriv i någon av RoboSats publika kanaler.", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "I många länder kan användat av RoboSats likställas med Ebay eller Craigslist. Din lagstiftning kan variera. Det är ditt ansvar att följa din lagstiftning.", - "Is RoboSats legal in my country?": "Är RoboSats lagligt i mitt land?", - "Disclaimer": "Klausul", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Denna lightning-applikation förses som den är. Den är under aktiv utveckling: handla med stor försiktighet. Det finns ingen privat support. Support ges endast via publika kanaler ", - "(Telegram)": "(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats kommer aldrig att kontakta dig. RoboSats kommer definitivt aldrig att be om din robottoken." + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "Stäng", + "What is RoboSats?": "Vad är RoboSats?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "Det är en BTC/FIAT peer-to-peer-handelsplattform över Lightning Network.", + "RoboSats is an open source project ": "RoboSats är ett projekt som är byggt på öppen källkod", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "Det underlättar matchmaking och minimerar behovet av tillit. RoboSats fokuserar på anonymitet och snabbhet.", + "(GitHub).": "(GitHub).", + "How does it work?": "Hur fungerar det?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "AnonymousAlice01 vill sälja bitcoin. Hon skapar en säljorder. BafflingBob02 vill köpa bitcoin och han tar Alice order. Båda måste upprätta en liten obligation (genom att använda Lightning) för att bevisa att de är riktiga robotar. Sen sätter Alice in en deposition genom att använda en s.k. lightning 'hold invoice'. RoboSats låser fakturan tills att Alice bekräftar att hon har mottagit betalningen i fiat. Därefter släpps alla sats till Bob. Njut av dina sats, Bob!", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "Inte under något tillfälle behöver AnonymousAlice01 och BafflingBob02 anförtro sina bitcoin till den andra. Ifall det uppstår en konflikt kommer personalen på RoboSats att hjälpa till att klara upp dispyten.", + "You can find a step-by-step description of the trade pipeline in ": "Du kan hitta en steg-för-steg-beskrivning på hela transaktionsförfarandet här: ", + "How it works": "Hur det fungerar", + "You can also check the full guide in ": "Du kan även se hela guiden här: ", + "How to use": "How to use", + "What payment methods are accepted?": "Vilka betalningsmetoder är godkända?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has a expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "Alla betalningsmetoder är godkända så länge de är snabba. Du kan lägga till din(a) föredragna betalningsmetod(er). Du kommer att behöva matcha med en peer som också accepterar den metoden. Steget där fiat ska skickas har en förfallotid på 24 timmar innan en dispyt automatiskt öppnas.", + "Are there trade limits?": "Finns det begränsningar för trades?", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "Maximal storlek på en enstaka trade är {{maxAmount}} sats för att minimera risken för misslyckad lightning routing. Det finns ingen begränsning för antal trades per dag. En robot kan endast ha en trade igång samtidigt. Dock är det möjligt att ha flera robotar aktiva samtidigt i olika webbläsar (kom ihåg att spara dina robottokens!).", + "Is RoboSats private?": "Är RoboSats anonymt?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats kommer aldrig att be om ditt namn, land eller ID. RoboSats förvararar inte dina tillgångar och bryr sig inte om vem du är. RoboSats varken samlar in eller förvarar personuppgifter. Använd Tor Browser och den gömda .onion-tjänsten för bästa anonymitet.", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "Din motpart i en trade är den enda som möjligen skulle kunna gissa något om dig. Håll dina chattkonversationer korta och koncisa. Undvik att dela icke-essentiell information annat än det som är strikt nödvändigt för att genomföra fiatbetalningen.", + "What are the risks?": "Vilka är riskerna?", + "This is an experimental application, things could go wrong. Trade small amounts!": "Detta är en experimentell applikation, saker kan gå fel. Handla med små belopp!", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "Säljaren är utsatt för samma charge-back-risk som med alla andra peer-to-peer-tjänster. PayPal och kreditkort rekommenderas ej.", + "What is the trust model?": "Hur ser tillitsmodellen ut?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "Köparen och säljaren behöver aldrig lita på varandra. En viss tillit till RoboSats behövs eftersom länkandet av säljarens faktura och köparens betalning ej är atomiska (ännu). Dessutom hanteras dispyter av RoboSats-personal.", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "För att vara helt tydlig: tillitskrav är minimerade. Dock finns det fortfarande ett sätt RoboSats skulle kunna springa iväg med dina sats: genom att inte släppa sats till köparen. Man kan argumentera för att det inte skulle vara i RoboSats intresse eftersom det skulle skada ryktet mycket för en så pass liten summa. Du bör dock vara vaksam och endast handla med små belopp i taget. Använd on-chain-tjänster så som Bisq för större belopp.", + "You can build more trust on RoboSats by inspecting the source code.": "Du kan få större förtroende för RoboSats genom att själv inspektera källkoden.", + "Project source code": "Projektets öppna källkod", + "What happens if RoboSats suddenly disappears?": "Vad händer om RoboSats plötsligt försvinner?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "Dina sats kommer att retuneras till dig. Alla 'hold invoices' som inte settlats skulle automatiskt returneras även om RoboSats går ner för alltid. Detta är sant för både låsta obligation och depositioner. Det finns dock en liten lucka mellan att säljaren bekräftar att fiat mottagits och att köparen mottar sats, där medlen potentiellt skulle kunna försvinna permanent om RoboSats försvann. Detta fönster är ungefär en sekund långt. Se till att du har tillräckligt med ingående likviditet för att undvika routing-problem. Om du stöter på problem, skriv i någon av RoboSats publika kanaler.", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "I många länder kan användat av RoboSats likställas med Ebay eller Craigslist. Din lagstiftning kan variera. Det är ditt ansvar att följa din lagstiftning.", + "Is RoboSats legal in my country?": "Är RoboSats lagligt i mitt land?", + "Disclaimer": "Klausul", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "Denna lightning-applikation förses som den är. Den är under aktiv utveckling: handla med stor försiktighet. Det finns ingen privat support. Support ges endast via publika kanaler ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats kommer aldrig att kontakta dig. RoboSats kommer definitivt aldrig att be om din robottoken." } diff --git a/frontend/static/locales/th.json b/frontend/static/locales/th.json index 4566e2a33..16411936a 100644 --- a/frontend/static/locales/th.json +++ b/frontend/static/locales/th.json @@ -1,521 +1,514 @@ { - "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", - "You are not using RoboSats privately": "ระวัง! ข้อมูลส่วนตัวอาจรั่วไหล", - "desktop_unsafe_alert": "ฟีเจอร์บางอย่างถูกระงับเพื่อปกปิดตัวตนของคุณ (เช่น การแชท) และคุณไม่สามารถทำการซื้อขายบิตคอยน์ได้ หากต้องการใช้งานทุกฟีเจอร์ของ RoboSats อย่างปลอดภัย กรุณาติดตั้ง <1>Tor Browser และใช้งานผ่านเว็บไซต์ <3>Onion", - "phone_unsafe_alert": "คุณไม่สามารถซื้อขายได้ กรุณาใช้ <1>Tor Browser และใช้งานผ่านเว็บไซต์ <3>Onion", - "Hide":"ซ่อน", - "You are self-hosting RoboSats":"คูณกำลัง host RoboSats เอง", - "RoboSats is served from your own node granting you the strongest security and privacy.":"คุณกำลังใช้งาน RoboSats บน node ของคุณ ทำให้คุณได้รับความปลอดภัยและความเป็นส่วนตัวมากขึ้น", + "UNSAFE ALERT - UnsafeAlert.js": "Alert that shows on top when browsing from the unsafe clearnet sites", + "You are not using RoboSats privately": "ระวัง! ข้อมูลส่วนตัวอาจรั่วไหล", + "desktop_unsafe_alert": "ฟีเจอร์บางอย่างถูกระงับเพื่อปกปิดตัวตนของคุณ (เช่น การแชท) และคุณไม่สามารถทำการซื้อขายบิตคอยน์ได้ หากต้องการใช้งานทุกฟีเจอร์ของ RoboSats อย่างปลอดภัย กรุณาติดตั้ง <1>Tor Browser และใช้งานผ่านเว็บไซต์ <3>Onion", + "phone_unsafe_alert": "คุณไม่สามารถซื้อขายได้ กรุณาใช้ <1>Tor Browser และใช้งานผ่านเว็บไซต์ <3>Onion", + "Hide": "ซ่อน", + "You are self-hosting RoboSats": "คูณกำลัง host RoboSats เอง", + "RoboSats is served from your own node granting you the strongest security and privacy.": "คุณกำลังใช้งาน RoboSats บน node ของคุณ ทำให้คุณได้รับความปลอดภัยและความเป็นส่วนตัวมากขึ้น", + "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", + "Simple and Private LN P2P Exchange": "Simple and Private LN P2P Exchange", + "This is your trading avatar": "โรบอทสำหรับซื้อขาย", + "Store your token safely": "รักษา token ของคุณไว้ให้ดี", + "A robot avatar was found, welcome back!": "พบโรบอทของท่านแล้ว ยินดีต้อนรับอีกครั้ง!", + "Copied!": "คัดลอกแล้ว!", + "Generate a new token": "สร้าง token ใหม่", + "Generate Robot": "สร้างโรบอทใหม่", + "You must enter a new token first": "คุณต้องป้อนค่า token ก่อน", + "Make Order": "สร้างรายการซื้อขาย", + "Info": "ข้อมูล", + "View Book": "ดูรายการ", + "Learn RoboSats": "เรียนรู้การใช้งาน", + "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.": "คุณกำลังเข้าสู่หน้าการเรียนรู้การใช้งาน RoboSats คุณสามารถศึกษาวิธีการใช้งานแพล้ตฟอร์มและทำความเข้าใจการทำงานของแพล้ตฟอร์มได้ที่นี่", + "Let's go!": "ไปกันเถอะ!", + "Save token and PGP credentials to file": "บันทึก token และการรับรอง PGP ไปที่ไฟล์", - "USER GENERATION PAGE - UserGenPage.js": "Landing Page and User Generation", - "Simple and Private LN P2P Exchange": "Simple and Private LN P2P Exchange", - "This is your trading avatar":"โรบอทสำหรับซื้อขาย", - "Store your token safely":"รักษา token ของคุณไว้ให้ดี", - "A robot avatar was found, welcome back!":"พบโรบอทของท่านแล้ว ยินดีต้อนรับอีกครั้ง!", - "Copied!":"คัดลอกแล้ว!", - "Generate a new token":"สร้าง token ใหม่", - "Generate Robot":"สร้างโรบอทใหม่", - "You must enter a new token first":"คุณต้องป้อนค่า token ก่อน", - "Make Order":"สร้างรายการซื้อขาย", - "Info":"ข้อมูล", - "View Book":"ดูรายการ", - "Learn RoboSats":"เรียนรู้การใช้งาน", - "You are about to visit Learn RoboSats. It hosts tutorials and documentation to help you learn how to use RoboSats and understand how it works.":"คุณกำลังเข้าสู่หน้าการเรียนรู้การใช้งาน RoboSats คุณสามารถศึกษาวิธีการใช้งานแพล้ตฟอร์มและทำความเข้าใจการทำงานของแพล้ตฟอร์มได้ที่นี่", - "Let's go!":"ไปกันเถอะ!", - "Save token and PGP credentials to file":"บันทึก token และการรับรอง PGP ไปที่ไฟล์", + "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", + "Order": "รายการซื้อขาย", + "Customize": "ปรับแต่ง", + "Buy or Sell Bitcoin?": "คุณต้องการซื้อหรือขาย BTC?", + "Buy": "ซื้อ", + "Sell": "ขาย", + "Amount": "จำนวน", + "Amount of fiat to exchange for bitcoin": "ระบุจำนวนเงินเฟียตที่ต้องการใช้แลกเปลี่ยนกับ BTC", + "Invalid": "ไม่ถูกต้อง", + "Enter your preferred fiat payment methods. Fast methods are highly recommended.": "ระบุวิธีการชำระเงินเฟียตที่คุณต้องการใช้ (ควรใช้วิธีที่มีความรวดเร็ว)", + "Must be shorter than 65 characters": "ต้องสั้นกว่า 65 ตัวอักษร", + "Swap Destination(s)": "Swap Destination(s)", + "Fiat Payment Method(s)": "วิธีการชำระเงินเฟียต", + "You can add any method": "คุณสามารถเพิ่มวิธีการอื่นๆได้", + "Add New": "เพิ่มวิธีการ", + "Choose a Pricing Method": "เลือกวิธีการตั้งราคา", + "Relative": "ตั้งตามราคาตลาด", + "Let the price move with the market": "ตั้งราคาให้มีการเปลี่ยนแปลงตามราคาเหรียญในตลาด", + "Premium over Market (%)": "ค่าพรีเมี่ยมจากท้องตลาด (%)", + "Explicit": "ราคาคงที่", + "Set a fix amount of satoshis": "กำหนดจำนวน satoshis ที่ต้องการซื้อขาย", + "Satoshis": "Satoshis", + "Fixed price:": "ราคาคงที่:", + "Order current rate:": "ราคาที่คุณกำหนด:", + "Your order fixed exchange rate": "คุณกำหนดอัตราแลกเปลี่ยนคงที่", + "Your order's current exchange rate. Rate will move with the market.": "อัตราแลกเปลี่ยนสำหรับรายการซื้อขายนี้ ซึ่งจะเปลี่ยนแปลงตามราคาตลาด", + "Let the taker chose an amount within the range": "ให้คู่ค้าเลือกปริมาณที่ต้องการซื้อขายในช่วงที่เรากำหนด", + "Enable Amount Range": "กำหนดเป็นช่วง", + "From": "ตั้งแต่", + "to": "ถึง", + "Expiry Timers": "การจำกัดระยะเวลาซื้อขาย", + "Public Duration (HH:mm)": "ประกาศรายการซื้อขายมีอายุ (ชม:นาที)", + "Escrow Deposit Time-Out (HH:mm)": "ผู้ขายต้องวางเหรียญภายใน (ชม:นาที)", + "Set the skin-in-the-game, increase for higher safety assurance": "การวางหลักประกันเยอะขึ้นจะช่วยลดแรงจูงใจของคนที่คิดจะโกง", + "Fidelity Bond Size": "วงเงินหลักประกันความเสียหาย (bond)", + "Allow bondless takers": "ซื้อขายโดยไม่วางหลักประกัน", + "COMING SOON - High risk! Limited to {{limitSats}}K Sats": "ใช้ได้เร็วๆนี้ - เสี่ยงมาก! เทรดได้ครั้งละไม่เกิน {{limitSats}}K Sats", + "You must fill the order correctly": "กรุณาระบุข้อมูลให้ครบถ้วน", + "Create Order": "สร้างรายการซื้อขาย", + "Back": "กลับ", + "Create an order for ": "สร้างรายการสำหรับ ", + "Create a BTC buy order for ": "สร้างรายการซื้อ BTC ด้วยเงินจำนวน ", + "Create a BTC sell order for ": "สร้างรายการซื้อ BTC ด้วยเงินจำนวน ", + " of {{satoshis}} Satoshis": " เป็น Satoshis จำนวน {{satoshis}} Sats", + " at market price": " ที่ราคาตลาด", + " at a {{premium}}% premium": " ในราคาแพงกว่าตลาด {{premium}}% ", + " at a {{discount}}% discount": " ในราคาถูกกว่าตลาด {{discount}}% ", + "Must be less than {{max}}%": "ต้องน้อยกว่า {{max}}%", + "Must be more than {{min}}%": "ต้องมากกว่า {{min}}%", + "Must be less than {{maxSats}": "ต้องน้อยกว่า {{maxSats}}", + "Must be more than {{minSats}}": "ต้องมากกว่า {{minSats}}", + "Store your robot token": "เก็บรักษา token โรบอทของคุณ", + "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "คุณอาจต้องใช้โรบอทอีกในอนาคตจึงควรเก็บรักษามันไว้ให้ดี คุณสามารถคัดลอกมันไปเก็บไว้ในแอพพลิเคชั่นอื่นๆได้อย่างง่ายดาย", + "Done": "เสร็จสิ้น", + "You do not have a robot avatar": "คุณไม่มีโรบอท", + "You need to generate a robot avatar in order to become an order maker": "คุณต้องมีโรบอทก่อนจึงจะสามารถสร้างรายการซื้อขายได้", - - - "MAKER PAGE - MakerPage.js": "This is the page where users can create new orders", - "Order":"รายการซื้อขาย", - "Customize":"ปรับแต่ง", - "Buy or Sell Bitcoin?":"คุณต้องการซื้อหรือขาย BTC?", - "Buy":"ซื้อ", - "Sell":"ขาย", - "Amount":"จำนวน", - "Amount of fiat to exchange for bitcoin":"ระบุจำนวนเงินเฟียตที่ต้องการใช้แลกเปลี่ยนกับ BTC", - "Invalid":"ไม่ถูกต้อง", - "Enter your preferred fiat payment methods. Fast methods are highly recommended.":"ระบุวิธีการชำระเงินเฟียตที่คุณต้องการใช้ (ควรใช้วิธีที่มีความรวดเร็ว)", - "Must be shorter than 65 characters":"ต้องสั้นกว่า 65 ตัวอักษร", - "Swap Destination(s)":"Swap Destination(s)", - "Fiat Payment Method(s)":"วิธีการชำระเงินเฟียต", - "You can add any method":"คุณสามารถเพิ่มวิธีการอื่นๆได้", - "Add New":"เพิ่มวิธีการ", - "Choose a Pricing Method":"เลือกวิธีการตั้งราคา", - "Relative":"ตั้งตามราคาตลาด", - "Let the price move with the market":"ตั้งราคาให้มีการเปลี่ยนแปลงตามราคาเหรียญในตลาด", - "Premium over Market (%)":"ค่าพรีเมี่ยมจากท้องตลาด (%)", - "Explicit":"ราคาคงที่", - "Set a fix amount of satoshis":"กำหนดจำนวน satoshis ที่ต้องการซื้อขาย", - "Satoshis":"Satoshis", - "Fixed price:":"ราคาคงที่:", - "Order current rate:":"ราคาที่คุณกำหนด:", - "Your order fixed exchange rate":"คุณกำหนดอัตราแลกเปลี่ยนคงที่", - "Your order's current exchange rate. Rate will move with the market.":"อัตราแลกเปลี่ยนสำหรับรายการซื้อขายนี้ ซึ่งจะเปลี่ยนแปลงตามราคาตลาด", - "Let the taker chose an amount within the range":"ให้คู่ค้าเลือกปริมาณที่ต้องการซื้อขายในช่วงที่เรากำหนด", - "Enable Amount Range":"กำหนดเป็นช่วง", - "From": "ตั้งแต่", - "to":"ถึง", - "Expiry Timers":"การจำกัดระยะเวลาซื้อขาย", - "Public Duration (HH:mm)":"ประกาศรายการซื้อขายมีอายุ (ชม:นาที)", - "Escrow Deposit Time-Out (HH:mm)":"ผู้ขายต้องวางเหรียญภายใน (ชม:นาที)", - "Set the skin-in-the-game, increase for higher safety assurance":"การวางหลักประกันเยอะขึ้นจะช่วยลดแรงจูงใจของคนที่คิดจะโกง", - "Fidelity Bond Size":"วงเงินหลักประกันความเสียหาย (bond)", - "Allow bondless takers":"ซื้อขายโดยไม่วางหลักประกัน", - "COMING SOON - High risk! Limited to {{limitSats}}K Sats":"ใช้ได้เร็วๆนี้ - เสี่ยงมาก! เทรดได้ครั้งละไม่เกิน {{limitSats}}K Sats", - "You must fill the order correctly":"กรุณาระบุข้อมูลให้ครบถ้วน", - "Create Order":"สร้างรายการซื้อขาย", - "Back":"กลับ", - "Create an order for ":"สร้างรายการสำหรับ ", - "Create a BTC buy order for ":"สร้างรายการซื้อ BTC ด้วยเงินจำนวน ", - "Create a BTC sell order for ":"สร้างรายการซื้อ BTC ด้วยเงินจำนวน ", - " of {{satoshis}} Satoshis":" เป็น Satoshis จำนวน {{satoshis}} Sats", - " at market price":" ที่ราคาตลาด", - " at a {{premium}}% premium":" ในราคาแพงกว่าตลาด {{premium}}% ", - " at a {{discount}}% discount":" ในราคาถูกกว่าตลาด {{discount}}% ", - "Must be less than {{max}}%":"ต้องน้อยกว่า {{max}}%", - "Must be more than {{min}}%":"ต้องมากกว่า {{min}}%", - "Must be less than {{maxSats}": "ต้องน้อยกว่า {{maxSats}}", - "Must be more than {{minSats}}": "ต้องมากกว่า {{minSats}}", - "Store your robot token":"เก็บรักษา token โรบอทของคุณ", - "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.":"คุณอาจต้องใช้โรบอทอีกในอนาคตจึงควรเก็บรักษามันไว้ให้ดี คุณสามารถคัดลอกมันไปเก็บไว้ในแอพพลิเคชั่นอื่นๆได้อย่างง่ายดาย", - "Done":"เสร็จสิ้น", - "You do not have a robot avatar":"คุณไม่มีโรบอท", - "You need to generate a robot avatar in order to become an order maker":"คุณต้องมีโรบอทก่อนจึงจะสามารถสร้างรายการซื้อขายได้", + "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", + "not specified": "ไม่ระบุ", + "Instant SEPA": "Instant SEPA", + "Amazon GiftCard": "Amazon GiftCard", + "Google Play Gift Code": "Google Play Gift Code", + "Cash F2F": "เงินสด (นัดพบ)", + "On-Chain BTC": "On-Chain BTC", - - "PAYMENT METHODS - autocompletePayments.js": "Payment method strings", - "not specified":"ไม่ระบุ", - "Instant SEPA":"Instant SEPA", - "Amazon GiftCard":"Amazon GiftCard", - "Google Play Gift Code":"Google Play Gift Code", - "Cash F2F":"เงินสด (นัดพบ)", - "On-Chain BTC":"On-Chain BTC", + "BOOK PAGE - BookPage.js": "The Book Order page", + "Seller": "ผู้ขาย", + "Buyer": "ผู้ซื้อ", + "I want to": "ฉันต้องการ", + "Select Order Type": "เลือกชนิดรายการ", + "ANY_type": "ANY", + "ANY_currency": "ANY", + "BUY": "ซื้อ", + "SELL": "ขาย", + "and receive": "และรับเงินเป็น", + "and pay with": "และชำระด้วย", + "and use": "และใช้", + "Select Payment Currency": "เลือกสกุลเงิน", + "Robot": "โรบอท", + "Is": "เป็น", + "Currency": "สกุลเงิน", + "Payment Method": "วิธีการชำระเงิน", + "Pay": "จ่าย", + "Price": "ราคา", + "Premium": "พรีเมี่ยม", + "You are SELLING BTC for {{currencyCode}}": "คุณกำลังขาย BTC เป็นเงิน {{currencyCode}}", + "You are BUYING BTC for {{currencyCode}}": "คุณกำลังซื้อ BTC ด้วยเงิน {{currencyCode}}", + "You are looking at all": "คุณกำลังดูรายการทั้งหมด", + "No orders found to sell BTC for {{currencyCode}}": "ไม่มีรายการขาย BTC เป็นเงิน {{currencyCode}}", + "No orders found to buy BTC for {{currencyCode}}": "ไม่มีรายการซื้อ BTC เป็นเงิน {{currencyCode}}", + "Filter has no results": "ตัวกรองไม่พบผลลัพธ์", + "Be the first one to create an order": "มาเป็นคนสร้างรายการซื้อขายคนแรก", + "Orders per page:": "รายการต่อหน้า:", + "No rows": "ไม่มีแถว", + "No results found.": "ไม่พบผลลัพธ์", + "An error occurred.": "เกิดความผิดพลาด", + "Columns": "คอลัมน์", + "Select columns": "เลือกคอลัมน์", + "Find column": "ค้นหาคอลัมน์", + "Column title": "ชื่อคอลัมน์", + "Reorder column": "จัดเรียงคอลัมน์ใหม่", + "Show all": "แสดงทั้งหมด", + "Hide all": "ซ่อนทั้งหมด", + "Add filter": "เพิ่มตัวกรอง", + "Delete": "ลบ", + "Logic operator": "ตัวดำเนินการ", + "Operator": "ตัวดำเนินการ", + "And": "และ", + "Or": "หรือ", + "Value": "ค่า", + "Filter value": "กรองค่า", + "contains": "มีเป็นองค์ประกอบ", + "equals": "เท่ากับ", + "starts with": "เริ่มต้นด้วย", + "ends with": "ลงท้ายด้วย", + "is": "เป็น", + "is not": "ไม่ใช่", + "is after": "is after", + "is on or after": "is on or after", + "is before": "is before", + "is on or before": "is on or before", + "is empty": "ว่างเปล่า", + "is not empty": "ไม่ว่างเปล่า", + "is any of": "เป็นอะไรก็ได้ของ", + "any": "ทั้งหมด", + "true": "จริง", + "false": "เท็จ", + "Menu": "รายการเลือก", + "Show columns": "แสดงแถว", + "Filter": "ตัวกรอง", + "Unsort": "เลิกจัดเรียง", + "Sort by ASC": "เรียงจากล่างขึ้นบน", + "Sort by DESC": "เรียงจากบนลงล่าง", + "Sort": "จัดเรียง", + "Show filters": "แสดงตัวกรอง", + "yes": "ใช่", + "no": "ไม่ใช่", + "BOTTOM BAR AND MISC - BottomBar.js": "Bottom Bar user profile and miscellaneous dialogs", + "Stats For Nerds": "สถิติสำหรับผู้สนใจ", + "LND version": "LND version", + "Currently running commit hash": "Currently running commit hash", + "24h contracted volume": "24h ปริมาณการซื้อขาย 24 ชั่วโมงที่แล้ว", + "Lifetime contracted volume": "ปริมาณการซื้อขายตั้งแต่ก่อตั้งแพล้ตฟอร์ม", + "Made with": "สร้างด้วย", + "and": "และ", + "... somewhere on Earth!": "... ซักที่ บนโลกใบนี้!", + "Community": "ชุมชน", + "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!": "สามารถขอความช่วยเหลือผ่านช่องทางสาธารณะเท่านั้น เข้าร่วมกลุ่ม Telegram ถ้าคุณมีคำถามหรือต้องการมาสนุกกับชาวโรโบสุดเจ๋งคนอื่นๆ กรุณาใช้ช่องทาง Github Issues ในการแจ้งบัคหรือกรณีอยากเสนอเพิ่มฟีเจอร์ใหม่ๆ!", + "Follow RoboSats in Twitter": "ติดตาม RoboSats บน Twitter", + "Twitter Official Account": "Twitter Official Account", + "RoboSats Telegram Communities": "ชุมชน RoboSats Telegram", + "Join RoboSats Spanish speaking community!": "Join RoboSats Spanish speaking community!", + "Join RoboSats Russian speaking community!": "Join RoboSats Russian speaking community!", + "Join RoboSats Chinese speaking community!": "Join RoboSats Chinese speaking community!", + "Join RoboSats English speaking community!": "Join RoboSats English speaking community!", + "Tell us about a new feature or a bug": "บอกเราเกี่ยวกับฟีเจอร์ใหม่หรือบัค", + "Github Issues - The Robotic Satoshis Open Source Project": "Github Issues - The Robotic Satoshis Open Source Project", + "Your Profile": "โปรไฟล์ของคุณ", + "Your robot": "โรบอทของคุณ", + "One active order #{{orderID}}": "มี 1 รายการที่กำลังดำเนินการอยู่ #{{orderID}}", + "Your current order": "รายการปัจจุบันของคุณ", + "No active orders": "ไม่มีรายการที่กำลังดำเนินการอยู่", + "Your token (will not remain here)": "token ของคุณ (แพล้ตฟอร์มไม่ได้บันทึกให้คุณ)", + "Back it up!": "อย่าลืมบันทึก!", + "Cannot remember": "จำไม่ได้", + "Rewards and compensations": "รางวัลที่ได้รับ", + "Share to earn 100 Sats per trade": "Share เพื่อรับ 100 Sats ต่อการซื้อขาย", + "Your referral link": "ลิ้งค์ referral ของคุณ", + "Your earned rewards": "รางวัลที่ตุณได้รับ", + "Claim": "รับรางวัล", + "Invoice for {{amountSats}} Sats": "Invoice สำหรับ {{amountSats}} Sats", + "Submit": "ส่งข้อมูล", + "There it goes, thank you!🥇": "เอาไปเลย ขอบคุณมาก!🥇", + "You have an active order": "คุณมีรายการที่กำลังดำเนินการอยู่", + "You can claim satoshis!": "คุณสามารถขอรับ satoshis!", + "Public Buy Orders": "รายการซื้อ", + "Public Sell Orders": "รายการขาย", + "Today Active Robots": "จำนวนโรบอทที่ใช้งานในวันนี้", + "24h Avg Premium": "ค่าพรีเมี่ยมเฉลี่ย 24 ชม.", + "Trade Fee": "ค่าธรรมเนียมการซื้อขาย", + "Show community and support links": "แสดงชุมชนและลิ้งค์ขอความช่วยเหลือ", + "Show stats for nerds": "แสดงสถิติของแพล้ตฟอร์ม", + "Exchange Summary": "สรุปข้อมูลการซื้อขาย", + "Public buy orders": "จำนวนรายการซื้อ", + "Public sell orders": "จำนวนรายการขาย", + "Book liquidity": "สภาพคล่องทางบ้ญชี", + "Today active robots": "จำนวนโรบอทที่ใช้งานในวันนี้", + "24h non-KYC bitcoin premium": "ค่าพรีเมี่ยม 24 ชม.ที่แล้วสำหรับ bitcoin non-KYC", + "Maker fee": "ค่าธรรมเนียม Maker", + "Taker fee": "ค่าธรรมเนียม Taker", + "Number of public BUY orders": "จำนวนรายการซื้อ", + "Number of public SELL orders": "จำนวนรายการขาย", + "Your last order #{{orderID}}": "รายการล่าสุดของคุณ #{{orderID}}", + "Inactive order": "รายการที่ไม่ได้ดำเนินการอยู่", + "You do not have previous orders": "คุณไม่มีรายการก่อนหน้านี้", + "Join RoboSats' Subreddit": "เข้าร่วมชุมชน RoboSats' Subreddit", + "RoboSats in Reddit": "RoboSats ใน Reddit", + "Current onchain payout fee": "ค่าธรรมเนียมการจ่าย On-chain ตอนนี้", + "Use stealth invoices": "ใช้งาน stealth invoices", + "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.": "Stealth lightning invoices จะไม่มีข้อมูลใดๆนอกจากรหัสอ้างอิงรายการซื้อขาย เปิดใช้งานฟังชั่นนี้เพื่อปกปิดตัวตนกรณีใช้งาน custodial lightning wallet.", - "BOOK PAGE - BookPage.js":"The Book Order page", - "Seller":"ผู้ขาย", - "Buyer":"ผู้ซื้อ", - "I want to":"ฉันต้องการ", - "Select Order Type":"เลือกชนิดรายการ", - "ANY_type":"ANY", - "ANY_currency":"ANY", - "BUY":"ซื้อ", - "SELL":"ขาย", - "and receive":"และรับเงินเป็น", - "and pay with":"และชำระด้วย", - "and use":"และใช้", - "Select Payment Currency":"เลือกสกุลเงิน", - "Robot":"โรบอท", - "Is":"เป็น", - "Currency":"สกุลเงิน", - "Payment Method":"วิธีการชำระเงิน", - "Pay":"จ่าย", - "Price":"ราคา", - "Premium":"พรีเมี่ยม", - "You are SELLING BTC for {{currencyCode}}":"คุณกำลังขาย BTC เป็นเงิน {{currencyCode}}", - "You are BUYING BTC for {{currencyCode}}":"คุณกำลังซื้อ BTC ด้วยเงิน {{currencyCode}}", - "You are looking at all":"คุณกำลังดูรายการทั้งหมด", - "No orders found to sell BTC for {{currencyCode}}":"ไม่มีรายการขาย BTC เป็นเงิน {{currencyCode}}", - "No orders found to buy BTC for {{currencyCode}}":"ไม่มีรายการซื้อ BTC เป็นเงิน {{currencyCode}}", - "Filter has no results":"ตัวกรองไม่พบผลลัพธ์", - "Be the first one to create an order":"มาเป็นคนสร้างรายการซื้อขายคนแรก", - "Orders per page:":"รายการต่อหน้า:", - "No rows":"ไม่มีแถว", - "No results found.":"ไม่พบผลลัพธ์", - "An error occurred.":"เกิดความผิดพลาด", - "Columns":"คอลัมน์", - "Select columns":"เลือกคอลัมน์", - "Find column":"ค้นหาคอลัมน์", - "Column title":"ชื่อคอลัมน์", - "Reorder column":"จัดเรียงคอลัมน์ใหม่", - "Show all":"แสดงทั้งหมด", - "Hide all":"ซ่อนทั้งหมด", - "Add filter":"เพิ่มตัวกรอง", - "Delete":"ลบ", - "Logic operator":"ตัวดำเนินการ", - "Operator":"ตัวดำเนินการ", - "And":"และ", - "Or":"หรือ", - "Value":"ค่า", - "Filter value":"กรองค่า", - "contains":"มีเป็นองค์ประกอบ", - "equals":"เท่ากับ", - "starts with":"เริ่มต้นด้วย", - "ends with":"ลงท้ายด้วย", - "is":"เป็น", - "is not":"ไม่ใช่", - "is after":"is after", - "is on or after":"is on or after", - "is before":"is before", - "is on or before":"is on or before", - "is empty":"ว่างเปล่า", - "is not empty":"ไม่ว่างเปล่า", - "is any of":"เป็นอะไรก็ได้ของ", - "any":"ทั้งหมด", - "true":"จริง", - "false":"เท็จ", - "Menu":"รายการเลือก", - "Show columns":"แสดงแถว", - "Filter":"ตัวกรอง", - "Unsort":"เลิกจัดเรียง", - "Sort by ASC":"เรียงจากล่างขึ้นบน", - "Sort by DESC":"เรียงจากบนลงล่าง", - "Sort":"จัดเรียง", - "Show filters":"แสดงตัวกรอง", - "yes":"ใช่", - "no":"ไม่ใช่", + "ORDER PAGE - OrderPage.js": "Order details page", + "Order Box": "Order Box", + "Contract": "Contract", + "Active": "Active", + "Seen recently": "เห็นครั้งล่าสุด", + "Inactive": "Inactive", + "(Seller)": "(ผู้ขาย)", + "(Buyer)": "(ผู้ซื้อ)", + "Order maker": "maker ของรายการ", + "Order taker": "taker ของรายการ", + "Order Details": "รายละเอียดรายการ", + "Order status": "สถานะรายการ", + "Waiting for maker bond": "กำลังรอ maker bond", + "Public": "สาธารณะ", + "Waiting for taker bond": "กำลังรอ taker bond", + "Cancelled": "ยกเลิกแล้ว", + "Expired": "หมดอายุแล้ว", + "Waiting for trade collateral and buyer invoice": "กำลังรอผู้ขายวางเหรียญที่จะขายและรอผู้ซื้อส่ง Invoice", + "Waiting only for seller trade collateral": "กำลังรอผู้ขายวางเหรียญที่จะขาย", + "Waiting only for buyer invoice": "กำลังรอผู้ซื้อส่ง Invoice สำหรับรับเหรียญ", + "Sending fiat - In chatroom": "กำลังส่งเงินเฟียต ในห้องแชท", + "Fiat sent - In chatroom": "ส่งเงินเฟียตแล้ว ในห้องแชท", + "In dispute": "อยู่ในการร้องเรียน", + "Collaboratively cancelled": "ถูกยกเลิกร่วมกับคู่ค้า", + "Sending satoshis to buyer": "กำลังส่ง satoshis ให้ผู้ซื้อ", + "Sucessful trade": "ซื้อขายสำเร็จ", + "Failed lightning network routing": "lightning network routing ล้มเหลว", + "Wait for dispute resolution": "รอกระบวนการร้องเรียน", + "Maker lost dispute": "Maker แพ้การร้องเรียน", + "Taker lost dispute": "Taker แพ้การร้องเรียน", + "Amount range": "ขอบเขตปริมาณ", + "Swap destination": "จุดหมาย", + "Accepted payment methods": "วิธีชำระเงินเฟียตที่รองรับ", + "Others": "อื่นๆ", + "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - ค่าพรีเมี่ยม: {{premium}}%", + "Price and Premium": "ราคาและค่าพรีเมี่ยม", + "Amount of Satoshis": "ปริมาณ Satoshis", + "Premium over market price": "พรีเมี่ยมจากราคาตลาด", + "Order ID": "รหัสรายการซื้อขาย", + "Deposit timer": "ผู้ขายต้องวางเหรียญที่จะขายภายใน", + "Expires in": "หมดอายุใน", + "{{nickname}} is asking for a collaborative cancel": "{{nickname}} ขอให้คุณร่วมกันยกเลิกการซื้อขาย", + "You asked for a collaborative cancellation": "คุณขอให้อีกฝ่ายร่วมกันยกเลิกการซื้อขาย", + "Invoice expired. You did not confirm publishing the order in time. Make a new order.": "Invoice หมดอายุ คุณไม่ได้ยืนยันการประกาศรับซื้อขายภายในเวลาที่กำหนด กรุณาสร้างรายการใหม่", + "This order has been cancelled by the maker": "รายการนี้ถูกผู้ค้ายกเลิก", + "Invoice expired. You did not confirm taking the order in time.": "Invoice หมดอายุ คุณไม่ได้ยืนยันการรับซื้อขายภายในเวลาที่กำหนด", + "Penalty lifted, good to go!": "สามารถซื้อขายได้แล้ว!", + "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "คุณยังไม่สามารถดำเนินรายการได้! รออีก {{timeMin}} นาที {{timeSec}} วินาที", + "Too low": "ต่ำเกินไป", + "Too high": "สูงเกินไป", + "Enter amount of fiat to exchange for bitcoin": "ระบุจำนวนเงินเฟียตที่จะแลกเปลี่ยนกับ bitcoin", + "Amount {{currencyCode}}": "จำนวน {{currencyCode}}", + "You must specify an amount first": "คุณต้องระบุจำนวนก่อน", + "Take Order": "ดำเนินรายการต่อ", + "Wait until you can take an order": "รอจนกว่าคุณจะสามารถรับรายการซื้อขายได้", + "Cancel the order?": "จะยกเลิกรายการหรือไม่?", + "If the order is cancelled now you will lose your bond.": "ถ้ารายการถูกยกเลิกในขั้นตอนนี้ คุณจะสูญเสีย bond", + "Confirm Cancel": "ยืนยันยกเลิก", + "The maker is away": "ผู้ค้าออฟไลน์", + "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.": "หากคุณดำเนินการต่ออาจเป็นการเสียเวลาปล่าวหากผู้ค้าไม่มาดำเนินรายการต่อภายในเวลาที่กำหนด ในกรณีนี้คุณจะได้รับค่าเสียเวลาเป็น satoshi คิดเป็น 50% ของ maker bond", + "Collaborative cancel the order?": "ร่วมกันยกเลิกรายการหรือไม่", + "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.": "ผู้ขายวางเหรียญแล้ว หากต้องการยกเลิกการซื้อขายจะต้องได้รับการยินยอมจากอีกฝั่งร่วมกับคุณ", + "Ask for Cancel": "ขอให้ยกเลิก", + "Cancel": "ยกเลิก", + "Collaborative Cancel": "ร่วมกันยกเลิกการซื้อขาย", + "Invalid Order Id": "รหัสรายการซื้อขายผิด", + "You must have a robot avatar to see the order details": "คุณต้องมีโรบอทก่อนจึงจะสามารถดูรายละเอียดรายการได้", + "This order has been cancelled collaborativelly": "รายการนี้ถูกยกเลิกร่วมกับอีกฝ่าย", + "This order is not available": "ไม่มีรายการนี้", + "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues": "โรบอทซาโตชิที่ทำงานในโกดังไม่สามารถเข้าใจคุณได้ กรุณารายงาน Bug หรือปัญหาอื่นๆผ่านทาง Github https://github.com/reckless-satoshi/robosats/issues", - - "BOTTOM BAR AND MISC - BottomBar.js":"Bottom Bar user profile and miscellaneous dialogs", - "Stats For Nerds":"สถิติสำหรับผู้สนใจ", - "LND version":"LND version", - "Currently running commit hash":"Currently running commit hash", - "24h contracted volume":"24h ปริมาณการซื้อขาย 24 ชั่วโมงที่แล้ว", - "Lifetime contracted volume":"ปริมาณการซื้อขายตั้งแต่ก่อตั้งแพล้ตฟอร์ม", - "Made with":"สร้างด้วย", - "and":"และ", - "... somewhere on Earth!":"... ซักที่ บนโลกใบนี้!", - "Community":"ชุมชน", - "Support is only offered via public channels. Join our Telegram community if you have questions or want to hang out with other cool robots. Please, use our Github Issues if you find a bug or want to see new features!":"สามารถขอความช่วยเหลือผ่านช่องทางสาธารณะเท่านั้น เข้าร่วมกลุ่ม Telegram ถ้าคุณมีคำถามหรือต้องการมาสนุกกับชาวโรโบสุดเจ๋งคนอื่นๆ กรุณาใช้ช่องทาง Github Issues ในการแจ้งบัคหรือกรณีอยากเสนอเพิ่มฟีเจอร์ใหม่ๆ!", - "Follow RoboSats in Twitter":"ติดตาม RoboSats บน Twitter", - "Twitter Official Account":"Twitter Official Account", - "RoboSats Telegram Communities":"ชุมชน RoboSats Telegram", - "Join RoboSats Spanish speaking community!":"Join RoboSats Spanish speaking community!", - "Join RoboSats Russian speaking community!":"Join RoboSats Russian speaking community!", - "Join RoboSats Chinese speaking community!":"Join RoboSats Chinese speaking community!", - "Join RoboSats English speaking community!":"Join RoboSats English speaking community!", - "Tell us about a new feature or a bug":"บอกเราเกี่ยวกับฟีเจอร์ใหม่หรือบัค", - "Github Issues - The Robotic Satoshis Open Source Project":"Github Issues - The Robotic Satoshis Open Source Project", - "Your Profile":"โปรไฟล์ของคุณ", - "Your robot":"โรบอทของคุณ", - "One active order #{{orderID}}":"มี 1 รายการที่กำลังดำเนินการอยู่ #{{orderID}}", - "Your current order":"รายการปัจจุบันของคุณ", - "No active orders":"ไม่มีรายการที่กำลังดำเนินการอยู่", - "Your token (will not remain here)":"token ของคุณ (แพล้ตฟอร์มไม่ได้บันทึกให้คุณ)", - "Back it up!":"อย่าลืมบันทึก!", - "Cannot remember":"จำไม่ได้", - "Rewards and compensations":"รางวัลที่ได้รับ", - "Share to earn 100 Sats per trade":"Share เพื่อรับ 100 Sats ต่อการซื้อขาย", - "Your referral link":"ลิ้งค์ referral ของคุณ", - "Your earned rewards":"รางวัลที่ตุณได้รับ", - "Claim":"รับรางวัล", - "Invoice for {{amountSats}} Sats":"Invoice สำหรับ {{amountSats}} Sats", - "Submit":"ส่งข้อมูล", - "There it goes, thank you!🥇":"เอาไปเลย ขอบคุณมาก!🥇", - "You have an active order":"คุณมีรายการที่กำลังดำเนินการอยู่", - "You can claim satoshis!":"คุณสามารถขอรับ satoshis!", - "Public Buy Orders":"รายการซื้อ", - "Public Sell Orders":"รายการขาย", - "Today Active Robots":"จำนวนโรบอทที่ใช้งานในวันนี้", - "24h Avg Premium":"ค่าพรีเมี่ยมเฉลี่ย 24 ชม.", - "Trade Fee":"ค่าธรรมเนียมการซื้อขาย", - "Show community and support links":"แสดงชุมชนและลิ้งค์ขอความช่วยเหลือ", - "Show stats for nerds":"แสดงสถิติของแพล้ตฟอร์ม", - "Exchange Summary":"สรุปข้อมูลการซื้อขาย", - "Public buy orders":"จำนวนรายการซื้อ", - "Public sell orders":"จำนวนรายการขาย", - "Book liquidity":"สภาพคล่องทางบ้ญชี", - "Today active robots":"จำนวนโรบอทที่ใช้งานในวันนี้", - "24h non-KYC bitcoin premium":"ค่าพรีเมี่ยม 24 ชม.ที่แล้วสำหรับ bitcoin non-KYC", - "Maker fee":"ค่าธรรมเนียม Maker", - "Taker fee":"ค่าธรรมเนียม Taker", - "Number of public BUY orders":"จำนวนรายการซื้อ", - "Number of public SELL orders":"จำนวนรายการขาย", - "Your last order #{{orderID}}":"รายการล่าสุดของคุณ #{{orderID}}", - "Inactive order":"รายการที่ไม่ได้ดำเนินการอยู่", - "You do not have previous orders":"คุณไม่มีรายการก่อนหน้านี้", - "Join RoboSats' Subreddit":"เข้าร่วมชุมชน RoboSats' Subreddit", - "RoboSats in Reddit":"RoboSats ใน Reddit", - "Current onchain payout fee":"ค่าธรรมเนียมการจ่าย On-chain ตอนนี้", - "Use stealth invoices":"ใช้งาน stealth invoices", - "Stealth lightning invoices do not contain details about the trade except an order reference. Enable this setting if you don't want to disclose details to a custodial lightning wallet.":"Stealth lightning invoices จะไม่มีข้อมูลใดๆนอกจากรหัสอ้างอิงรายการซื้อขาย เปิดใช้งานฟังชั่นนี้เพื่อปกปิดตัวตนกรณีใช้งาน custodial lightning wallet.", - - "ORDER PAGE - OrderPage.js": "Order details page", - "Order Box":"Order Box", - "Contract":"Contract", - "Active":"Active", - "Seen recently":"เห็นครั้งล่าสุด", - "Inactive":"Inactive", - "(Seller)":"(ผู้ขาย)", - "(Buyer)":"(ผู้ซื้อ)", - "Order maker":"maker ของรายการ", - "Order taker":"taker ของรายการ", - "Order Details":"รายละเอียดรายการ", - "Order status":"สถานะรายการ", - "Waiting for maker bond":"กำลังรอ maker bond", - "Public":"สาธารณะ", - "Waiting for taker bond":"กำลังรอ taker bond", - "Cancelled":"ยกเลิกแล้ว", - "Expired":"หมดอายุแล้ว", - "Waiting for trade collateral and buyer invoice":"กำลังรอผู้ขายวางเหรียญที่จะขายและรอผู้ซื้อส่ง Invoice", - "Waiting only for seller trade collateral":"กำลังรอผู้ขายวางเหรียญที่จะขาย", - "Waiting only for buyer invoice":"กำลังรอผู้ซื้อส่ง Invoice สำหรับรับเหรียญ", - "Sending fiat - In chatroom":"กำลังส่งเงินเฟียต ในห้องแชท", - "Fiat sent - In chatroom":"ส่งเงินเฟียตแล้ว ในห้องแชท", - "In dispute":"อยู่ในการร้องเรียน", - "Collaboratively cancelled":"ถูกยกเลิกร่วมกับคู่ค้า", - "Sending satoshis to buyer":"กำลังส่ง satoshis ให้ผู้ซื้อ", - "Sucessful trade":"ซื้อขายสำเร็จ", - "Failed lightning network routing":"lightning network routing ล้มเหลว", - "Wait for dispute resolution":"รอกระบวนการร้องเรียน", - "Maker lost dispute":"Maker แพ้การร้องเรียน", - "Taker lost dispute":"Taker แพ้การร้องเรียน", - "Amount range":"ขอบเขตปริมาณ", - "Swap destination":"จุดหมาย", - "Accepted payment methods":"วิธีชำระเงินเฟียตที่รองรับ", - "Others":"อื่นๆ", - "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%":"{{price}} {{currencyCode}}/BTC - ค่าพรีเมี่ยม: {{premium}}%", - "Price and Premium":"ราคาและค่าพรีเมี่ยม", - "Amount of Satoshis":"ปริมาณ Satoshis", - "Premium over market price":"พรีเมี่ยมจากราคาตลาด", - "Order ID":"รหัสรายการซื้อขาย", - "Deposit timer":"ผู้ขายต้องวางเหรียญที่จะขายภายใน", - "Expires in":"หมดอายุใน", - "{{nickname}} is asking for a collaborative cancel":"{{nickname}} ขอให้คุณร่วมกันยกเลิกการซื้อขาย", - "You asked for a collaborative cancellation":"คุณขอให้อีกฝ่ายร่วมกันยกเลิกการซื้อขาย", - "Invoice expired. You did not confirm publishing the order in time. Make a new order.":"Invoice หมดอายุ คุณไม่ได้ยืนยันการประกาศรับซื้อขายภายในเวลาที่กำหนด กรุณาสร้างรายการใหม่", - "This order has been cancelled by the maker":"รายการนี้ถูกผู้ค้ายกเลิก", - "Invoice expired. You did not confirm taking the order in time.":"Invoice หมดอายุ คุณไม่ได้ยืนยันการรับซื้อขายภายในเวลาที่กำหนด", - "Penalty lifted, good to go!":"สามารถซื้อขายได้แล้ว!", - "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s":"คุณยังไม่สามารถดำเนินรายการได้! รออีก {{timeMin}} นาที {{timeSec}} วินาที", - "Too low":"ต่ำเกินไป", - "Too high":"สูงเกินไป", - "Enter amount of fiat to exchange for bitcoin":"ระบุจำนวนเงินเฟียตที่จะแลกเปลี่ยนกับ bitcoin", - "Amount {{currencyCode}}":"จำนวน {{currencyCode}}", - "You must specify an amount first":"คุณต้องระบุจำนวนก่อน", - "Take Order":"ดำเนินรายการต่อ", - "Wait until you can take an order":"รอจนกว่าคุณจะสามารถรับรายการซื้อขายได้", - "Cancel the order?":"จะยกเลิกรายการหรือไม่?", - "If the order is cancelled now you will lose your bond.":"ถ้ารายการถูกยกเลิกในขั้นตอนนี้ คุณจะสูญเสีย bond", - "Confirm Cancel":"ยืนยันยกเลิก", - "The maker is away":"ผู้ค้าออฟไลน์", - "By taking this order you risk wasting your time. If the maker does not proceed in time, you will be compensated in satoshis for 50% of the maker bond.":"หากคุณดำเนินการต่ออาจเป็นการเสียเวลาปล่าวหากผู้ค้าไม่มาดำเนินรายการต่อภายในเวลาที่กำหนด ในกรณีนี้คุณจะได้รับค่าเสียเวลาเป็น satoshi คิดเป็น 50% ของ maker bond", - "Collaborative cancel the order?":"ร่วมกันยกเลิกรายการหรือไม่", - "The trade escrow has been posted. The order can be cancelled only if both, maker and taker, agree to cancel.":"ผู้ขายวางเหรียญแล้ว หากต้องการยกเลิกการซื้อขายจะต้องได้รับการยินยอมจากอีกฝั่งร่วมกับคุณ", - "Ask for Cancel":"ขอให้ยกเลิก", - "Cancel":"ยกเลิก", - "Collaborative Cancel":"ร่วมกันยกเลิกการซื้อขาย", - "Invalid Order Id":"รหัสรายการซื้อขายผิด", - "You must have a robot avatar to see the order details":"คุณต้องมีโรบอทก่อนจึงจะสามารถดูรายละเอียดรายการได้", - "This order has been cancelled collaborativelly":"รายการนี้ถูกยกเลิกร่วมกับอีกฝ่าย", - "This order is not available":"ไม่มีรายการนี้", - "The Robotic Satoshis working in the warehouse did not understand you. Please, fill a Bug Issue in Github https://github.com/reckless-satoshi/robosats/issues":"โรบอทซาโตชิที่ทำงานในโกดังไม่สามารถเข้าใจคุณได้ กรุณารายงาน Bug หรือปัญหาอื่นๆผ่านทาง Github https://github.com/reckless-satoshi/robosats/issues", + "CHAT BOX - Chat.js": "Chat Box", + "You": "คุณ", + "Peer": "คู่ค้า", + "connected": "เชื่อมต่อแล้ว", + "disconnected": "ตัดการเชื่อมต่อแล้ว", + "Type a message": "พิมพ์ข้อความ", + "Connecting...": "กำลังเชื่อมต่อ...", + "Send": "ส่ง", + "Verify your privacy": "ตรวจสอบความเป็นส่วนตัวของคุณ", + "Audit PGP": "ตรวจสอบ PGP", + "Save full log as a JSON file (messages and credentials)": "บันทึกข้อความและการยืนยันตัวตนในรูป JSON", + "Export": "ส่งออก", + "Don't trust, verify": "อย่าเชื่อ ต้องตรวจสอบ", + "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.": "การสื่อสารของคุณถูกเข้ารหัสแบบ end-to-end ด้วย OpenPGP คุณสามารถตรวจสอบความเป็นส่วนตัวของคุณด้วยเครื่องมือใดก็ได้ที่รองรับมาตรฐาน OpenPGP", + "Learn how to verify": "เรียนรู้วิธีการตรวจสอบ", + "Your PGP public key. Your peer uses it to encrypt messages only you can read.": "PGP public key ของคุณ คู่ค้าของคุณใช้มันเข้ารหัสกับข้อความซึ่งทำให้มีแต่คุณเท่านั้นที่สามารถอ่านได้", + "Your public key": "Public key ของคุณ", + "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.": "PGP public key ของคู่ค้า ใช้ในการเข้ารหัสกับข้อความซึ่งทำให้มีแต่เขาเท่านั้นที่สามารภถอ่านได้และใช้ตรวจสอบข้อความที่คู่ค้าเข้ารหัสและส่งมาให้คุณ", + "Peer public key": "Public key ของคู่ค้า", + "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.": "private key ที่ถูกเข้ารหัสของคุณ ใช้ในการถอดรหัสเพื่ออ่านข้อความที่คู่ค้าส่งให้คุณ และใช้ในการเซ็นต์เพื่อยืนยันว่าข้อความที่คุณส่งมาจากคุณจริงๆ", + "Your encrypted private key": "private key ที่ถูกเข้ารหัสของคุณ", + "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.": "passphrase สำหรับถอดรหัส private key ของคุณ มีแต่คุณเท่านั้นที่รู้! ห้ามแชร์ให้ผู้อื่น นอกจากนี้มันยังเป็น token ของโรบอทของคุณอีกด้วย", + "Your private key passphrase (keep secure!)": "passphrase ของ private key ของคุณ เก็บรักษาไว้ให้ดี!", + "Save credentials as a JSON file": "บันทึกข้อมูลยืนยันตัวตนเป็นไฟล์ JSON", + "Keys": "Keys", + "Save messages as a JSON file": "บันทึกข้อความเป็นไฟล์ JSON", + "Messages": "ข้อความ", + "Verified signature by {{nickname}}": "ลายเซ็นต์ที่ถูกตรวจสอบแล้วโดย {{nickname}}", + "Cannot verify signature of {{nickname}}": "ไม่สามารถตรวจสอบลายเซ็นต์ของ {{nickname}}", - "CHAT BOX - Chat.js":"Chat Box", - "You":"คุณ", - "Peer":"คู่ค้า", - "connected":"เชื่อมต่อแล้ว", - "disconnected":"ตัดการเชื่อมต่อแล้ว", - "Type a message":"พิมพ์ข้อความ", - "Connecting...":"กำลังเชื่อมต่อ...", - "Send":"ส่ง", - "Verify your privacy":"ตรวจสอบความเป็นส่วนตัวของคุณ", - "Audit PGP":"ตรวจสอบ PGP", - "Save full log as a JSON file (messages and credentials)":"บันทึกข้อความและการยืนยันตัวตนในรูป JSON", - "Export":"ส่งออก", - "Don't trust, verify":"อย่าเชื่อ ต้องตรวจสอบ", - "Your communication is end-to-end encrypted with OpenPGP. You can verify the privacy of this chat using any tool based on the OpenPGP standard.":"การสื่อสารของคุณถูกเข้ารหัสแบบ end-to-end ด้วย OpenPGP คุณสามารถตรวจสอบความเป็นส่วนตัวของคุณด้วยเครื่องมือใดก็ได้ที่รองรับมาตรฐาน OpenPGP", - "Learn how to verify":"เรียนรู้วิธีการตรวจสอบ", - "Your PGP public key. Your peer uses it to encrypt messages only you can read.":"PGP public key ของคุณ คู่ค้าของคุณใช้มันเข้ารหัสกับข้อความซึ่งทำให้มีแต่คุณเท่านั้นที่สามารถอ่านได้", - "Your public key":"Public key ของคุณ", - "Your peer PGP public key. You use it to encrypt messages only he can read and to verify your peer signed the incoming messages.":"PGP public key ของคู่ค้า ใช้ในการเข้ารหัสกับข้อความซึ่งทำให้มีแต่เขาเท่านั้นที่สามารภถอ่านได้และใช้ตรวจสอบข้อความที่คู่ค้าเข้ารหัสและส่งมาให้คุณ", - "Peer public key":"Public key ของคู่ค้า", - "Your encrypted private key. You use it to decrypt the messages that your peer encrypted for you. You also use it to sign the messages you send.":"private key ที่ถูกเข้ารหัสของคุณ ใช้ในการถอดรหัสเพื่ออ่านข้อความที่คู่ค้าส่งให้คุณ และใช้ในการเซ็นต์เพื่อยืนยันว่าข้อความที่คุณส่งมาจากคุณจริงๆ", - "Your encrypted private key":"private key ที่ถูกเข้ารหัสของคุณ", - "The passphrase to decrypt your private key. Only you know it! Do not share. It is also your robot token.":"passphrase สำหรับถอดรหัส private key ของคุณ มีแต่คุณเท่านั้นที่รู้! ห้ามแชร์ให้ผู้อื่น นอกจากนี้มันยังเป็น token ของโรบอทของคุณอีกด้วย", - "Your private key passphrase (keep secure!)":"passphrase ของ private key ของคุณ เก็บรักษาไว้ให้ดี!", - "Save credentials as a JSON file":"บันทึกข้อมูลยืนยันตัวตนเป็นไฟล์ JSON", - "Keys":"Keys", - "Save messages as a JSON file":"บันทึกข้อความเป็นไฟล์ JSON", - "Messages":"ข้อความ", - "Verified signature by {{nickname}}":"ลายเซ็นต์ที่ถูกตรวจสอบแล้วโดย {{nickname}}", - "Cannot verify signature of {{nickname}}":"ไม่สามารถตรวจสอบลายเซ็นต์ของ {{nickname}}", + "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", + "Contract Box": "Contract Box", + "Robots show commitment to their peers": "โรบอทต้องแสดงความรับผิดชอบต่อคู่ค้าของตน", + "Lock {{amountSats}} Sats to PUBLISH order": "กักกัน {{amountSats}} Sats เพื่อประกาศรายการซื้อขาย", + "Lock {{amountSats}} Sats to TAKE order": "กักกัน {{amountSats}} Sats เพื่อดำเนินรายการ", + "Lock {{amountSats}} Sats as collateral": "กักกัน {{amountSats}} Sats เป็นหลักประกัน", + "Copy to clipboard": "คัดลอกไปยังคลิปบอร์ด", + "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.": "นี่คือ hold invoice มันจะกักกันเหรียญของคุณเอาไว้ใน wallet ของคุณและจะดำเนินการตัดจ่ายเหรียญเมื่อคุณยกเลิกรายการหรือแพ้ในกระบวนการร้องเรียน", + "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.": "นี่คือ hold invoice มันจะกักกันเหรียญของคุณเอาไว้ใน wallet ของคุณ เหรียญจะถูกส่งให้ผู้ซื้อเมื่อคุณยืนยันว่าคุณได้รับเงินเฟียต {{currencyCode}} ครบถ้วนแล้ว", + "Your maker bond is locked": "กักกัน maker bond ของคุณแล้ว", + "Your taker bond is locked": "กักกัน taker bond ของคุณแล้ว", + "Your maker bond was settled": "ปิดบัญชี maker bond แล้ว", + "Your taker bond was settled": "ปิดบัญชี taker bond แล้ว", + "Your maker bond was unlocked": "ปลดล็อก maker bond แล้ว", + "Your taker bond was unlocked": "ปลดล็อก taker bond แล้ว", + "Your order is public": "รายการของคุณถูกประกาศแล้ว", + "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.": "โปรดให้เวลาโรบอทท่านอื่นเข้าดูรายการซื้อขาย หากมีโรบอทมารับรายการซื้อขายของคุณ เราจะทำการแจ้งเตือน 🔊 จากนั้นคุณจะต้องตอบรับภายใน {{deposit_timer_hours}}ชั่วโมง {{deposit_timer_minutes}}นาที หากคุณไม่ตอบรับภายในเวลาที่กำหนด คุณจะสูญเสียเหรียญที่กักกันใน bond ได้", + "If the order expires untaken, your bond will return to you (no action needed).": "ถ้ารายการซื้อขายของคุณไม่มีใครรับ คุณจะได้รับการปลดล็อกเหรียญที่กักกันใน bond ของคุณคืนโดยอัตโนมัติ", + "Enable Telegram Notifications": "เปิดใช้การแจ้งเตือนผ่านทาง Telegram", + "Enable TG Notifications": "ใช้การแจ้งเตือน Telegram", + "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.": "คุณจะเข้าไปยังแชทกับ telegram bot ของ RoboSats ให้คุณกด Start อย่างไรก็ตาม การใช้การแจ้งเตือน telegram จะลดระดับการปกปิดตัวตนของคุณ", + "Go back": "กลับ", + "Enable": "เปิดใช้งาน", + "Telegram enabled": "เปิดใช้ Telegram แล้ว", + "Public orders for {{currencyCode}}": "รายการสำหรับ {{currencyCode}}", + "Premium rank": "ลำดับค่าพรีเมี่ยม", + "Among public {{currencyCode}} orders (higher is cheaper)": "สำหรับรายการที่เป็น {{currencyCode}} (ยิ่งสูงยิ่งถูก)", + "A taker has been found!": "มีคนรับรายการแล้ว!", + "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.": "โปรดรอคู่ค้าทำการกักกันเหรียญใน bond ถ้าเขากักกันเหรียญไม่ทันในเวลาที่กำหนด รายการจะถูกประำกาศใหม่", + "Payout Lightning Invoice": "Lightning Invoice สำหรับรับเหรียญ", + "Your info looks good!": "ข้อมูลของคุณครบถ้วน!", + "We are waiting for the seller to lock the trade amount.": "เรากำลังรอผู้ขายวางเหรียญที่นำมาขาย", + "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).": "กรุณารอซักครู่ ถ้าผู้ขายไม่ยอมวางเหรียญ คุณจะได้รับเหรียญใน bond คืนพร้อมค่าชดเชย (สามารถตรวจสอบได้ในส่วนของรางวัลในโปรไฟล์ของคุณ)", + "The trade collateral is locked!": "ผู้ขายวางเหรียญที่นำมาขายแล้ว", + "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.": "เรากำลังรอผู้ซื้อส่ง invoice รับเหรียญให้เรา หลังจากนั้นคุณจะได้แชทคุยกับผู้ซื้อเพื่อชี้แจงรายละเอียดสำหรับการชำระเงินเฟียต", + "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).": "กรุณารออีกซักครู่ ถ้าผู้ซื้อไม่ให้ความร่วมมือ คุณจะได้รับเหรียญที่นำมาวางและ bond คืนโดยอัตโนมัติ และคุณจะได้รับเงินชดเชยด้วย (สามารถตรวจสอบได้ในส่วนของรางวัลในโปรไฟล์ของท่าน)", + "Confirm {{currencyCode}} sent": "ยืนยันว่าส่งเงิน {{currencyCode}} แล้ว", + "Confirm {{currencyCode}} received": "ยืนยันว่าได้รับเงิน {{currencyCode}} แล้ว", + "Open Dispute": "ร้องเรียน", + "The order has expired": "รายการหมดอายุแล้ว", + "Chat with the buyer": "แชทกับผู้ซื้อ", + "Chat with the seller": "แชทกับผู้ขาย", + "Say hi! Be helpful and concise. Let them know how to send you {{currencyCode}}.": "ทักทาย ให้ความร่วมมือกัน และมีความรัดกุม แจ้งรายละเอียดการจ่ายเงิน {{currencyCode}} ให้อีกฝ่ายทราบ", + "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.": "ผู้ซื้อแจ้งว่าส่งเงินเฟียตแล้ว ตรวจสอบและกดยืนยัน 'Confirm Received' หากคุณได้รับเงินครบถ้วนแล้ว", + "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.": "ทักทาย สอบถามรายละเอียดการชำระเงิน และกดยืนยัน 'Confirm Sent' เมื่อคุณจ่ายเงินแล้ว", + "Wait for the seller to confirm he has received the payment.": "รอผู้ขายยืนยันว่าได้รับเงินเฟียตแล้ว", + "Confirm you received {{currencyCode}}?": "ยืนยันว่าคุณได้รับ {{currencyCode}} แล้ว ?", + "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.": "การยืนยันการได้รับเงินเฟียตเป็นขั้นตอนสุดท้ายของการซื้อขาย เหรียญส่วนที่กักกันไว้สำหรับขายจะถูกส่งให้ผู้ซื้อทันทีหลังจากยืนยัน ตรวจสอบให้เรียบร้อยว่าเงิน {{amount}} {{currencyCode}} เข้าไปที่บัญชีของคุณแล้ว และนอกจากนี้ หากคุณได้รับเงินเฟียตแล้วแต่ไม่ยอมยืนยัน คุณเสี่ยงที่จะสูญเสียเหรียญที่กักไว้ใน bond", + "Confirm": "ยืนยัน", + "🎉Trade finished!🥳": "🎉ซื้อขายเสร็จสิ้น!🥳", + "rate_robosats": "คุณคิดอย่างไรกับ 🤖<1>RoboSats⚡?", + "Thank you! RoboSats loves you too ❤️": "ขอบคุณ! RoboSats รักคุณเช่นกัน❤️", + "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats จะดีขึ้นเมื่อมีสภาพคล่องและผู้ใช้งานมากขึ้น ช่วยกันชวนเพื่อนของคุณมาใช้ Robosats!", + "Thank you for using Robosats!": "ขอบคุณที่ใช้งาน Robosats!", + "let_us_know_hot_to_improve": "บอกเราว่าเราควรปรับปรุงอย่างไร (<1>Telegram / <3>Github)", + "Start Again": "Start Again", + "Attempting Lightning Payment": "กำลังดำเนินการจ่ายเหรียญทาง Lightning", + "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.": "RoboSats กำลังจ่ายเหรียญให้ lightning invoice ของท่าน lightning nodes จะต้องออนไลน์เพื่อรับเหรียญ", + "Retrying!": "กำลังลองใหม่!", + "Lightning Routing Failed": "Lightning Routing ล้มเหลว", + "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.": "Invoice หมดอายุ หรือเราได้ลองจ่ายเหรียญครบ 3 ครั้งแล้ว กรุณาส่ง invoice ใหม่ให้เรา", + "Check the list of compatible wallets": "ตรวจสอบรายการกระเป๋าเก็บเหรียญที่ใช้กับเราได้", + "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.": "RoboSats จะลองจ่ายเหรียญให้ invoice ของท่าน 3 ครั้ง ห่างกันครั้งละ 1 นาที หากครบ 3 ครั้งแล้วยังล้มเหลวคุณจะสามารถส่ง invoice มาใหม่ได้ ตรวจสอบว่าคุณมี inbound liquidity เพียงพอ และ lightning nodes จะต้องออนไลน์จึงจะรับเหรียญได้", + "Next attempt in": "ลองใหม่ภายใน", + "Do you want to open a dispute?": "ต้องการร้องเรียนหรือไม่?", + "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.": "ทีมงาน RoboSats จะตรวจสอบคำแถลงและหลักฐานที่ได้รับ คุณจะต้องให้ข้อมูลเหตุการณ์ทั้งหมดอย่างละเอียดเนื่องจากทีมงานไม่สามารถอ่านข้อความในแชทซื้อขายได้ และคุณจะต้องระบุช่องทางสำหรับติดต่อคุณกลับมาในคำแถลงด้วย เหรียญที่ถูกกักกันไว้เพื่อซื้อขายจะถูกส่งให้ผู้ชนะการร้องเรียน และผู้แพ้จะสูญเสียเหรียญที่กักกันใน bond", + "Disagree": "ไม่ตกลง", + "Agree and open dispute": "ตกลงและดำเนินการร้องเรียน", + "A dispute has been opened": "ดำเนินการร้องเรียนแล้ว", + "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.": "กรุณาส่งคำแถลงของคุณ อธิบายรายละเอียดและเหตุการณ์ที่เกิดขึ้นทั้งหมดอย่างครบถ้วนและชัดเจนและแสดงหลักฐานที่จำเป็นให้เรา คุณจะต้องระบุช่องทางการติดต่อกลับ เช่น อีเมลล์ชั่วคราว, XMPP, หรือ telegram username เพื่อให้ทีมงานติดตามเรื่องได้ การดำเนินการกับข้อร้องเรียนจะทำโดยคน กรุณาให้การสนับสนุนทีมงานให้มากที่สุดเพื่อให้ได้ผลลัพธ์ที่เหมาะสมที่สุด (คำแถลงไม่เกิน 5000 ตัวอักษร)", + "Submit dispute statement": "ส่งคำแถลงสำหรับข้อร้องเรียน", + "We have received your statement": "เราได้รับคำแถลงของคุณแล้ว", + "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.": "เรากำลังรอคำแถลงจากคู่ค้าของคุณ ถ้าคุณมีข้อสงสัยเกี่ยวกับสถานะของข้อร้องเรียนหรือต้องการส่งข้อมูลเพิ่มเติม กรุณาติดต่อทาง robosats@protonmail.com", + "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).": "กรุณาจดบันทึกข้อมูลต่อไปนี้เพื่อใช้ในการระบุรายการซื้อขายที่มีการร้องเรียน: รหัสรายการซื้อขาย, รหัสธุรกรรม (payment hashes) ของการกักกันเหรียญใน bond (ตรวจสอบได้ใน lightning wallet ของคุณ), จำนวน satoshis ใน bond รวมทั้งชื่อเล่นของโรบอทของคุณเพื่อให้คุณสามารถระบุตัวตนของคุณได้เมื่อทำการติดต่อกับทีมงาน", + "We have the statements": "เราได้รับเรื่องร้องเรียนแล้ว", + "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.": "เราได้รับคำแถลงจากทั้งสองฝ่ายแล้ว กรุณารอทีมงานดำเนินการแก้ไขเรื่องร้องเรียน ถ้าคุณมีข้อสงสัยเกี่ยวกับสถานะของข้อร้องเรียนหรือต้องการส่งข้อมูลเพิ่มเติม กรุณาติดต่อทาง robosats@protonmail.com ถ้าคุณไม่ได้ระบุช่องทางการติดต่อหรือไม่แน่ใจว่าระบุถูกต้องหรือไม่ ขอให้คุณส่งมาให้เราตามอีเมลล์นี้ทันที", + "You have won the dispute": "คุณชนะการร้องเรียน", + "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).": "คุณสามารถรับเหรียญที่ได้จากการแก้ไขข้อร้องเรียนได้ที่รางวัลในโปรไฟล์ของคุณ (เหรียญที่ถูกกักกันไว้ในกระบวนการซื้อขาย) และถ้าหากต้องการความช่วยเหลือเพิ่มเติม สามารถติดต่อผ่านทาง robosats@protonmail.com (หรือผ่านช่องทางติดต่อที่คุณได้ให้เราไว้ก่อนหน้านี้).", + "You have lost the dispute": "คุณแพ้การร้องเรียน", + "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.": "เสียใจด้วย คุณแพ้กระบวนการร้องเรียน ถ้าคุณคิดว่ามีข้อผิดพลาดเกิดขึ้นคุณสามารถเปิดการร้องเรียนใหม่ได้ผ่านทาง robosats@protonmail.com แต่จะมีโอกาสที่เรื่องร้องเรียนจะได้รับการตรวจสอบซ้ำอีกครั้งน้อยมาก", + "Expired not taken": "หมดอายุโดยไม่มีใครรับรายการ", + "Maker bond not locked": "ไม่ได้กักกันเหรียญใน bond", + "Escrow not locked": "ไม่ได้วางเหรียญที่นำมาขายใน escrow", + "Invoice not submitted": "ไม่ได้ส่ง Invoice", + "Neither escrow locked or invoice submitted": "ไม่ได้วางเหรียญที่นำมาขาย (escrow) และไม่ได้ส่ง Invoice รับเหรียญ", + "Renew Order": "เริ่มรายการใหม่", + "Pause the public order": "ระงับการประกาศรายการ", + "Your order is paused": "ระงับการประกาศรายการแล้ว", + "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.": "รายการของคุณไม่ได้มีการประกาศอยู่ โรบอทอื่นจะไม่สามารถมองเห็นหรือรับรายการซื้อขายดังกล่าวได้คุณสามารถเลิกระงับการประกาศรายการตอนไหนก็ได้", + "Unpause Order": "เลิกระงับการประกาศรายการ", + "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.": "คุณจะเสี่ยงต่อการสูญเสียเหรียญใน bond ถ้าคุณวางเหรียญส่วนที่จะขายไม่ทัน คุณมีเวลาเหลืออีก {{deposit_timer_hours}}ชั่วโมง {{deposit_timer_minutes}}นาที", + "See Compatible Wallets": "ดูกระเป๋าบิทคอยน์ (Wallets) ที่สามารถใช้งานได้", + "Failure reason:": "เหตุผลที่ล้มเหลว", + "Payment isn't failed (yet)": "การจ่ายยังไม่ล้มเหลว", + "There are more routes to try, but the payment timeout was exceeded.": "ยังมี routes ให้ลองอีกหลายสายแต่ว่าเลยระยะเวลาจ่ายแล้ว", + "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.": "ลองจ่ายเหรียญผ่านทุก Routes ที่เป็นไปได้แล้วแต่ล้มเหลว หรืออาจไม่มี routes สำหรับจุดหมายนี้ตั้งแต่แรกแล้ว", + "A non-recoverable error has occurred.": "A non-recoverable error has occurred.", + "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).": "รายละเอียดการรับเหรียญไม่ถูกต้อง (ไม่ทราบ hash, จำนวนผิด หรือ final CLTV delta ผิด).", + "Insufficient unlocked balance in RoboSats' node.": "เหรียญที่ไม่ได้ถูกกักกันใน RoboSats' node ไม่เพียงพอ", + "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com": "Invoice ที่ส่งมาใช้แต่เส้นทาง routing ที่ราคาแพง แสดงว่าคุณกำลังใช้ wallet ที่ใช้กับแพล้ทฟอร์มไม่ได้ (น่าจะเป็น Muun?) กรุณาตรวจสอบ wallet ที่ใช้งานได้ที่ wallets.robosats.com", + "The invoice provided has no explicit amount": "Invoice ที่ได้ ไม่มีการแสดงจำนวนชัดเจน", + "Does not look like a valid lightning invoice": "Lightning invoice ไม่ถูกต้อง", + "The invoice provided has already expired": "Invoice ที่ได้มาก่อนหน้านี้ หมดอายุแล้ว", + "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.": "คุณต้องทำการส่งออกบันทึกข้อความแชทไว้ด้วย เนื่องจากทีมงานอาจร้องขอบทสนาที่ถูกนำออกเพื่อใช้ในการแก้ไข้ปัญหา และคุณจะต้องรับผิดชอบการเก็บรักษามันไว้ด้วย", + "Invalid address": "Address ไม่ถูกต้อง", + "Unable to validate address, check bitcoind backend": "ไม่สามารถตรวจสอบความถูกต้องของ address ได้ ตรวจสอบ bitcoind backend", + "Submit payout info for {{amountSats}} Sats": "ส่งรายละเอียดการจ่ายเงินสำหรับ {{amountSats}} Sats", + "Submit a valid invoice for {{amountSats}} Satoshis.": "ส่ง invoice ที่ถูกต้องสำหรับ {{amountSats}} Satoshis.", + "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.": "ก่อนที่คุณจะส่งเงิน {{amountFiat}} {{currencyCode}} เราต้องการทำให้แน่ใจได้ว่าคุณสามารถรับเหรียญ BTC ได้", + "RoboSats will do a swap and send the Sats to your onchain address.": "RoboSats จะทำการสลับเปลี่ยนเหรียญจาก lightning แล้วส่งเหรียญให้คุณผ่านทาง onchain address.", + "Swap fee": "ค่าธรรมเนียมการสลับเปลี่ยน", + "Mining fee": "ค่าธรรมเนียมการขุด", + "Mining Fee": "ค่าธรรมเนียมการขุด", + "Final amount you will receive": "จำนวนเหรียญที่คุณจะได้รับจริงๆ", + "Bitcoin Address": "Bitcoin Address", + "Your TXID": "TXID ของคุณ", + "Lightning": "Lightning", + "Onchain": "Onchain", + "open_dispute": "คุณต้องรอก่อนจึงจะสามารถร้องเรียนได้ <1><1/>", + "Trade Summary": "สรุปการซื้อขาย", + "Maker": "Maker", + "Taker": "Taker", + "User role": "บทบาทผู้ใข้งาน", + "Sent": "ส่งแล้ว", + "Received": "ได้รับแล้ว", + "BTC received": "ได้รับเหรียญแล้ว", + "BTC sent": "ส่งเหรียญแล้ว", + "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)": "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", + "Trade fee": "ค่าธรรมเนียมการเทรด", + "{{swapFeeSats}} Sats ({{swapFeePercent}}%)": "{{swapFeeSats}} Sats ({{swapFeePercent}}%)", + "Onchain swap fee": "ค่าธรรมเนียมการสลับ Onchain", + "{{miningFeeSats}} Sats": "{{miningFeeSats}} Sats", + "{{bondSats}} Sats ({{bondPercent}}%)": "{{bondSats}} Sats ({{bondPercent}}%)", + "Maker bond": "Maker bond", + "Taker bond": "Taker bond", + "Unlocked": "ปลดล็อกแล้ว", + "{{revenueSats}} Sats": "{{revenueSats}} Sats", + "Platform trade revenue": "รายได้แพล้ตฟอร์มจากการซื้อขาย", + "{{routingFeeSats}} MiliSats": "{{routingFeeSats}} MiliSats", + "Platform covered routing fee": "ค่าธรรมเนียม routing fee ออกโดยแพล้ตฟอร์ม", + "Timestamp": "ประทับเวลา", + "Completed in": "เสร็จสิ้นใน", + "Contract exchange rate": "อัตราแลกเปลี่ยน", - - "CONTRACT BOX - TradeBox.js": "The Contract Box that guides users trough the whole trade pipeline", - "Contract Box":"Contract Box", - "Robots show commitment to their peers": "โรบอทต้องแสดงความรับผิดชอบต่อคู่ค้าของตน", - "Lock {{amountSats}} Sats to PUBLISH order": "กักกัน {{amountSats}} Sats เพื่อประกาศรายการซื้อขาย", - "Lock {{amountSats}} Sats to TAKE order": "กักกัน {{amountSats}} Sats เพื่อดำเนินรายการ", - "Lock {{amountSats}} Sats as collateral": "กักกัน {{amountSats}} Sats เป็นหลักประกัน", - "Copy to clipboard":"คัดลอกไปยังคลิปบอร์ด", - "This is a hold invoice, it will freeze in your wallet. It will be charged only if you cancel or lose a dispute.":"นี่คือ hold invoice มันจะกักกันเหรียญของคุณเอาไว้ใน wallet ของคุณและจะดำเนินการตัดจ่ายเหรียญเมื่อคุณยกเลิกรายการหรือแพ้ในกระบวนการร้องเรียน", - "This is a hold invoice, it will freeze in your wallet. It will be released to the buyer once you confirm to have received the {{currencyCode}}.":"นี่คือ hold invoice มันจะกักกันเหรียญของคุณเอาไว้ใน wallet ของคุณ เหรียญจะถูกส่งให้ผู้ซื้อเมื่อคุณยืนยันว่าคุณได้รับเงินเฟียต {{currencyCode}} ครบถ้วนแล้ว", - "Your maker bond is locked":"กักกัน maker bond ของคุณแล้ว", - "Your taker bond is locked":"กักกัน taker bond ของคุณแล้ว", - "Your maker bond was settled":"ปิดบัญชี maker bond แล้ว", - "Your taker bond was settled":"ปิดบัญชี taker bond แล้ว", - "Your maker bond was unlocked":"ปลดล็อก maker bond แล้ว", - "Your taker bond was unlocked":"ปลดล็อก taker bond แล้ว", - "Your order is public":"รายการของคุณถูกประกาศแล้ว", - "Be patient while robots check the book. This box will ring 🔊 once a robot takes your order, then you will have {{deposit_timer_hours}}h {{deposit_timer_minutes}}m to reply. If you do not reply, you risk losing your bond.":"โปรดให้เวลาโรบอทท่านอื่นเข้าดูรายการซื้อขาย หากมีโรบอทมารับรายการซื้อขายของคุณ เราจะทำการแจ้งเตือน 🔊 จากนั้นคุณจะต้องตอบรับภายใน {{deposit_timer_hours}}ชั่วโมง {{deposit_timer_minutes}}นาที หากคุณไม่ตอบรับภายในเวลาที่กำหนด คุณจะสูญเสียเหรียญที่กักกันใน bond ได้", - "If the order expires untaken, your bond will return to you (no action needed).":"ถ้ารายการซื้อขายของคุณไม่มีใครรับ คุณจะได้รับการปลดล็อกเหรียญที่กักกันใน bond ของคุณคืนโดยอัตโนมัติ", - "Enable Telegram Notifications":"เปิดใช้การแจ้งเตือนผ่านทาง Telegram", - "Enable TG Notifications":"ใช้การแจ้งเตือน Telegram", - "You will be taken to a conversation with RoboSats telegram bot. Simply open the chat and press Start. Note that by enabling telegram notifications you might lower your level of anonymity.":"คุณจะเข้าไปยังแชทกับ telegram bot ของ RoboSats ให้คุณกด Start อย่างไรก็ตาม การใช้การแจ้งเตือน telegram จะลดระดับการปกปิดตัวตนของคุณ", - "Go back":"กลับ", - "Enable":"เปิดใช้งาน", - "Telegram enabled":"เปิดใช้ Telegram แล้ว", - "Public orders for {{currencyCode}}":"รายการสำหรับ {{currencyCode}}", - "Premium rank": "ลำดับค่าพรีเมี่ยม", - "Among public {{currencyCode}} orders (higher is cheaper)": "สำหรับรายการที่เป็น {{currencyCode}} (ยิ่งสูงยิ่งถูก)", - "A taker has been found!":"มีคนรับรายการแล้ว!", - "Please wait for the taker to lock a bond. If the taker does not lock a bond in time, the order will be made public again.":"โปรดรอคู่ค้าทำการกักกันเหรียญใน bond ถ้าเขากักกันเหรียญไม่ทันในเวลาที่กำหนด รายการจะถูกประำกาศใหม่", - "Payout Lightning Invoice":"Lightning Invoice สำหรับรับเหรียญ", - "Your info looks good!":"ข้อมูลของคุณครบถ้วน!", - "We are waiting for the seller to lock the trade amount.":"เรากำลังรอผู้ขายวางเหรียญที่นำมาขาย", - "Just hang on for a moment. If the seller does not deposit, you will get your bond back automatically. In addition, you will receive a compensation (check the rewards in your profile).":"กรุณารอซักครู่ ถ้าผู้ขายไม่ยอมวางเหรียญ คุณจะได้รับเหรียญใน bond คืนพร้อมค่าชดเชย (สามารถตรวจสอบได้ในส่วนของรางวัลในโปรไฟล์ของคุณ)", - "The trade collateral is locked!":"ผู้ขายวางเหรียญที่นำมาขายแล้ว", - "We are waiting for the buyer to post a lightning invoice. Once he does, you will be able to directly communicate the fiat payment details.":"เรากำลังรอผู้ซื้อส่ง invoice รับเหรียญให้เรา หลังจากนั้นคุณจะได้แชทคุยกับผู้ซื้อเพื่อชี้แจงรายละเอียดสำหรับการชำระเงินเฟียต", - "Just hang on for a moment. If the buyer does not cooperate, you will get back the trade collateral and your bond automatically. In addition, you will receive a compensation (check the rewards in your profile).":"กรุณารออีกซักครู่ ถ้าผู้ซื้อไม่ให้ความร่วมมือ คุณจะได้รับเหรียญที่นำมาวางและ bond คืนโดยอัตโนมัติ และคุณจะได้รับเงินชดเชยด้วย (สามารถตรวจสอบได้ในส่วนของรางวัลในโปรไฟล์ของท่าน)", - "Confirm {{currencyCode}} sent":"ยืนยันว่าส่งเงิน {{currencyCode}} แล้ว", - "Confirm {{currencyCode}} received":"ยืนยันว่าได้รับเงิน {{currencyCode}} แล้ว", - "Open Dispute":"ร้องเรียน", - "The order has expired":"รายการหมดอายุแล้ว", - "Chat with the buyer":"แชทกับผู้ซื้อ", - "Chat with the seller":"แชทกับผู้ขาย", - "Say hi! Be helpful and concise. Let them know how to send you {{currencyCode}}.":"ทักทาย ให้ความร่วมมือกัน และมีความรัดกุม แจ้งรายละเอียดการจ่ายเงิน {{currencyCode}} ให้อีกฝ่ายทราบ", - "The buyer has sent the fiat. Click 'Confirm Received' once you receive it.":"ผู้ซื้อแจ้งว่าส่งเงินเฟียตแล้ว ตรวจสอบและกดยืนยัน 'Confirm Received' หากคุณได้รับเงินครบถ้วนแล้ว", - "Say hi! Ask for payment details and click 'Confirm Sent' as soon as the payment is sent.":"ทักทาย สอบถามรายละเอียดการชำระเงิน และกดยืนยัน 'Confirm Sent' เมื่อคุณจ่ายเงินแล้ว", - "Wait for the seller to confirm he has received the payment.":"รอผู้ขายยืนยันว่าได้รับเงินเฟียตแล้ว", - "Confirm you received {{currencyCode}}?":"ยืนยันว่าคุณได้รับ {{currencyCode}} แล้ว ?", - "Confirming that you received the fiat will finalize the trade. The satoshis in the escrow will be released to the buyer. Only confirm after the {{amount}} {{currencyCode}} have arrived to your account. In addition, if you have received the payment and do not confirm it, you risk losing your bond.":"การยืนยันการได้รับเงินเฟียตเป็นขั้นตอนสุดท้ายของการซื้อขาย เหรียญส่วนที่กักกันไว้สำหรับขายจะถูกส่งให้ผู้ซื้อทันทีหลังจากยืนยัน ตรวจสอบให้เรียบร้อยว่าเงิน {{amount}} {{currencyCode}} เข้าไปที่บัญชีของคุณแล้ว และนอกจากนี้ หากคุณได้รับเงินเฟียตแล้วแต่ไม่ยอมยืนยัน คุณเสี่ยงที่จะสูญเสียเหรียญที่กักไว้ใน bond", - "Confirm":"ยืนยัน", - "🎉Trade finished!🥳":"🎉ซื้อขายเสร็จสิ้น!🥳", - "rate_robosats":"คุณคิดอย่างไรกับ 🤖<1>RoboSats⚡?", - "Thank you! RoboSats loves you too ❤️":"ขอบคุณ! RoboSats รักคุณเช่นกัน❤️", - "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!":"RoboSats จะดีขึ้นเมื่อมีสภาพคล่องและผู้ใช้งานมากขึ้น ช่วยกันชวนเพื่อนของคุณมาใช้ Robosats!", - "Thank you for using Robosats!":"ขอบคุณที่ใช้งาน Robosats!", - "let_us_know_hot_to_improve":"บอกเราว่าเราควรปรับปรุงอย่างไร (<1>Telegram / <3>Github)", - "Start Again":"Start Again", - "Attempting Lightning Payment":"กำลังดำเนินการจ่ายเหรียญทาง Lightning", - "RoboSats is trying to pay your lightning invoice. Remember that lightning nodes must be online in order to receive payments.":"RoboSats กำลังจ่ายเหรียญให้ lightning invoice ของท่าน lightning nodes จะต้องออนไลน์เพื่อรับเหรียญ", - "Retrying!":"กำลังลองใหม่!", - "Lightning Routing Failed":"Lightning Routing ล้มเหลว", - "Your invoice has expired or more than 3 payment attempts have been made. Submit a new invoice.":"Invoice หมดอายุ หรือเราได้ลองจ่ายเหรียญครบ 3 ครั้งแล้ว กรุณาส่ง invoice ใหม่ให้เรา", - "Check the list of compatible wallets":"ตรวจสอบรายการกระเป๋าเก็บเหรียญที่ใช้กับเราได้", - "RoboSats will try to pay your invoice 3 times with a one minute pause in between. If it keeps failing, you will be able to submit a new invoice. Check whether you have enough inbound liquidity. Remember that lightning nodes must be online in order to receive payments.":"RoboSats จะลองจ่ายเหรียญให้ invoice ของท่าน 3 ครั้ง ห่างกันครั้งละ 1 นาที หากครบ 3 ครั้งแล้วยังล้มเหลวคุณจะสามารถส่ง invoice มาใหม่ได้ ตรวจสอบว่าคุณมี inbound liquidity เพียงพอ และ lightning nodes จะต้องออนไลน์จึงจะรับเหรียญได้", - "Next attempt in":"ลองใหม่ภายใน", - "Do you want to open a dispute?":"ต้องการร้องเรียนหรือไม่?", - "The RoboSats staff will examine the statements and evidence provided. You need to build a complete case, as the staff cannot read the chat. It is best to provide a burner contact method with your statement. The satoshis in the trade escrow will be sent to the dispute winner, while the dispute loser will lose the bond.":"ทีมงาน RoboSats จะตรวจสอบคำแถลงและหลักฐานที่ได้รับ คุณจะต้องให้ข้อมูลเหตุการณ์ทั้งหมดอย่างละเอียดเนื่องจากทีมงานไม่สามารถอ่านข้อความในแชทซื้อขายได้ และคุณจะต้องระบุช่องทางสำหรับติดต่อคุณกลับมาในคำแถลงด้วย เหรียญที่ถูกกักกันไว้เพื่อซื้อขายจะถูกส่งให้ผู้ชนะการร้องเรียน และผู้แพ้จะสูญเสียเหรียญที่กักกันใน bond", - "Disagree":"ไม่ตกลง", - "Agree and open dispute":"ตกลงและดำเนินการร้องเรียน", - "A dispute has been opened":"ดำเนินการร้องเรียนแล้ว", - "Please, submit your statement. Be clear and specific about what happened and provide the necessary evidence. You MUST provide a contact method: burner email, XMPP or telegram username to follow up with the staff. Disputes are solved at the discretion of real robots (aka humans), so be as helpful as possible to ensure a fair outcome. Max 5000 chars.":"กรุณาส่งคำแถลงของคุณ อธิบายรายละเอียดและเหตุการณ์ที่เกิดขึ้นทั้งหมดอย่างครบถ้วนและชัดเจนและแสดงหลักฐานที่จำเป็นให้เรา คุณจะต้องระบุช่องทางการติดต่อกลับ เช่น อีเมลล์ชั่วคราว, XMPP, หรือ telegram username เพื่อให้ทีมงานติดตามเรื่องได้ การดำเนินการกับข้อร้องเรียนจะทำโดยคน กรุณาให้การสนับสนุนทีมงานให้มากที่สุดเพื่อให้ได้ผลลัพธ์ที่เหมาะสมที่สุด (คำแถลงไม่เกิน 5000 ตัวอักษร)", - "Submit dispute statement":"ส่งคำแถลงสำหรับข้อร้องเรียน", - "We have received your statement":"เราได้รับคำแถลงของคุณแล้ว", - "We are waiting for your trade counterpart statement. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com.":"เรากำลังรอคำแถลงจากคู่ค้าของคุณ ถ้าคุณมีข้อสงสัยเกี่ยวกับสถานะของข้อร้องเรียนหรือต้องการส่งข้อมูลเพิ่มเติม กรุณาติดต่อทาง robosats@protonmail.com", - "Please, save the information needed to identify your order and your payments: order ID; payment hashes of the bonds or escrow (check on your lightning wallet); exact amount of satoshis; and robot nickname. You will have to identify yourself as the user involved in this trade via email (or other contact methods).":"กรุณาจดบันทึกข้อมูลต่อไปนี้เพื่อใช้ในการระบุรายการซื้อขายที่มีการร้องเรียน: รหัสรายการซื้อขาย, รหัสธุรกรรม (payment hashes) ของการกักกันเหรียญใน bond (ตรวจสอบได้ใน lightning wallet ของคุณ), จำนวน satoshis ใน bond รวมทั้งชื่อเล่นของโรบอทของคุณเพื่อให้คุณสามารถระบุตัวตนของคุณได้เมื่อทำการติดต่อกับทีมงาน", - "We have the statements":"เราได้รับเรื่องร้องเรียนแล้ว", - "Both statements have been received, wait for the staff to resolve the dispute. If you are hesitant about the state of the dispute or want to add more information, contact robosats@protonmail.com. If you did not provide a contact method, or are unsure whether you wrote it right, write us immediately.":"เราได้รับคำแถลงจากทั้งสองฝ่ายแล้ว กรุณารอทีมงานดำเนินการแก้ไขเรื่องร้องเรียน ถ้าคุณมีข้อสงสัยเกี่ยวกับสถานะของข้อร้องเรียนหรือต้องการส่งข้อมูลเพิ่มเติม กรุณาติดต่อทาง robosats@protonmail.com ถ้าคุณไม่ได้ระบุช่องทางการติดต่อหรือไม่แน่ใจว่าระบุถูกต้องหรือไม่ ขอให้คุณส่งมาให้เราตามอีเมลล์นี้ทันที", - "You have won the dispute":"คุณชนะการร้องเรียน", - "You can claim the dispute resolution amount (escrow and fidelity bond) from your profile rewards. If there is anything the staff can help with, do not hesitate to contact to robosats@protonmail.com (or via your provided burner contact method).":"คุณสามารถรับเหรียญที่ได้จากการแก้ไขข้อร้องเรียนได้ที่รางวัลในโปรไฟล์ของคุณ (เหรียญที่ถูกกักกันไว้ในกระบวนการซื้อขาย) และถ้าหากต้องการความช่วยเหลือเพิ่มเติม สามารถติดต่อผ่านทาง robosats@protonmail.com (หรือผ่านช่องทางติดต่อที่คุณได้ให้เราไว้ก่อนหน้านี้).", - "You have lost the dispute":"คุณแพ้การร้องเรียน", - "Unfortunately you have lost the dispute. If you think this is a mistake you can ask to re-open the case via email to robosats@protonmail.com. However, chances of it being investigated again are low.":"เสียใจด้วย คุณแพ้กระบวนการร้องเรียน ถ้าคุณคิดว่ามีข้อผิดพลาดเกิดขึ้นคุณสามารถเปิดการร้องเรียนใหม่ได้ผ่านทาง robosats@protonmail.com แต่จะมีโอกาสที่เรื่องร้องเรียนจะได้รับการตรวจสอบซ้ำอีกครั้งน้อยมาก", - "Expired not taken":"หมดอายุโดยไม่มีใครรับรายการ", - "Maker bond not locked":"ไม่ได้กักกันเหรียญใน bond", - "Escrow not locked":"ไม่ได้วางเหรียญที่นำมาขายใน escrow", - "Invoice not submitted":"ไม่ได้ส่ง Invoice", - "Neither escrow locked or invoice submitted":"ไม่ได้วางเหรียญที่นำมาขาย (escrow) และไม่ได้ส่ง Invoice รับเหรียญ", - "Renew Order":"เริ่มรายการใหม่", - "Pause the public order":"ระงับการประกาศรายการ", - "Your order is paused":"ระงับการประกาศรายการแล้ว", - "Your public order has been paused. At the moment it cannot be seen or taken by other robots. You can choose to unpause it at any time.":"รายการของคุณไม่ได้มีการประกาศอยู่ โรบอทอื่นจะไม่สามารถมองเห็นหรือรับรายการซื้อขายดังกล่าวได้คุณสามารถเลิกระงับการประกาศรายการตอนไหนก็ได้", - "Unpause Order":"เลิกระงับการประกาศรายการ", - "You risk losing your bond if you do not lock the collateral. Total time available is {{deposit_timer_hours}}h {{deposit_timer_minutes}}m.":"คุณจะเสี่ยงต่อการสูญเสียเหรียญใน bond ถ้าคุณวางเหรียญส่วนที่จะขายไม่ทัน คุณมีเวลาเหลืออีก {{deposit_timer_hours}}ชั่วโมง {{deposit_timer_minutes}}นาที", - "See Compatible Wallets":"ดูกระเป๋าบิทคอยน์ (Wallets) ที่สามารถใช้งานได้", - "Failure reason:":"เหตุผลที่ล้มเหลว", - "Payment isn't failed (yet)":"การจ่ายยังไม่ล้มเหลว", - "There are more routes to try, but the payment timeout was exceeded.":"ยังมี routes ให้ลองอีกหลายสายแต่ว่าเลยระยะเวลาจ่ายแล้ว", - "All possible routes were tried and failed permanently. Or there were no routes to the destination at all.":"ลองจ่ายเหรียญผ่านทุก Routes ที่เป็นไปได้แล้วแต่ล้มเหลว หรืออาจไม่มี routes สำหรับจุดหมายนี้ตั้งแต่แรกแล้ว", - "A non-recoverable error has occurred.":"A non-recoverable error has occurred.", - "Payment details are incorrect (unknown hash, invalid amount or invalid final CLTV delta).":"รายละเอียดการรับเหรียญไม่ถูกต้อง (ไม่ทราบ hash, จำนวนผิด หรือ final CLTV delta ผิด).", - "Insufficient unlocked balance in RoboSats' node.":"เหรียญที่ไม่ได้ถูกกักกันใน RoboSats' node ไม่เพียงพอ", - "The invoice submitted only has expensive routing hints, you are using an incompatible wallet (probably Muun?). Check the wallet compatibility guide at wallets.robosats.com":"Invoice ที่ส่งมาใช้แต่เส้นทาง routing ที่ราคาแพง แสดงว่าคุณกำลังใช้ wallet ที่ใช้กับแพล้ทฟอร์มไม่ได้ (น่าจะเป็น Muun?) กรุณาตรวจสอบ wallet ที่ใช้งานได้ที่ wallets.robosats.com", - "The invoice provided has no explicit amount":"Invoice ที่ได้ ไม่มีการแสดงจำนวนชัดเจน", - "Does not look like a valid lightning invoice":"Lightning invoice ไม่ถูกต้อง", - "The invoice provided has already expired":"Invoice ที่ได้มาก่อนหน้านี้ หมดอายุแล้ว", - "Make sure to EXPORT the chat log. The staff might request your exported chat log JSON in order to solve discrepancies. It is your responsibility to store it.":"คุณต้องทำการส่งออกบันทึกข้อความแชทไว้ด้วย เนื่องจากทีมงานอาจร้องขอบทสนาที่ถูกนำออกเพื่อใช้ในการแก้ไข้ปัญหา และคุณจะต้องรับผิดชอบการเก็บรักษามันไว้ด้วย", - "Invalid address":"Address ไม่ถูกต้อง", - "Unable to validate address, check bitcoind backend":"ไม่สามารถตรวจสอบความถูกต้องของ address ได้ ตรวจสอบ bitcoind backend", - "Submit payout info for {{amountSats}} Sats":"ส่งรายละเอียดการจ่ายเงินสำหรับ {{amountSats}} Sats", - "Submit a valid invoice for {{amountSats}} Satoshis.":"ส่ง invoice ที่ถูกต้องสำหรับ {{amountSats}} Satoshis.", - "Before letting you send {{amountFiat}} {{currencyCode}}, we want to make sure you are able to receive the BTC.":"ก่อนที่คุณจะส่งเงิน {{amountFiat}} {{currencyCode}} เราต้องการทำให้แน่ใจได้ว่าคุณสามารถรับเหรียญ BTC ได้", - "RoboSats will do a swap and send the Sats to your onchain address.":"RoboSats จะทำการสลับเปลี่ยนเหรียญจาก lightning แล้วส่งเหรียญให้คุณผ่านทาง onchain address.", - "Swap fee":"ค่าธรรมเนียมการสลับเปลี่ยน", - "Mining fee":"ค่าธรรมเนียมการขุด", - "Mining Fee":"ค่าธรรมเนียมการขุด", - "Final amount you will receive":"จำนวนเหรียญที่คุณจะได้รับจริงๆ", - "Bitcoin Address":"Bitcoin Address", - "Your TXID":"TXID ของคุณ", - "Lightning":"Lightning", - "Onchain":"Onchain", - "open_dispute":"คุณต้องรอก่อนจึงจะสามารถร้องเรียนได้ <1><1/>", - "Trade Summary":"สรุปการซื้อขาย", - "Maker":"Maker", - "Taker":"Taker", - "User role":"บทบาทผู้ใข้งาน", - "Sent":"ส่งแล้ว", - "Received":"ได้รับแล้ว", - "BTC received":"ได้รับเหรียญแล้ว", - "BTC sent":"ส่งเหรียญแล้ว", - "{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)":"{{tradeFeeSats}} Sats ({{tradeFeePercent}}%)", - "Trade fee":"ค่าธรรมเนียมการเทรด", - "{{swapFeeSats}} Sats ({{swapFeePercent}}%)":"{{swapFeeSats}} Sats ({{swapFeePercent}}%)", - "Onchain swap fee":"ค่าธรรมเนียมการสลับ Onchain", - "{{miningFeeSats}} Sats":"{{miningFeeSats}} Sats", - "{{bondSats}} Sats ({{bondPercent}}%)":"{{bondSats}} Sats ({{bondPercent}}%)", - "Maker bond":"Maker bond", - "Taker bond":"Taker bond", - "Unlocked":"ปลดล็อกแล้ว", - "{{revenueSats}} Sats":"{{revenueSats}} Sats", - "Platform trade revenue":"รายได้แพล้ตฟอร์มจากการซื้อขาย", - "{{routingFeeSats}} MiliSats":"{{routingFeeSats}} MiliSats", - "Platform covered routing fee":"ค่าธรรมเนียม routing fee ออกโดยแพล้ตฟอร์ม", - "Timestamp":"ประทับเวลา", - "Completed in":"เสร็จสิ้นใน", - "Contract exchange rate":"อัตราแลกเปลี่ยน", - - "INFO DIALOG - InfoDiagog.js":"App information and clarifications and terms of use", - "Close":"ปิด", - "What is RoboSats?":"RoboSats คืออะไร?", - "It is a BTC/FIAT peer-to-peer exchange over lightning.":"เราคือตลาดนัดสำหรับแลกเปลี่ยนระหว่างเงินเฟียตสกุลใดก็ได้กับ Bitcoin ที่ทำงานโดย lightning network.", - "RoboSats is an open source project ":"RoboSats เป็นโปรเจค open source", - "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.":"เราทำให้การจับคู่ซื้อขายเป็นเรื่องง่ายและลดการอาศัยความไว้ใจ RoboSats มุ่งเน้นที่ความเป็นส่วนตัวและความสะดวกรวดเร็ว", - "(GitHub).":"(GitHub)", - "How does it work?":"มันทำงานอย่างไร?", - "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!":"ผู้ใช้งานนิรนาม01 ต้องการขายเหรียญ (Bitcoin) เขาโพสรายการขาย จากนั้นผู้ใช้งานนิรนาม02 ต้องการซื้อเหรียญจึงรับรายการขายของผู้ใช้งานนิรนาม01 ทั้งคู่จะต้องกักกันเหรียญจำนวนเล็กน้อยใน bond โดยใช้ lightning เพื่อพิสูจน์ว่าทั้งคู่เป็นผู้ใช้งานที่มีตัวตนจริงๆ จากนั้นผู้ใช้งานนิรนาม01จะต้องวางเหรียญที่ต้องการจะนำมาขายเป็นหลักประกันโดยใช้ระบบ hold invoice ของ lightning จากนั้น RoboSats จะทำการล็อกเหรียญส่วนนั้นไว้จนกว่าผู้ใช้งานนิรนาม01จะยืนยันว่าเขาได้รับเงินเฟียตแล้ว หลังจากนั้นเหรียญก็จะถูกปล่อยให้กับผู้ใช้งานนิรนาม02", - "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.":"ไม่มีขั้นตอนใดที่ผู้ใช้งานนิรนามทั้ง 2 ฝ่ายจะต้องฝากเหรียญของตนไว้ให้อีกฝ่าย และถ้าหากทั้งคู่มีข้อพิพาทเกิดขึ้น ทีมงานของ RoboSats จะให้ความช่วยเหลือในการจัดการเรื่องร้องเรียนระหว่างผู้ใช้งานทั้งสอง", - "You can find a step-by-step description of the trade pipeline in ":"คุณสามารถอ่านขั้นตอนการซื้อขายทีละขั้นได้ที่", - "How it works":"มันทำงานอย่างไร", - "You can also check the full guide in ":"และคุณสามารถอ่านรายละเอียดขั้นตอนการซื้อขายทั้งหมดได้ที่", - "How to use":"วิธีการใช้งาน", - "What payment methods are accepted?":"ต้องชำระเงินผ่านช่องทางไหน?", - "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has an expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.":"ใช้ได้ทุกช่องทางที่มีความรวดเร็ว คุณสามารถระบุช่องทางการชำระเงินที่ต้องการได้ จากนั้นคุณก็รอจับคู่กับคนที่สะดวกช่องทางการชำระเงินเดียวกับคุณ ขั้นตอนการชำระเงินเฟียตจะต้องเสร็จสิ้นภายใน 24 ชั่วโมง หากนานกว่านั้นจะมีการเปิดเรื่องร้องเรียนโดยอัตโนมัติ เราแนะนำให้คุณใช้ช่องทางที่สามารถชำระเงินเฟียตได้แบบทันทีทันใด", - "Are there trade limits?":"มีขีดจำกัดการซื้อขายมั้ย?", - "What are the fees?":"ค่าธรรมเนียมเท่าไหร่?", - "RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.":"RoboSats จะเก็บค่าธรรมเนียม {{tradeFee}}% ต่อรายการเทรด โดยแบ่งเป็นค่าธรรมเนียมของฝ่าย Maker ({{makerFee}}%) และฝ่าย Taker({{takerFee}}%) และในกรณีการใช้ on-chain address จะมีค่าธรรมเนียมการ swap เพิ่มซึ่งจะไม่คงที่สามารถตรวจสอบอัตราค่า swap ได้ที่ไอคอนบนแถบด้านล่าง", - "Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.":"ข้อควรระวัง สำหรับฝ่ายผู้ซื้อเหรียญ ค่าธรรมเนียมทั้งหมดที่เกี่ยวข้องสำหรับกระบวนการส่งเงินเฟียต และค่า swap เงินเฟียต ถือเป็นความรับผิดชอบของผู้ซื้อเหรียญ ผู้ขายจะต้องได้รับเงินตามจำนวนครบถ้วนเท่ากับที่ระบุไว้ในรายการซื้อขาย", - "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).":"ปริมาณการซื้อขายสูงสุดต่อรอบคือ {{maxAmount}} Satoshis เพื่อลดความเสี่ยงที่ lightning network routing จะล้มเหลว ไม่มีจำกัดจำนวนครั้งการซื้อขายต่อวัน โรบอท 1 ท่านจะสามารถทำการเทรดได้ครั้งละ 1 รายการ แต่คุณก็สามารถใช้งานโรบอทหลายตัวได้โดยการใช้งานผ่านหลายบราวเซอร์ (และอย่าลืมเก็บรักษา token ของโรบอทไว้ให้ดี!).", - "Is RoboSats private?":"RoboSats มีความเป็นส่วนตัวมั้ย?", - "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.":"RoboSats จะไม่มีวันถาม ชื่อสกุล, ประเทศ หรือ รหัสบัตรประชาชน RoboSats จะไม่สามารถเก็บหรือควบคุมเงินของคุณได้และไม่สนใจด้วยซ้ำว่าคุณเป็นไร RoboSats จะไม่มีการเก็บข้อมูลส่วนตัวใดๆ และผู้ใช้งานควรเข้าใช้งานผ่าน Tor browser .onion hidden service เพื่อความเป็นส่วนตัวสูงสุด", - "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.":"คู่ค้าของคุณคือผู้เดียวที่อาจสามารถเดาตัวตนหรือข้อมูลของคุณได้ ควรแชทกันอย่างกระชับและตรงประเด็น หลีกเลี่ยงการให้ข้อมูลที่ไม่จำเป็นหรือไม่เกี่ยวข้องกับกระบวนการชำระเงินเฟียต", - "What are the risks?":"มีความเสี่ยงอะไรบ้าง?", - "This is an experimental application, things could go wrong. Trade small amounts!":"เราเป็นแอพที่ยังอยู่ในระหว่างการพัฒนาอาจมีปัญหาที่ไม่คาดคิดเกิดขึ้นได้ดังนั้นจึงควรทำซื้อขายในปริมาณน้อยๆ", - "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.":"ผู้ขายเหรียญมีความเสี่ยงที่จะถูกเรียกเงินคืนเช่นเดียวกับการใช้แพล้ตฟอร์ม Peer-to-peer อื่นๆ ดังนั้นจึงควรหลีกเลี่ยงการรับชำระเงินผ่านทาง Paypal หรือบัตรเครดิต", - "What is the trust model?":"รูปแบบความเชื่อถือเป็นอย่างไร?", - "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.":"ผู้ซื้อและผู้ขายไม่จำเป็นต้องไว้ใจซึ่งกันและกัน แต่ทั้งคู่จำเป็นจะต้องไว้ใจ RoboSats เพราะเป็นส่วนที่ควบคุม hold invoice ของผู้ขายเหรียญและการชำระเงินเฟียตยังไม่เป็นระบบ atomic และนอกจากนี้การดำเนินการกับเรื่องร้องเรียนจะจัดการโดยทีมงานของ RoboSats", - "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq":"นั่นหมายความว่า จะลดการอาศัยความไว้ใจให้น้อยที่สุด อย่างไรก็ตาม RoboSats ก็พอที่จะสามารถขโมยเหรียญของคุณไปได้ โดยไม่ปล่อยเหรียญให้ผู้ซื้อ ซึ่งการกระทำดังกล่าวเป็นสิ่งที่ไม่เป็นประโยชน์ต่อ RoboSats เป็นการทำลายชื่อเสียงเพื่อแลกกับเงินจำนวนน้อยนิด อย่างไรก็ตามคุณควรจะมีความตระหนักและทำการซื้อขายทีละน้อย สำหรับการซื้อขายในปริมาณมากๆคุณควรใช้แพล้ตฟอร์มอื่น เช่น Bisq", - "You can build more trust on RoboSats by inspecting the source code.":"คุณสามารถตรวจสอบ source code ของแพล้ตฟอร์มได้เพื่อให้คุณสามารถเชื่อมั่นใน RoboSats ได้มากขึ้น", - "Project source code":"Project source code", - "What happens if RoboSats suddenly disappears?":"ถ้าจู่ๆ RoboSats หายไปดื้อๆเลยจะเกิดอะไรขึ้น?", - "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.":"เหรียญของคุณทั้งหมดจะถูกคืนให้คุณ hold invoice ที่ไม่ได้ชำระบัญชีจะถูกคืนอย่างอัตโนมัติไม่ว่า RoboSats จะล่มหนักแค่ไหนก็ตาม โดยจะคืนทั้งเหรียญที่กักใน bond และเหรียญที่เป็นหลักประกันที่นำมาขาย อย่างไรก็ตาม มันจะมีช่วงเวลาสั้นๆระหว่างที่ผู้ขายยืนยันว่าได้รับเงินเฟียตแล้วกับช่วงที่ผู้ซื้อจะได้รับเหรียญ เหรียญอาจหายไปตลอดกาลได้หาก RoboSats ล่มภายในช่วงเวลาดังกล่าวพอดี ช่วงเวลานี้จะกินเวลาประมาณ 1 วินาที ดังนั้นจึงควรมี inbound liquidity ที่เพียงพอเพื่อป้องกันการ routing ล้มเหลว และหากคุณมีปัญหาอะไรสามารถติดต่อเราได้ผ่านช่องทางสาธารณะทั้งหมดที่เรามี", - "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.":"ในหลายประเทศการใช้ RoboSats ตามกฎหมายไม่แตกต่างกับ Ebay หรือ Craiglist กฎหมายแต่ละประเทศจะมีความแตกต่างกันและเป็นความรับผิดชอบของคุณในการปฏิบัติตามกฎหมาย", - "Is RoboSats legal in my country?":"RoboSats ถูกกฎหมายในประเทศที่ฉันอยู่หรือไม่?", - "Disclaimer":"ข้อความปฏิเสธความรับผิดชอบ", - "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ":"แอพพลิเคชั่น lightning นี้เปิดให้ใช้งานโดยที่ยังอยู่ในระหว่างการพัฒนาจึงควรทำการซื้อขายอย่างระมัดระวัง ปัจจุบันยังไม่มีฝ่ายบริการลูกค้ารายบุคคล จำเป็นต้องใช้ช่องทางสาธารณะในการติดต่อขอความช่วยเหลือ", - "(Telegram)":"(Telegram)", - ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.":". RoboSats จะไม่ติดต่อคุณและไม่มีทางขอ token ของโรบอทของคุณ" + "INFO DIALOG - InfoDiagog.js": "App information and clarifications and terms of use", + "Close": "ปิด", + "What is RoboSats?": "RoboSats คืออะไร?", + "It is a BTC/FIAT peer-to-peer exchange over lightning.": "เราคือตลาดนัดสำหรับแลกเปลี่ยนระหว่างเงินเฟียตสกุลใดก็ได้กับ Bitcoin ที่ทำงานโดย lightning network.", + "RoboSats is an open source project ": "RoboSats เป็นโปรเจค open source", + "It simplifies matchmaking and minimizes the need of trust. RoboSats focuses in privacy and speed.": "เราทำให้การจับคู่ซื้อขายเป็นเรื่องง่ายและลดการอาศัยความไว้ใจ RoboSats มุ่งเน้นที่ความเป็นส่วนตัวและความสะดวกรวดเร็ว", + "(GitHub).": "(GitHub)", + "How does it work?": "มันทำงานอย่างไร?", + "AnonymousAlice01 wants to sell bitcoin. She posts a sell order. BafflingBob02 wants to buy bitcoin and he takes Alice's order. Both have to post a small bond using lightning to prove they are real robots. Then, Alice posts the trade collateral also using a lightning hold invoice. RoboSats locks the invoice until Alice confirms she received the fiat, then the satoshis are released to Bob. Enjoy your satoshis, Bob!": "ผู้ใช้งานนิรนาม01 ต้องการขายเหรียญ (Bitcoin) เขาโพสรายการขาย จากนั้นผู้ใช้งานนิรนาม02 ต้องการซื้อเหรียญจึงรับรายการขายของผู้ใช้งานนิรนาม01 ทั้งคู่จะต้องกักกันเหรียญจำนวนเล็กน้อยใน bond โดยใช้ lightning เพื่อพิสูจน์ว่าทั้งคู่เป็นผู้ใช้งานที่มีตัวตนจริงๆ จากนั้นผู้ใช้งานนิรนาม01จะต้องวางเหรียญที่ต้องการจะนำมาขายเป็นหลักประกันโดยใช้ระบบ hold invoice ของ lightning จากนั้น RoboSats จะทำการล็อกเหรียญส่วนนั้นไว้จนกว่าผู้ใช้งานนิรนาม01จะยืนยันว่าเขาได้รับเงินเฟียตแล้ว หลังจากนั้นเหรียญก็จะถูกปล่อยให้กับผู้ใช้งานนิรนาม02", + "At no point, AnonymousAlice01 and BafflingBob02 have to entrust the bitcoin funds to each other. In case they have a conflict, RoboSats staff will help resolving the dispute.": "ไม่มีขั้นตอนใดที่ผู้ใช้งานนิรนามทั้ง 2 ฝ่ายจะต้องฝากเหรียญของตนไว้ให้อีกฝ่าย และถ้าหากทั้งคู่มีข้อพิพาทเกิดขึ้น ทีมงานของ RoboSats จะให้ความช่วยเหลือในการจัดการเรื่องร้องเรียนระหว่างผู้ใช้งานทั้งสอง", + "You can find a step-by-step description of the trade pipeline in ": "คุณสามารถอ่านขั้นตอนการซื้อขายทีละขั้นได้ที่", + "How it works": "มันทำงานอย่างไร", + "You can also check the full guide in ": "และคุณสามารถอ่านรายละเอียดขั้นตอนการซื้อขายทั้งหมดได้ที่", + "How to use": "วิธีการใช้งาน", + "What payment methods are accepted?": "ต้องชำระเงินผ่านช่องทางไหน?", + "All of them as long as they are fast. You can write down your preferred payment method(s). You will have to match with a peer who also accepts that method. The step to exchange fiat has an expiry time of 24 hours before a dispute is automatically open. We highly recommend using instant fiat payment rails.": "ใช้ได้ทุกช่องทางที่มีความรวดเร็ว คุณสามารถระบุช่องทางการชำระเงินที่ต้องการได้ จากนั้นคุณก็รอจับคู่กับคนที่สะดวกช่องทางการชำระเงินเดียวกับคุณ ขั้นตอนการชำระเงินเฟียตจะต้องเสร็จสิ้นภายใน 24 ชั่วโมง หากนานกว่านั้นจะมีการเปิดเรื่องร้องเรียนโดยอัตโนมัติ เราแนะนำให้คุณใช้ช่องทางที่สามารถชำระเงินเฟียตได้แบบทันทีทันใด", + "Are there trade limits?": "มีขีดจำกัดการซื้อขายมั้ย?", + "What are the fees?": "ค่าธรรมเนียมเท่าไหร่?", + "RoboSats total fee for an order is {{tradeFee}}%. This fee is split to be covered by both: the order maker ({{makerFee}}%) and the order taker ({{takerFee}}%). In case an onchain address is used to received the Sats a variable swap fee applies. Check the exchange details by tapping on the bottom bar icon to see the current swap fee.": "RoboSats จะเก็บค่าธรรมเนียม {{tradeFee}}% ต่อรายการเทรด โดยแบ่งเป็นค่าธรรมเนียมของฝ่าย Maker ({{makerFee}}%) และฝ่าย Taker({{takerFee}}%) และในกรณีการใช้ on-chain address จะมีค่าธรรมเนียมการ swap เพิ่มซึ่งจะไม่คงที่สามารถตรวจสอบอัตราค่า swap ได้ที่ไอคอนบนแถบด้านล่าง", + "Be aware your fiat payment provider might charge extra fees. In any case, the buyer bears the costs of sending fiat. That includes banking charges, transfer fees and foreign exchange spreads. The seller must receive exactly the amount stated in the order details.": "ข้อควรระวัง สำหรับฝ่ายผู้ซื้อเหรียญ ค่าธรรมเนียมทั้งหมดที่เกี่ยวข้องสำหรับกระบวนการส่งเงินเฟียต และค่า swap เงินเฟียต ถือเป็นความรับผิดชอบของผู้ซื้อเหรียญ ผู้ขายจะต้องได้รับเงินตามจำนวนครบถ้วนเท่ากับที่ระบุไว้ในรายการซื้อขาย", + "Maximum single trade size is {{maxAmount}} Satoshis to minimize lightning routing failure. There is no limits to the number of trades per day. A robot can only have one order at a time. However, you can use multiple robots simultaneously in different browsers (remember to back up your robot tokens!).": "ปริมาณการซื้อขายสูงสุดต่อรอบคือ {{maxAmount}} Satoshis เพื่อลดความเสี่ยงที่ lightning network routing จะล้มเหลว ไม่มีจำกัดจำนวนครั้งการซื้อขายต่อวัน โรบอท 1 ท่านจะสามารถทำการเทรดได้ครั้งละ 1 รายการ แต่คุณก็สามารถใช้งานโรบอทหลายตัวได้โดยการใช้งานผ่านหลายบราวเซอร์ (และอย่าลืมเก็บรักษา token ของโรบอทไว้ให้ดี!).", + "Is RoboSats private?": "RoboSats มีความเป็นส่วนตัวมั้ย?", + "RoboSats will never ask you for your name, country or ID. RoboSats does not custody your funds and does not care who you are. RoboSats does not collect or custody any personal data. For best anonymity use Tor Browser and access the .onion hidden service.": "RoboSats จะไม่มีวันถาม ชื่อสกุล, ประเทศ หรือ รหัสบัตรประชาชน RoboSats จะไม่สามารถเก็บหรือควบคุมเงินของคุณได้และไม่สนใจด้วยซ้ำว่าคุณเป็นไร RoboSats จะไม่มีการเก็บข้อมูลส่วนตัวใดๆ และผู้ใช้งานควรเข้าใช้งานผ่าน Tor browser .onion hidden service เพื่อความเป็นส่วนตัวสูงสุด", + "Your trading peer is the only one who can potentially guess anything about you. Keep your chat short and concise. Avoid providing non-essential information other than strictly necessary for the fiat payment.": "คู่ค้าของคุณคือผู้เดียวที่อาจสามารถเดาตัวตนหรือข้อมูลของคุณได้ ควรแชทกันอย่างกระชับและตรงประเด็น หลีกเลี่ยงการให้ข้อมูลที่ไม่จำเป็นหรือไม่เกี่ยวข้องกับกระบวนการชำระเงินเฟียต", + "What are the risks?": "มีความเสี่ยงอะไรบ้าง?", + "This is an experimental application, things could go wrong. Trade small amounts!": "เราเป็นแอพที่ยังอยู่ในระหว่างการพัฒนาอาจมีปัญหาที่ไม่คาดคิดเกิดขึ้นได้ดังนั้นจึงควรทำซื้อขายในปริมาณน้อยๆ", + "The seller faces the same charge-back risk as with any other peer-to-peer service. Paypal or credit cards are not recommended.": "ผู้ขายเหรียญมีความเสี่ยงที่จะถูกเรียกเงินคืนเช่นเดียวกับการใช้แพล้ตฟอร์ม Peer-to-peer อื่นๆ ดังนั้นจึงควรหลีกเลี่ยงการรับชำระเงินผ่านทาง Paypal หรือบัตรเครดิต", + "What is the trust model?": "รูปแบบความเชื่อถือเป็นอย่างไร?", + "The buyer and the seller never have to trust each other. Some trust on RoboSats is needed since linking the seller's hold invoice and buyer payment is not atomic (yet). In addition, disputes are solved by the RoboSats staff.": "ผู้ซื้อและผู้ขายไม่จำเป็นต้องไว้ใจซึ่งกันและกัน แต่ทั้งคู่จำเป็นจะต้องไว้ใจ RoboSats เพราะเป็นส่วนที่ควบคุม hold invoice ของผู้ขายเหรียญและการชำระเงินเฟียตยังไม่เป็นระบบ atomic และนอกจากนี้การดำเนินการกับเรื่องร้องเรียนจะจัดการโดยทีมงานของ RoboSats", + "To be totally clear. Trust requirements are minimized. However, there is still one way RoboSats could run away with your satoshis: by not releasing the satoshis to the buyer. It could be argued that such move is not in RoboSats' interest as it would damage the reputation for a small payout. However, you should hesitate and only trade small quantities at a time. For large amounts use an onchain escrow service such as Bisq": "นั่นหมายความว่า จะลดการอาศัยความไว้ใจให้น้อยที่สุด อย่างไรก็ตาม RoboSats ก็พอที่จะสามารถขโมยเหรียญของคุณไปได้ โดยไม่ปล่อยเหรียญให้ผู้ซื้อ ซึ่งการกระทำดังกล่าวเป็นสิ่งที่ไม่เป็นประโยชน์ต่อ RoboSats เป็นการทำลายชื่อเสียงเพื่อแลกกับเงินจำนวนน้อยนิด อย่างไรก็ตามคุณควรจะมีความตระหนักและทำการซื้อขายทีละน้อย สำหรับการซื้อขายในปริมาณมากๆคุณควรใช้แพล้ตฟอร์มอื่น เช่น Bisq", + "You can build more trust on RoboSats by inspecting the source code.": "คุณสามารถตรวจสอบ source code ของแพล้ตฟอร์มได้เพื่อให้คุณสามารถเชื่อมั่นใน RoboSats ได้มากขึ้น", + "Project source code": "Project source code", + "What happens if RoboSats suddenly disappears?": "ถ้าจู่ๆ RoboSats หายไปดื้อๆเลยจะเกิดอะไรขึ้น?", + "Your sats will return to you. Any hold invoice that is not settled would be automatically returned even if RoboSats goes down forever. This is true for both, locked bonds and trading escrows. However, there is a small window between the seller confirms FIAT RECEIVED and the moment the buyer receives the satoshis when the funds could be permanently lost if RoboSats disappears. This window is about 1 second long. Make sure to have enough inbound liquidity to avoid routing failures. If you have any problem, reach out trough the RoboSats public channels.": "เหรียญของคุณทั้งหมดจะถูกคืนให้คุณ hold invoice ที่ไม่ได้ชำระบัญชีจะถูกคืนอย่างอัตโนมัติไม่ว่า RoboSats จะล่มหนักแค่ไหนก็ตาม โดยจะคืนทั้งเหรียญที่กักใน bond และเหรียญที่เป็นหลักประกันที่นำมาขาย อย่างไรก็ตาม มันจะมีช่วงเวลาสั้นๆระหว่างที่ผู้ขายยืนยันว่าได้รับเงินเฟียตแล้วกับช่วงที่ผู้ซื้อจะได้รับเหรียญ เหรียญอาจหายไปตลอดกาลได้หาก RoboSats ล่มภายในช่วงเวลาดังกล่าวพอดี ช่วงเวลานี้จะกินเวลาประมาณ 1 วินาที ดังนั้นจึงควรมี inbound liquidity ที่เพียงพอเพื่อป้องกันการ routing ล้มเหลว และหากคุณมีปัญหาอะไรสามารถติดต่อเราได้ผ่านช่องทางสาธารณะทั้งหมดที่เรามี", + "In many countries using RoboSats is no different than using Ebay or Craiglist. Your regulation may vary. It is your responsibility to comply.": "ในหลายประเทศการใช้ RoboSats ตามกฎหมายไม่แตกต่างกับ Ebay หรือ Craiglist กฎหมายแต่ละประเทศจะมีความแตกต่างกันและเป็นความรับผิดชอบของคุณในการปฏิบัติตามกฎหมาย", + "Is RoboSats legal in my country?": "RoboSats ถูกกฎหมายในประเทศที่ฉันอยู่หรือไม่?", + "Disclaimer": "ข้อความปฏิเสธความรับผิดชอบ", + "This lightning application is provided as is. It is in active development: trade with the utmost caution. There is no private support. Support is only offered via public channels ": "แอพพลิเคชั่น lightning นี้เปิดให้ใช้งานโดยที่ยังอยู่ในระหว่างการพัฒนาจึงควรทำการซื้อขายอย่างระมัดระวัง ปัจจุบันยังไม่มีฝ่ายบริการลูกค้ารายบุคคล จำเป็นต้องใช้ช่องทางสาธารณะในการติดต่อขอความช่วยเหลือ", + "(Telegram)": "(Telegram)", + ". RoboSats will never contact you. RoboSats will definitely never ask for your robot token.": ". RoboSats จะไม่ติดต่อคุณและไม่มีทางขอ token ของโรบอทของคุณ" } diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 44638be9b..18eaf7db5 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -11,7 +11,7 @@ "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, - "jsx": "react-jsx", + "jsx": "react-jsx" }, "include": ["src"] } diff --git a/frontend/webpack.config.ts b/frontend/webpack.config.ts index 0768c17aa..5d18a5008 100644 --- a/frontend/webpack.config.ts +++ b/frontend/webpack.config.ts @@ -1,32 +1,28 @@ -import path from "path"; -import { Configuration } from "webpack"; +import path from 'path'; +import { Configuration } from 'webpack'; const config: Configuration = { - entry: "./src/index.js", + entry: './src/index.js', module: { rules: [ { test: /\.(ts|js)x?$/, exclude: /node_modules/, use: { - loader: "babel-loader", + loader: 'babel-loader', options: { - presets: [ - "@babel/preset-env", - "@babel/preset-react", - "@babel/preset-typescript", - ], + presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-typescript'], }, }, }, ], }, resolve: { - extensions: [".tsx", ".ts", ".jsx", ".js"], + extensions: ['.tsx', '.ts', '.jsx', '.js'], }, output: { - path: path.resolve(__dirname, "static/frontend"), - filename: "main.js", + path: path.resolve(__dirname, 'static/frontend'), + filename: 'main.js', }, }; diff --git a/version.json b/version.json new file mode 100644 index 000000000..9bbfcfef9 --- /dev/null +++ b/version.json @@ -0,0 +1,5 @@ +{ + "major":0, + "minor":2, + "patch":0 +} \ No newline at end of file