[
  {
    "path": ".github/CONTRIBUTING.md",
    "content": "# Contributing Guidelines\n\nWe love pull requests from everyone! Bug reports are also welcome.\n\nHowever if you've got a question or would like to start a discussion, please post to\n[Bitcoin stack exchange](https://bitcoin.stackexchange.com/questions/tagged/bitcoin-wallet-app).\n\nIf you would like to contribute language translations, we prefer if you use our\n[Transifex project](https://www.transifex.com/bitcoin-wallet/bitcoin-wallet/). Languages will be\nsynced from there regularly.\n"
  },
  {
    "path": ".gitignore",
    "content": ".gradle/\nbuild/\nlocal.properties\n.classpath\n.project\n.settings/\n.idea/\n*.iml\nbin/\ngen/\nwallet/.cxx\n"
  },
  {
    "path": ".tx/config",
    "content": "[main]\nhost = https://www.transifex.com\n\n[bitcoin-wallet.strings]\ntype = ANDROID\nsource_file = wallet/res/values/strings.xml\nsource_lang = en\nfile_filter = wallet/res/values-<lang>/strings.xml\nlang_map = sl_SI:sl, pt_PT:pt-rPT, pt_BR:pt-rBR, zh_TW:zh-rTW\n\n[bitcoin-wallet.strings_help]\ntype = ANDROID\nsource_file = wallet/res/values/strings_help.xml\nsource_lang = en\nfile_filter = wallet/res/values-<lang>/strings_help.xml\nlang_map = sl_SI:sl, pt_PT:pt-rPT, pt_BR:pt-rBR, zh_TW:zh-rTW\n\n[bitcoin-wallet.market-promo-text]\ntype = TXT\nsource_file = market/market-promo-text.txt\nsource_lang = en\nfile_filter = market/market-promo-text-<lang>.txt\nlang_map = sl_SI:sl, pt_PT:pt-PT, pt_BR:pt-BR, zh_TW:zh-TW\n\n[bitcoin-wallet.market-description]\ntype = TXT\nsource_file = market/market-description.txt\nsource_lang = en\nfile_filter = market/market-description-<lang>.txt\nlang_map = sl_SI:sl, pt_PT:pt-PT, pt_BR:pt-BR, zh_TW:zh-TW\n"
  },
  {
    "path": "README.md",
    "content": "# BITCOIN WALLET\n\nWelcome to _Bitcoin Wallet_, a standalone Bitcoin payment app for your Android device!\n\nThis project contains several sub-projects:\n\n * __wallet__:\n     The Android app itself. This is probably what you're searching for.\n * __market__:\n     App description and promo material for the Google Play app store.\n * __integration-android__:\n     A tiny library for integrating Bitcoin payments into your own Android app\n     (e.g. donations, in-app purchases).\n * __sample-integration-android__:\n     A minimal example app to demonstrate integration of Bitcoin payments into\n     your Android app.\n\n\n### PREREQUISITES FOR BUILDING\n\nYou'll need git, a Java 8 SDK (or later) and Gradle 4.4 (or later) for this. We'll assume Ubuntu 18.04 LTS (Bionic Beaver)\nfor the package installs, which comes with OpenJDK 8 and Gradle 4.4.1 out of the box.\n\n    # first time only\n    sudo apt install git gradle openjdk-8-jdk\n\nCreate a directory for the Android SDK (e.g. `android-sdk`) and point the `ANDROID_HOME` variable to it.\n\nDownload the [Android SDK Tools](https://developer.android.com/studio/index.html#command-tools)\nand unpack it to `$ANDROID_HOME/`.\n\nFinally, the last preparative step is acquiring the source code. Again in your workspace, use:\n\n    # first time only\n    git clone -b master https://github.com/bitcoin-wallet/bitcoin-wallet.git bitcoin-wallet\n    cd bitcoin-wallet\n\n\n### BUILDING\n\nYou can build all sub-projects in all flavors at once using Gradle:\n\n    # each time\n    gradle clean build\n\nFor details about building the wallet see the [specific README](wallet/README.md).\n\n\n### BINARIES\n\nYou can install the app from the app store of your choice:\n\n * __Testnet__:\n   <a href=\"https://f-droid.org/app/de.schildbach.wallet_test\">F-Droid</a> |\n   <a href='https://play.google.com/store/apps/details?id=de.schildbach.wallet_test'>Google Play</a>\n * __Mainnet__:\n   <a href=\"https://f-droid.org/app/de.schildbach.wallet\">F-Droid</a> |\n   <a href='https://play.google.com/store/apps/details?id=de.schildbach.wallet'>Google Play</a>\n"
  },
  {
    "path": "build.gradle",
    "content": "buildscript {\n    repositories {\n        jcenter()\n        google()\n    }\n\n    dependencies {\n        classpath 'com.android.tools.build:gradle:4.1.0'\n        //noinspection GradleDependency\n        classpath 'net.sf.proguard:proguard-gradle:6.0.3'\n        classpath('fr.avianey.androidsvgdrawable:gradle-plugin:3.0.2') {\n            exclude group: 'xerces'\n        }\n    }\n}\n\nallprojects {\n    repositories {\n        mavenLocal()\n        jcenter()\n        google()\n    }\n}\n"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "content": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-6.7.1-bin.zip\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\n"
  },
  {
    "path": "gradle.properties",
    "content": "## For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n#\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\n# Default value: -Xmx1024m -XX:MaxPermSize=256m\n# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8\n#\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true\n#Sat Dec 26 13:42:00 CET 2020\norg.gradle.jvmargs=-Xmx4096M\nandroid.useAndroidX=true\nandroid.enableJetifier=true"
  },
  {
    "path": "gradlew",
    "content": "#!/usr/bin/env sh\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >/dev/null\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn () {\n    echo \"$*\"\n}\n\ndie () {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\nnonstop=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\n  NONSTOP* )\n    nonstop=true\n    ;;\nesac\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" -a \"$nonstop\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n    JAVACMD=`cygpath --unix \"$JAVACMD\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Escape application args\nsave () {\n    for i do printf %s\\\\n \"$i\" | sed \"s/'/'\\\\\\\\''/g;1s/^/'/;\\$s/\\$/' \\\\\\\\/\" ; done\n    echo \" \"\n}\nAPP_ARGS=$(save \"$@\")\n\n# Collect all arguments for the java command, following the shell quoting and substitution rules\neval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS \"\\\"-Dorg.gradle.appname=$APP_BASE_NAME\\\"\" -classpath \"\\\"$CLASSPATH\\\"\" org.gradle.wrapper.GradleWrapperMain \"$APP_ARGS\"\n\n# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong\nif [ \"$(uname)\" = \"Darwin\" ] && [ \"$HOME\" = \"$PWD\" ]; then\n  cd \"$(dirname \"$0\")\"\nfi\n\nexec \"$JAVACMD\" \"$@\"\n"
  },
  {
    "path": "gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem  Gradle startup script for Windows\n@rem\n@rem ##########################################################################\n\n@rem Set local scope for the variables with windows NT shell\nif \"%OS%\"==\"Windows_NT\" setlocal\n\nset DIRNAME=%~dp0\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\nset APP_BASE_NAME=%~n0\nset APP_HOME=%DIRNAME%\n\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nset DEFAULT_JVM_OPTS=\n\n@rem Find java.exe\nif defined JAVA_HOME goto findJavaFromJavaHome\n\nset JAVA_EXE=java.exe\n%JAVA_EXE% -version >NUL 2>&1\nif \"%ERRORLEVEL%\" == \"0\" goto init\n\necho.\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:findJavaFromJavaHome\nset JAVA_HOME=%JAVA_HOME:\"=%\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\n\nif exist \"%JAVA_EXE%\" goto init\n\necho.\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:init\n@rem Get command-line arguments, handling Windows variants\n\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\n\n:win9xME_args\n@rem Slurp the command line arguments.\nset CMD_LINE_ARGS=\nset _SKIP=2\n\n:win9xME_args_slurp\nif \"x%~1\" == \"x\" goto execute\n\nset CMD_LINE_ARGS=%*\n\n:execute\n@rem Setup the command line\n\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\n\n@rem Execute Gradle\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\n\n:end\n@rem End local scope for the variables with windows NT shell\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\n\n:fail\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\nrem the _cmd.exe /c_ return code!\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\nexit /b 1\n\n:mainEnd\nif \"%OS%\"==\"Windows_NT\" endlocal\n\n:omega\n"
  },
  {
    "path": "integration-android/AUTHORS",
    "content": "Andreas Schildbach <andreas@schildbach.de>\n"
  },
  {
    "path": "integration-android/COPYING",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n"
  },
  {
    "path": "integration-android/build.gradle",
    "content": "plugins {\n    id 'java'\n}\n\ndependencies {\n    compile('com.google.android:android:4.0.1.2') {\n        transitive false\n    }\n}\n\nsourceSets {\n    main {\n        java {\n            srcDir 'src'\n        }\n        resources {\n            srcDir 'src'\n        }\n    }\n}\n\ncompileJava {\n    sourceCompatibility '1.6'\n    targetCompatibility '1.6'\n}\n"
  },
  {
    "path": "integration-android/src/de/schildbach/wallet/integration/android/BitcoinIntegration.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage de.schildbach.wallet.integration.android;\n\nimport android.app.Activity;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.net.Uri;\nimport android.widget.Toast;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class BitcoinIntegration {\n    private static final String INTENT_EXTRA_PAYMENTREQUEST = \"paymentrequest\";\n    private static final String INTENT_EXTRA_PAYMENT = \"payment\";\n    private static final String INTENT_EXTRA_TRANSACTION_HASH = \"transaction_hash\";\n\n    private static final String MIMETYPE_PAYMENTREQUEST = \"application/bitcoin-paymentrequest\"; // BIP 71\n\n    /**\n     * Request any amount of Bitcoins (probably a donation) from user, without feedback from the app.\n     * \n     * @param context\n     *            Android context\n     * @param address\n     *            Bitcoin address\n     */\n    public static void request(final Context context, final String address) {\n        final Intent intent = makeBitcoinUriIntent(address, null);\n\n        start(context, intent);\n    }\n\n    /**\n     * Request specific amount of Bitcoins from user, without feedback from the app.\n     * \n     * @param context\n     *            Android context\n     * @param address\n     *            Bitcoin address\n     * @param amount\n     *            Bitcoin amount in satoshis\n     */\n    public static void request(final Context context, final String address, final long amount) {\n        final Intent intent = makeBitcoinUriIntent(address, amount);\n\n        start(context, intent);\n    }\n\n    /**\n     * Request payment from user, without feedback from the app.\n     * \n     * @param context\n     *            Android context\n     * @param paymentRequest\n     *            BIP70 formatted payment request\n     */\n    public static void request(final Context context, final byte[] paymentRequest) {\n        final Intent intent = makePaymentRequestIntent(paymentRequest);\n\n        start(context, intent);\n    }\n\n    /**\n     * Request any amount of Bitcoins (probably a donation) from user, with feedback from the app. Result\n     * intent can be received by overriding {@code Activity#onActivityResult(int, int, Intent)}. Result indicates\n     * either {@link Activity#RESULT_OK} or {@link Activity#RESULT_CANCELED}. In the success case, use\n     * {@link #transactionHashFromResult(Intent)} to read the transaction hash from the intent.\n     * \n     * Warning: A success indication is no guarantee! To be on the safe side, you must drive your own Bitcoin\n     * infrastructure and validate the transaction.\n     * \n     * @param activity\n     *            Calling Android activity\n     * @param requestCode\n     *            Code identifying the call when {@code Activity#onActivityResult(int, int, Intent)} is called\n     *            back\n     * @param address\n     *            Bitcoin address\n     */\n    public static void requestForResult(final Activity activity, final int requestCode, final String address) {\n        final Intent intent = makeBitcoinUriIntent(address, null);\n\n        startForResult(activity, requestCode, intent);\n    }\n\n    /**\n     * Request specific amount of Bitcoins from user, with feedback from the app. Result intent can be\n     * received by overriding {@code Activity#onActivityResult(int, int, Intent)}. Result indicates either\n     * {@link Activity#RESULT_OK} or {@link Activity#RESULT_CANCELED}. In the success case, use\n     * {@link #transactionHashFromResult(Intent)} to read the transaction hash from the intent.\n     * \n     * Warning: A success indication is no guarantee! To be on the safe side, you must drive your own Bitcoin\n     * infrastructure and validate the transaction.\n     * \n     * @param activity\n     *            Calling Android activity\n     * @param requestCode\n     *            Code identifying the call when {@code Activity#onActivityResult(int, int, Intent)} is called\n     *            back\n     * @param address\n     *            Bitcoin address\n     */\n    public static void requestForResult(final Activity activity, final int requestCode, final String address,\n            final long amount) {\n        final Intent intent = makeBitcoinUriIntent(address, amount);\n\n        startForResult(activity, requestCode, intent);\n    }\n\n    /**\n     * Request payment from user, with feedback from the app. Result intent can be received by overriding\n     * {@code Activity#onActivityResult(int, int, Intent)}. Result indicates either {@link Activity#RESULT_OK} or\n     * {@link Activity#RESULT_CANCELED}. In the success case, use {@link #transactionHashFromResult(Intent)}\n     * to read the transaction hash from the intent.\n     * \n     * Warning: A success indication is no guarantee! To be on the safe side, you must drive your own Bitcoin\n     * infrastructure and validate the transaction.\n     * \n     * @param activity\n     *            Calling Android activity\n     * @param requestCode\n     *            Code identifying the call when {@code Activity#onActivityResult(int, int, Intent)} is called\n     *            back\n     * @param paymentRequest\n     *            BIP70 formatted payment request\n     */\n    public static void requestForResult(final Activity activity, final int requestCode, final byte[] paymentRequest) {\n        final Intent intent = makePaymentRequestIntent(paymentRequest);\n\n        startForResult(activity, requestCode, intent);\n    }\n\n    /**\n     * Get payment request from intent. Meant for usage by applications accepting payment requests.\n     * \n     * @param intent\n     *            intent\n     * @return payment request or null\n     */\n    public static byte[] paymentRequestFromIntent(final Intent intent) {\n\n        return intent.getByteArrayExtra(INTENT_EXTRA_PAYMENTREQUEST);\n    }\n\n    /**\n     * Put BIP70 payment message into result intent. Meant for usage by Bitcoin wallet applications.\n     * \n     * @param result\n     *            result intent\n     * @param payment\n     *            payment message\n     */\n    public static void paymentToResult(final Intent result, final byte[] payment) {\n        result.putExtra(INTENT_EXTRA_PAYMENT, payment);\n    }\n\n    /**\n     * Get BIP70 payment message from result intent. Meant for usage by applications initiating a Bitcoin\n     * payment.\n     * \n     * You can use the transactions contained in the payment to validate the payment. For this, you need your\n     * own Bitcoin infrastructure though. There is no guarantee that the payment will ever confirm.\n     * \n     * @param result\n     *            result intent\n     * @return payment message\n     */\n    public static byte[] paymentFromResult(final Intent result) {\n\n        return result.getByteArrayExtra(INTENT_EXTRA_PAYMENT);\n    }\n\n    /**\n     * Put transaction hash into result intent. Meant for usage by Bitcoin wallet applications.\n     * \n     * @param result\n     *            result intent\n     * @param txHash\n     *            transaction hash\n     */\n    public static void transactionHashToResult(final Intent result, final String txHash) {\n        result.putExtra(INTENT_EXTRA_TRANSACTION_HASH, txHash);\n    }\n\n    /**\n     * Get transaction hash from result intent. Meant for usage by applications initiating a Bitcoin payment.\n     * \n     * You can use this hash to request the transaction from the Bitcoin network, in order to validate. For\n     * this, you need your own Bitcoin infrastructure though. There is no guarantee that the transaction has\n     * ever been broadcasted to the Bitcoin network.\n     * \n     * @param result\n     *            result intent\n     * @return transaction hash\n     */\n    public static String transactionHashFromResult(final Intent result) {\n\n        return result.getStringExtra(INTENT_EXTRA_TRANSACTION_HASH);\n    }\n\n    private static final int SATOSHIS_PER_COIN = 100000000;\n\n    private static Intent makeBitcoinUriIntent(final String address, final Long amount) {\n        final StringBuilder uri = new StringBuilder(\"bitcoin:\");\n        if (address != null)\n            uri.append(address);\n        if (amount != null)\n            uri.append(\"?amount=\")\n                    .append(String.format(\"%d.%08d\", amount / SATOSHIS_PER_COIN, amount % SATOSHIS_PER_COIN));\n\n        return new Intent(Intent.ACTION_VIEW, Uri.parse(uri.toString()));\n    }\n\n    private static Intent makePaymentRequestIntent(final byte[] paymentRequest) {\n        final Intent intent = new Intent(Intent.ACTION_VIEW);\n        intent.setType(MIMETYPE_PAYMENTREQUEST);\n        intent.putExtra(INTENT_EXTRA_PAYMENTREQUEST, paymentRequest);\n\n        return intent;\n    }\n\n    private static void start(final Context context, final Intent intent) {\n        final PackageManager pm = context.getPackageManager();\n        if (pm.resolveActivity(intent, 0) != null)\n            context.startActivity(intent);\n        else\n            redirectToDownload(context);\n    }\n\n    private static void startForResult(final Activity activity, final int requestCode, final Intent intent) {\n        final PackageManager pm = activity.getPackageManager();\n        if (pm.resolveActivity(intent, 0) != null)\n            activity.startActivityForResult(intent, requestCode);\n        else\n            redirectToDownload(activity);\n    }\n\n    private static void redirectToDownload(final Context context) {\n        Toast.makeText(context, \"No Bitcoin application found.\\nPlease install Bitcoin Wallet.\", Toast.LENGTH_LONG)\n                .show();\n\n        final Intent marketIntent = new Intent(Intent.ACTION_VIEW,\n                Uri.parse(\"market://details?id=de.schildbach.wallet\"));\n        final Intent binaryIntent = new Intent(Intent.ACTION_VIEW,\n                Uri.parse(\"https://github.com/bitcoin-wallet/bitcoin-wallet/releases\"));\n\n        final PackageManager pm = context.getPackageManager();\n        if (pm.resolveActivity(marketIntent, 0) != null)\n            context.startActivity(marketIntent);\n        else if (pm.resolveActivity(binaryIntent, 0) != null)\n            context.startActivity(binaryIntent);\n        // else out of luck\n    }\n}\n"
  },
  {
    "path": "market/market-description-ar.txt",
    "content": "<b>إمتلك البت كوينز الخاصة بك, دائماً في جيبك!</b> تدفع بسرعة بمجرد مسح رمز الـ QR. و كتاجر، يمكنك قبض مبالغ خدماتك حالاً وبكل ثقة. محفظة البتكوين هي أول تطبيق محمول لعملة البتكوين، و كذا الأكثر أماناً.\n\n\n<b>المميزات</b>\n\n• لا داعي للتسجيل أو استخدام تطبيقات شبكة إنترنت أو الخدمات السحابية! كون الاتصال في هذه المحفظة غير مركزي (peer-to-peer) ولا تعتمد على سيرفر خدمة.\nإظهار رصيدك من البتكوين على شكل BTC و µBTC و mBTC.\n• تحويل البيتكوين من وإلى العملات المحلية.\nارسال واستقبال عملة Bitcoin عبر NFC, QR codes او Bitcoin روابط\n• في حين تعذر الاتصال بالإنترنت، يمكنك الدفع عن طريق تقنية البلوتوث.\n• يقوم البرنامج بإشعارك حين استلام دفعات البيتكوين بواسطة تنبيهات النظام (Notifications).\n• عرض رصيدك الحالي من البيتكوين باستخدام التطبيقات المصغرة App Widget.\n\n\n</b>للمشاركة <b>\n\nمحفظة البتكوين <b>تطبيق حر</b> و <b>مفتوح المصدر</b>. تحت رخصة : GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.ar.html\n\nالكود المصدري للبرنامج متوافر على GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nكل الترجمات مدارة عبر Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\nاستخدم على مسؤوليتك الشخصية !\n"
  },
  {
    "path": "market/market-description-ca.txt",
    "content": "<b>Tingues els teus Bitcoins sempre amb tu, a la teva butxaca!.<b> Per pagar ràpidament escanejant un codi QR. Com a comerciant, pots rebre pagaments instantàniament amb confiança. La Cartera Bitcoin és la primera aplicació mòbil de Bitcoin i possiblement també la més segura!.\n\n\n<b>CARACTERÍSTIQUES</b>\n\n• Sense enregistrar-se ni amb necessitat d'un servei web o al núvol!. Aquesta cartera és descentralitzada i de parell a parell.\n• Mostra l'import de bitcoin en BTC, mBTC i µBTC.\n• Conversió cap a i des de divises nacionals.\n• Enviar i rebre bitcoins a través d'NFC, codis QR i adreces Bitcoin.\n• Quan ets fora de línia, encara pots pagar a través de Bluetooth.\n• Notificació del sistema quan reps monedes.\n• Possibilitat d'agregar carteres de paper (per ex. les utilitzades per l'emmagatzematge en fred)\n• Widget d'aplicació per al balanç de Bitcoin.\n\n\n<b>COL·LABORAR</b>\n\nLa Cartera de Bitcoin és <b>codi obert</b> i <b>programari lliure</b>. Llicència: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.ca.html\n\nEl nostre codi està disponible a GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nTotes les traduccions estan gestionades a través de Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Utilitza-la sota la teva responsabilitat!</i>\n"
  },
  {
    "path": "market/market-description-cs.txt",
    "content": "<b>Mějte své Bitcoiny vždy s sebou ve své kapse!</b> Plaťte rychlým oskenováním QR kódu. A jako prodejce můžete přijímat platby spolehlivě a rychle. Bitcoin Wallet je mobilní Bitcoin aplikace číslo jedna a jedna z nejbezpečnějších!\n\n\n<b>FUNKCE</b>\n\n• Není třeba žádná registrace, webová služba ani cloud! Toto je peer to peer decentralizovaná peněženka.\n• Zobrazení Bitcoin částek v BTC, mBTC a µBTC.\n• Přepočet z a do národních měn.\n• Odesílání a přijímání plateb přes NFC, QR kódy nebo Bitcoin URL.\n• Pokud jste offline, stále můžete platit přes Bluetooth.\n• Systémové notifikace při přijaté platbě\n• Načítání papírových peněženek (např. ty co se používají u cold storage).\n• Widget pro zobrazení Bitcoin bilance.\n• Bezpečnost: Podporuje SegWit a nový formát bech32.\n• Soukromí: Podporuje Tor prostřednictvím samostatné aplikace Orbot.\n\n\n<b>PŘISPĚJTE</b>\n\nBitcoin Wallet je <b>open source</b> a <b>svobodný software</b>. Licence: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nNáš zdrojový kód je k dispozici na GitHubu:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nVeškeré překlady jsou spravovány přes Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Použití na vlastní riziko!</i>\n"
  },
  {
    "path": "market/market-description-cy.txt",
    "content": "<b>Cluda dy Fitcoin yn dy boced!</b>Gellir talu'n gyflym gan sganio cod QR. Fel masnachwr, gellir derbyn taliadau yn syth ac yn ddibynadwy. Waled Bitcoin yw'r ap Bitcoin cyntaf a hefyd, gellir dadlau, y mwyaf diogel!\n\n\n<b>NODWEDDION</b>\n\n• Dim angen cofrestru, gwasanaeth gwe na chwmwl! Mae'r waled hon yn ddatganoledig ac yn gyfoed-i-gyfoed.\n• Dangos swm Bitcoin mewn BTC, mBTC a µBTC.\n• Cyfnewid i ac o arian gwahanol gwledydd.\n• Anfon a derbyn Bitcoin trwy NFC, codau QR neu URLau Bitcoin.\n• Gellir talu trwy Bluetooth pan nad oes cysylltiad rhyngrwyd.\n• Hysbysiad system pan dderbynnir Bitcoin.\n• Ysgubo dy waled bapur (e.e. y rhai a ddefnyddir am storfa oer).\n• Teclyn i ddangos balans Bitcoin.\n• Diogelwch: Yn cefnogi SegWit a'r fformat bech32 newydd.\n• Preifatrwydd: Yn cefnogi Tor trwy'r ap Orbot ar wahan.\n\n\n<b>CYFRANNU</b>\n\nMae Waled Bitcoin yn feddalwedd <b>cod agored</b> ac <b>am ddim</b>. Trwydded: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nMae ein cod gwreiddiol ar gael ar GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nRheolir pob cyfieithiad trwy Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Defnyddir ar dy risg dy hun!</i>\n"
  },
  {
    "path": "market/market-description-da.txt",
    "content": "<b>Hav altid dine Bitcoins med dig i din lomme!</b> Du betaler ved hurtigt at scanne en QR-kode. Som handlende kan du modtage betalinger pålideligt og øjeblikkeligt. Bitcoin Wallet er den første mobile Bitcoin-app, og muligvis også den mest sikre!\n\n\n<b>FUNKTIONER</b>\n\n• Ingen registrering, webservice eller sky behøves! Tegnebogen er decentraliseret og peer-to-peer.\n• Visning af Bitcoin-beløb i BTC, mBTC og µBTC.\n• Konvertering til og fra lokale valutaer.\n• Afsendelse og modtagelse af Bitcoin via NFC, QR-koder eller Bitcoin-URLer.\n• Når du er offline, kan du stadig betale via Bluetooth.\n• Systemnotifikation for modtagne mønter.\n• Rydning af papirtegnebøger (fx de der bruges til kold opbevaring).\n• App-widget for Bitcoin-saldo.\n• Sikkerhed: Understøtter SegWit og det nye bech32-format.\n• Beskyttelse af privatliv: Understøtter Tor via den separate Orbot-app.\n\n\n<b>BIDRAG</b>\n\nBitcoin Wallet er <b>fri software</b> med <b>åben kildekode</b>. Licens: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nVores kildekode er tilgængelig på GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nAlle oversættelser håndteres via Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Brug for egen risiko!</i>\n"
  },
  {
    "path": "market/market-description-de.txt",
    "content": "<b>Hab deine Bitcoins immer dabei, in deiner Hosentasche!</b> Du zahlst, indem du rasch einen QR-Code scannst. Als Händler empfängst du Zahlungen zuverlässig und sofort. Bitcoin Wallet ist die erste mobile Bitcoin app, und wohl auch die sicherste!\n\n\n<b>FEATURES</b>\n\n• Keine Registrierung, Web-Dienst oder Cloud nötig! Diese Wallet ist dezentral und Peer to Peer.\n• Anzeige von Bitcoin-Werten in BTC, mBTC und µBTC.\n• Umrechnung von und zu den nationalen Währungen.\n• Senden und Empfangen von Bitcoin via NFC, QR-Codes oder Bitcoin URLs.\n• Wenn du offline bist, kannst du trotzdem über Bluetooth zahlen.\n• System-Benachrichtigung für den Empfang von Zahlungen.\n• Entleeren von Paper-Wallets (die z.B. für Cold-Storage genutzt wurden).\n• App-Widget zeigt Bitcoin-Guthaben an.\n• Sicherheit: Unterstützt SegWit und das neue Bech32-Format.\n• Privatsphäre: Unterstützt Tor mittels der separaten Orbot App.\n\n\n<b>MITWIRKEN</b>\n\nBitcoin Wallet ist <b>Open Source</b> und <b>Freie Software</b>. Lizenz: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.de.html\n\nUnser Source Code ist auf GitHub verfügbar:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nAlle Übersetzungen werden auf Transifex organisiert:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Nutzung auf eigene Gefahr!</i>\n"
  },
  {
    "path": "market/market-description-el.txt",
    "content": "<b>Τα Bitcoins πάντα μαζί σας, στην τσέπη σας!</b>Πληρώστε σαρώνοντας γρήγορα ένα QR code. Ως έμπορος, λαμβάνετε πληρωμές αξιόπιστα και άμεσα. Το Bitcoin Wallet είναι ή πρώτη εφαρμογή Bitcoin για κινητά, και αναμφισβήτητα η πιο ασφαλής!\n\n\n<b>ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ</b>\n\n• Χωρίς ανάγκη εγγραφής, διαδικτυακής υπηρεσίας ή νέφος απαραίτητο! Αυτό το πορτοφόλι είναι αποκεντρωμένης λειτουργίας και peer to peer.\n• Απεικόνιση του ποσού Bitcoin BTC, mBTC και µBTC.\n• Μετατροπή προς και από εθνικά νομίσματα.\n• Αποστολή και παραλαβή Bitcoin μέσω NFC, κωδικών QR ή Bitcoin URL.\n• Όταν είστε εκτός σύνδεσης, μπορείτε ακόμη να πληρώσετε μέσω Bluetooth.\n• Ειδοποίηση συστήματος για ληφθέντα νομίσματα.\n• Εισαγωγή χάρτινων πορτοφολιών (π.χ. για αποθήκευση σε φυσική μορφή).\n• Γραφικό στοιχείο για υπόλοιπο των Bitcoin.\n\n\n<b>ΣΥΜΒΑΛΛΕΤΕ</b>\n\nΤο Bitcoin Wallet είναι <b>λογισμικό ανοικτού κώδικα</b> και <b>δωρεάν λογισμικό</b>. Άδεια χρήσης: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nΟ κώδικάς μας είναι διαθέσιμος στο GitHub.\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nΔιαχείρηση όλων των μεταφράσεων μέσω του Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Χρησιμοποιήστε με δική σας ευθύνη!</i>\n"
  },
  {
    "path": "market/market-description-eo.txt",
    "content": "Havu viajn Bitmonojn ĉiam kun vi, en via poŝo! Vi povas pagi per rapide skanado de QR-kodo. Kiel komercisto, vi povas ricevi pagojn fidinde kaj tuj. Bitcoin Wallet estas unua movebla Bitmona aplikaĵo, kaj disputeble ankaŭ la plej sekura!\n\nTRAJTOJ:\n\n• Neniu registriĝo, ttt servo aŭ nubo bezonataj! Ĉi monujo estas malcentralizita kaj pajro al pajro.\n• Montro de Bitmona kvanto en BTC kaj mBTC.\n• Konvertiĝo al kaj de la naciaj valutoj.\n• Sendado kaj ricevo de Bitmono tra NFC, QR-kodoj aŭ Bitmono URLoj.\n• Kiam vi estas senkonekta, vi ankoraŭ povas pagi per Bluetooth.\n• Sistema sciigo por ricevitaj moneroj.\n• Aplikaĵa fenestraĵo por Bitmona saldo.\n\nSe vi volas kontribui al Bitcoin Wallet, la projekto lokas ĉe\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nLicenco: GPLv3\nUzu je via propra risko!\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-es.txt",
    "content": "<b>Ten tus Bitcoins siempre contigo, ¡en tu bolsillo!</b> Paga rápidamente leyendo el código QR. Como comercio puedes recibir pagos de forma fiable e instantánea. Bitcoin Wallet es la primera aplicación móvil Bitcoin. ¡Y posiblemente también la más segura!\n\n\n<b>CARACTERÍSTICAS</b>\n\n• ¡No requiere registro, servidor en la nube o servicio web! Este monedero es auténticamente descentralizado y entre pares (peer-to-peer).\n• Muestra la cantidad de bitcoins en BTC, mBTC, y µBTC.\n• Conversión hacia y desde divisas nacionales.\n• Envío y recepción de bitcoins mediante NFC, códigos QR o identificadores URL Bitcoin.\n• Cuando no tienes conexión, puedes pagar via Bluetooth.\n• Notificación del sistema al recibir bitcoins.\n• Barrido de monederos de papel (por ejemplo, los que se utilizan para custodia en frio).\n• Widget para el saldo de bitcoins.\n• Seguridad: Soporta SegWit y el nuevo formato bech32.\n• Privacidad: Soporta Tor mediante Orbot app.\n\n\n<b>CONTRIBUIR</b>\n\nBitcoin Wallet es <b>código abierto</b> y <b>software libre</b>. Licencia: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nNuestro código fuente está disponible en GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nTodas las traducciones son administradas a través de Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>¡Úsalo bajo tu propio riesgo!</i>\n"
  },
  {
    "path": "market/market-description-fa.txt",
    "content": "بیت‌کوین‌های تان را همیشه با خود در کیف پولتان داشته باشید. به سرعت با اسکن کردن QR-code پرداخت کنید. به عنوان فروشنده، پرداخت‌ها را با امنیت و سرعت دریافت کنید. Bitcoin Wallet اولین برنامه بیت‌کوین بر روی گوشیهای همراه بود و همچنین به عنوانه امن‌ترین برنامه در نظر گرفته می‌‌شود.\n\n\nخصوصیات\n\nبه هیچگونه ثبت نام و یا سرویس جانبی اینترنتی نیاز ندارید. این کیف پول غیر مترمرکز و نظیر به نظیر (p2p) بوده.\nنمایش میزان بیت‌کوین به صورت واحد بیت‌کوین, میلی‌ بیت‌کوین و میکرو بیت‌کوین.\nتبدیل ارزش به واحد پولی‌ کشورهای متفاوت.\nفرستادن و دریافت بیت‌کوین به صورت NFC ، Qrcode و آدرس بیت‌کوین.\nبدون دسترسی‌ به اینترنت همچنان می‌توان بیت‌کوین را از طریق بلوتوث پرداخت کرد.\nوقتی‌ پول دریافت می‌کنید برنامه شما را مطلع می‌کند.\nاستفاده از کیف پول‌های کاغذی (همانند آنهایی که به عنوانه cold storage استفاده می‌‌شود).\nویجت برای نشان دادن موجودی شما.\n• امنیت: پشتیبانی از SegWit و فرمت جدید bech32.\n• حریم خصوصی: پشتیبانی از Tor از طریق برنامه Orbot که جداگانه مورد استفاده قرار می‌گیرد.\n\n\n کمک و همکاری\n\nBitcoin Wallet به صورت کد باز و مجانی‌ تحت لیسانس: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nکد این برنامه به صورت باز در GitHub قابل دسترسی‌ است.\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nهمهٔ ترجمها توسط Transifex مدیریت شده.\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\nبا ریسک خود استفاده کنید.\n"
  },
  {
    "path": "market/market-description-fi.txt",
    "content": "<b>Pidä Bitcoinisi aina mukana taskussasi!</b> Voit maksaa nopeasti skannaamalla QR-koodin. Kauppiaana saat maksut turvallisesti ja välittömästi. Bitcoin Wallet on ensimmäinen Bitcoin-mobiilisovellus ja luultavimmin myös kaikista turvallisin!\n\n\n<b>OMINAISUUDET</b>\n\n• Ei vaadi rekisteröintiä, verkkopalveluja tai pilvitallennusta! Tämä lompakko on hajautettu ja suorayhteyksinen.\n• Mahdollisuus näyttää Bitcoin-varat määrissä BTC, mBTC ja µBTC.\n• Yksikkömuunnos valtioiden valuuttojen välillä.\n• Bitcoinien lähettäminen ja vastaanottaminen NFC, QR-koodien tai Bitcoin-URL-osotteiden avulla.\n• Kun et ole verkkoyhteyden ulottuvilla, voit silti maksaa Bluetoothin välityksellä.\n• Järjestelmän ilmoitus vastaanotetuille Bitcoineille.\n• Paperisen lompakon pyyhkäisymahdollisuus (esim. näitä käytetään \"kylmissä varastoissa\").\n• Android-sovellus Bitcoin-varojen hallintaan.\n\n\n<b>OSALLISTU</b>\n\nBitcoin Wallet on <b>avointa lähdekoodia</b> ja <b>vapaa ohjelmisto</b>. Lisenssi: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nLähdekoodi saatavilla GitHub:sta:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nKaikki käännökset on hallinnoitu Transifex:n kautta:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Käytä omalla vastuulla!</i>\n"
  },
  {
    "path": "market/market-description-fr.txt",
    "content": "<b>Ayez vos bitcoins toujours avec vous dans votre poche !</b> Payez rapidement en balayant un code QR. En tant que marchand, vous recevez les paiements de manière fiable et instantanée. Bitcoin Wallet est la première appli Bitcoin mobile et sans doute aussi la plus sûre !\n\n\n<b>CARACTÉRISTIQUES</b>\n\n• Aucun inscription, service Web ou nuage n’est requis ! Ce porte-monnaie est décentralisé et pair à pair.\n• Affichage du montant de bitcoins en BTC, mBTC et µBTC.\n• Conversion vers et à partir de monnaies nationales.\n• Envoi et réception de bitcoins par NFC, codes QR ou URL Bitcoin.\n• Quand vous êtes hors ligne, vous pouvez quand même payer par Bluetooth.\n• Notification du système pour les pièces reçues.\n• Balayage des porte-monnaie de papier (c.-à-d. ceux utilisés pour le stockage à froid).\n• Widget de l’appli pour le solde de bitcoins.\n• Sécurité : prend en charge SegWit et le nouveau format bech32.\n• Confidentialité : prend Tor en charge avec l’appli séparée Orbot.\n\n\n<b>CONTRIBUER</b>\n\nBitcoin Wallet est un <b>logiciel à code source ouvert</b> et <b>libre</b>. Licence : GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.fr.html\n\nNotre code source se trouve sur GitHub :\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nToutes les traductions sont gérées sur Transifex :\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Utilisez à vos propres risques !</i>\n"
  },
  {
    "path": "market/market-description-he.txt",
    "content": "שא את הביטקוין שלך עליך ללא תלות בשרות חיצוני, העבר או קבל כסף בקלות על ידי ברקוד, הכנסת כתובת או תקשורת מגע (NFC). כסוחר, אתה תקבל תשלומים בצורה בטוחה ומיידית. ארנק הביטקוין הוא היישום הנייד הראשון לביטקוין, וכנראה גם המאובטח ביותר!\n\nתכונות:\n\n• אין צורך בהרשמה, שירות אינטרנט או ענן. הארנק הוא מבוזר ומעמית-לעמית.\n• הצגת היתרה בביטקוין, מילי-ביט או מיוביט.\n• המרה למטבעות מקומיים.\n• קבלה ושליחה של ביטקוינים דרך NFC, קוד QR או באמצעות כתובות ביטקוין.\n• כשאתה לא מחובר לרשת, עדיין תוכל לשלם באמצעות Bluetooth.\n• התראות מערכת על קבלת מטבעות.\n• גריפת ארנקי נייר (כלומר, אלו המשמשים לצבירה קרה)\n• וידג'ט לבדיקת יתרת הביטקוין שלך\n\nאם אתה רוצה לתרום לפרויקט ארנק הביטקוין, הפרויקט ממוקם ב\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nרישיון : GPLv3\nשים לב: השימוש הוא באחריות המשתמש.\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-hi.txt",
    "content": "अपनी जेब में, हमेशा के लिए अपने बिटकोइंस रखे ! आप QR-कोड स्कैन करके जल्दी से भुगतान कर सकते हैं  एक व्यापारी के रूप में,आप जल्दी से और विश्वसनीयता से भुगतान प्राप्त कर सकते हैं. बिटकोइन बटुआ पहला मोबाइल बिटकोइन एप्लीकेशन है और यक़ीनन सबसे सुरक्षित है\n\n\nविशेषताएं\n\n• कोई पंजीकरण, वेब सेवा या बादल की जरूरत नहीं ! यह बटुआ विकेन्द्रीकृत और निजी है।\n•राष्ट्रीय मुद्राओं मै ओर से रूपांतरण।\n• एनएफसी, QR कोड या Bitcoin यूआरएल के माध्यम से Bitcoin प्राप्त करना\n• आप ऑफ़लाइन हो, तब भी आप ब्लूटूथ के माध्यम से भुगतान कर सकते हैं।\n• प्राप्त सिक्कों के लिए प्रणाली अधिसूचना।\n• जेब की सफ़ाई(जैसे कोल्ड स्टोरेज के लिए इस्तेमाल किया जाता हे)\n• Bitcoin संतुलन के लिए ऐप विजेट।\n\n\nयोगदान\n\nbitcoin वॉलेट <b> खुला स्रोत </ b> और <b> मुफ्त सॉफ्टवेयर है । लाइसेंस: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nहमारे स्रोत कोड GitHub पर उपलब्ध है:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nसभी अनुवाद Transifex के माध्यम से प्रबंधित कर रहे हैं:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\nअपने जोखिम पर उपयोग करें!\n"
  },
  {
    "path": "market/market-description-hr.txt",
    "content": "<b>Imaj svoje Bitcoin-e uvijek sa sobom, u svom džepu.</b> Plaćaj brzim skeniranjem QR koda. Kao trgovac, primaj uplate sigurno i brzo. Bitcoin Wallet je prva mobilna Bitcoin aplikacija, i ne porecivo najsigurnija!\n\n\n<b>ZNAČAJKE</b>\n\n• Bez registracije, web servis ili cloud potreban! Ovaj novčanik je de-centraliziran i klijent prema klijentu.\n• Prikaži Bitcoin iznos u BTC, mBTC i uBTC.\n• Pretvorba u ili iz nacionalnih valuta.\n• Slanje i primanje Bitcoina s NFC, QR kodom ili Bitcoin URL-om.\n• Kada si izvan mreže, možete još uvijek preko Bluetooth-a.\n• Sistemske obavjesti za primljene coin-ove.\n• Widgeti aplikacije za balansiranje Bitcoin-ova.\n\n\n<b>DOPRINOS</b>\n\nBitcoin Wallet je <b>javno dostupan kod</b> i <b>besplatna aplikacija</b>. Licencirana pod GPLv3.\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nNaš izvorni kod je dostušan na GitHub-u:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nSve transakcije se provode preko Transifex-a:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Koristi na svoj vlastiti rizik.</i>\n"
  },
  {
    "path": "market/market-description-hu.txt",
    "content": "<b>Mindig legyenek nálad a Bitcoin-jaid a zsebedben!</b> Úgy tudsz fizetni, hogy gyorsan beolvasol egy QR kódot. Kereskedőként megkapod a fizetséget megbízhatóan és azonnal. A Bitcoin Wallet az első mobil Bitcoin alkalmazás és vitathatatlanul a legbiztonságosabb is!\n\n\n<b>JELLEMZŐK</b>\n\n• Nincs regisztráció és nem szükséges semmiféle háttéralkalmazás futtatása (web, vagy cloud)! Decentralizált és közvetlen (P2P).\n• Bitcoin összeg megjelenítési módok: BTC, mBTC és µBTC.\n• Átváltás a saját valutádra, oda-vissza.\n• Bitcoin küldés és fogadás NFC-n, QR kódokon vagy Bitcoin URL-eken keresztül.\n• Offline állapotban is fizethetsz - Bluetooth segítségével.\n• Rendszerüzenet Bitcoin érkezésekor.\n• Papírtárcák besöprése (pl. amik hűtőháznak vannak használva).\n• Widget a Bitcoin egyenlegről.\n\n\n<b>HOZZÁJÁRULÁS</b>\n\nA Bitcoin Wallet <b>nyílt forráskódú</b> és <b>ingyenes szoftver</b>. Licenc: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nA forráskódunk elérhető a GitHub-on:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nMinden fordítást a Transifex kezelt:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Saját felelősségedre használd!</i>\n"
  },
  {
    "path": "market/market-description-id.txt",
    "content": "Dengan aplikasi ini Anda selalu mempunyai Bitcoin dengan Anda, dalam saku Anda! Anda dapat mengirim pembayaran hanya dengan memindai kode-QR atau mendekatkan dua ponsel bersama (NFC). Bitcoin Wallet dirancang untuk mudah digunakan dan diandalkan, sementara juga menjadi lebih aman dan cepat.\n\nFITUR:\n\n• Tidak diperlukan server awan atau layanan web! Dompet ini benar-benar peer ke peer.\n• Tampilkan saldo dompet dalam Bitcoin dan mata uang lainnya.\n• Mengirim dan menerima Bitcoin via NFC, kode-QR atau Tautan Bitcoin.\n• Masukkan transaksi saat offline, akan dilaksanakan ketika online.\n• Notifikasi sistem untuk konektivitas Bitcoin dan menerima koin.\n• Widget Apl untuk saldo Bitcoin.\n\nJika Anda ingin berkontribusi kepada Bitcoin Wallet, proyeknya berada di\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nLisensi: GPLv3\nGunakan dengan resiko Anda!\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-it.txt",
    "content": "<b>Porta i tuoi Bitcoin sempre con te, in tasca!</b>  Paghi velocemente scansionando un QR-code. Come un commerciante, riceverai i pagamenti sicuri e istantanei. Bitcoin Wallet è la prima Bitcoin app mobile, e probabilmente anche la più sicura!\n\n\n<b>CARATTERISTICHE</b>\n\n• Non è necessaria alcuna registrazione, servizio web o cloud! Questo portafoglio è de-centralizzato e peer to peer.\n• Mostra l'ammontare di Bitcoin in BTC, mBTC e µBTC.\n• Conversione verso e dalle monete nazionali.\n• Invio e ricevimento di Bitcoin tramite NFC, codici QR o URL Bitcoin.\n• Quando sei offline, puoi comunque ancora pagare via Bluetooth.\n• Sistema di notifica per le monete ricevute.\n• Svuotamento di portafogli cartacei (es: quelli utilizzati come depositi offline)\n• App Widget per il saldo Bitcoin\n\n\n<b>CONTRIBUISCI</b>\n\nBitcoin Wallet è <b>open source</b> e <b>software libero</b>. Licenza: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nIl nostro codice sorgente è disponibile su GitHub\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nTutte le traduzioni sono gestite attraverso Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Usala a tuo rischio!</i>\n"
  },
  {
    "path": "market/market-description-iw.txt",
    "content": "שא את הביטקוין שלך עליך ללא תלות בשרות חיצוני, העבר או קבל כסף בקלות על ידי ברקוד, הכנסת כתובת או תקשורת מגע (NFC). כסוחר, אתה תקבל תשלומים בצורה בטוחה ומיידית. ארנק הביטקוין הוא היישום הנייד הראשון לביטקוין, וכנראה גם המאובטח ביותר!\n\nFEATURES:\n\n• אין צורך בהרשמה, שירות אינטרנט או ענן. הארנק הוא מבוזר ומעמית-לעמית.\n• הצגת היתרה בביטקוין, מילי-ביט או מיוביט.\n• המרה למטבעות מקומיים.\n• קבלה ושליחה של ביטקוינים דרך NFC, קוד QR או באמצעות כתובות ביטקוין.\n• כשאתה לא מחובר לרשת, עדיין תוכל לשלם באמצעות Bluetooth.\n• התראות מערכת על קבלת מטבעות.\n• וידג'ט לבדיקת יתרת הביטקוין שלך\n\nאם אתה רוצה לתרום לפרויקט ארנק הביטקוין, הפרויקט ממוקם ב\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nרישיון : GPLv3\nשים לב: השימוש הוא באחריות המשתמש.\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-ja.txt",
    "content": "<b>ビットコインを持ち歩こう、いつでもあなたのポケットに!</b> QRコードスキャンで素早く支払えます。販売者としても、即座にかつ確実に支払いを受取れます。 Bitcoin Walletは初めてのモバイルビットコインアプリであり、そして間違いなく最も安全なアプリでもあります!\n\n\n<b>特徴</b>\n\n• 登録必要なし、ウェブサービスもクラウドもいりません! このウォレットは分散型P2Pです。\n• BTC、mBTC、μBTCでのビットコインの表示。\n• 自国通貨へ、または自国通貨からの変換表示。\n• NFC、QRコード、ビットコインURLでの送金や受取。\n• オフラインの時でもBluetoothで支払い可能。\n• コイン受取の通知。\n• ペーパーウォレットをスィープ(例. コールドストレージ用)\n• ビットコイン残高のためのウィジェット。\n・安全性: SegWitと新しいbech32フォーマットをサポート。\n• プライバシー: 別途インストールしたOrbotアプリを通じてTorをサポート。\n\n\n<b>開発に協力ください</b>\n\nBitcoin Walletは<b>オープンソース</b>であり、<b>自由ソフトウェア</b>です。ライセンス: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.ja.html\n\nソースコードはGithubにあります。\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\n全ての翻訳はTransifexで管理されています:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>自己責任でお使いください!</i>\n"
  },
  {
    "path": "market/market-description-ko.txt",
    "content": "<b>주머니에 항상 넣어다닐 수 있는 비트코인 지갑!</b> QR 코드를 통해 빠르게 비트코인 결제가 가능합니다. 판매자의 경우 안전하고 빠르게 대금을 받을 수 있습니다. 비트코인 지갑(Bitcoin Wallet)은  최초의 모바일 비트코인 앱이며 최고의 보안을 자랑합니다!\n\n\n<b>특징</b>\n\n• 회원 가입이나 별도의 인증 과정이 없는 P2P 기반의 지갑\n• 다양한 비트코인 단위 설정 - BTC, mBTC, µBTC\n• 모든 국가별 비트코인 평가 환율 제공\n• 비트코인 URL, QR 코드, NFC를 통해 비트코인 거래 가능\n• 오프라인일 때에도 블루투스를 통해 거래 가능\n• 비트코인 수신 시 시스템의 자동 알림 기능\n• 종이 지갑(오프라인 형태로 사용되는 출력물)에서 가져오기\n• 전 세계 모든 통화별 잔액 표시 기능\n\n\n<b>도움받은 곳</b>\n\n비트코인 지갑은 <b>오픈소스</b>이며 <b>무료 소프트웨어</b>입니다. 라이센스 정책 : GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\n소스 코드는 깃허브(GitHub)에서 볼 수 있습니다.\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\n모든 번역은 Transifex 웹사이트를 통해 이루어집니다.\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>이 앱을 사용하는 것은 앱 사용에 따른 위험에 동의하는 것입니다!</i>\n"
  },
  {
    "path": "market/market-description-mk.txt",
    "content": "Имај ги твоите Биткоини секогаш со тебе, во твојот џеб! Плаќањето се одвива со брзо скенирање на QR код. Како трговец, можеш да примаш плаќања доверливо и без одложување. Биткоин Паричник е првата мобилна Биткоин апликација и веројатно најсигурната!\n\nОДЛИКИ:\n\n• Без регистрација, веб сервис или информации во облакот! Овој паричник е децентрализиран, со peer to peer конекција.\n• Прикажување на Биткоин сумата во BTC и mBTC.\n• Конверзија во и од национални валути.\n• Испраќање и примање на Биткоин преку NFC, QR кодови или Биткоин интернет адреса.\n• Кога си офлајн, сѐ уште можеш да плаќаш преку Bluetooth.\n• Системско известување за примени биткоини.\n• Апликациски виџет за Биткоин салдо.\n\nАко сакаш да придонесеш за Биткоин Паричник, проектот е лоциран на\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nLicense: GPLv3\nКористи на сопствен ризик!\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-nb.txt",
    "content": "<b>Ha alltid dine bitcoins med deg, i lommen din!</b> Du betaler ved å raskt skanne en QR-kode. Som en kjøpmann, får du betaling pålitelig og kjapt. Bitcoin Wallet er den første Bitcoin mobilappen, og kanskje også den sikreste!\n\n\n<b>FUNKSJONER</b>\n\n• Ingen registrering, webtjeneste eller sky trengs! Denne lommeboken er desentralisert og peer-to-peer.\n• Visning av bitcoinbeløpet i BTC, mBTC og μBTC.\n• Konvertering til og fra nasjonale valutaer.\n• Sende og motta bitcoin via NFC, QR-koder eller Bitcoin-URLer.\n• Når du er frakoblet, kan du fortsatt betale via blåtann.\n• Systemvarsling for mottatte mynter.\n• Sveiping av papirlommebøker (f.eks. de som brukes til kaldlagring).\n• Miniprogram for saldo over bitcoins.\n\n\n<b>BIDRA</b>\n\nBitcoin Wallet har <b>åpen kildekode</b> og er <b>fri programvare</b>. Lisens: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nVår kildekode er tilgjengelig på GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nAlle oversettelser skjer via Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Bruk på eget ansvar!</i>\n"
  },
  {
    "path": "market/market-description-nl.txt",
    "content": "<b>Draag je Bitcoins altijd bij je, in je broekzak!</b> Je kunt vlot betalen door een QR-code te scannen. Als winkelier ontvang je je betalingen betrouwbaar en onmiddelijk. Bitcoin Wallet is de eerste mobiele Bitcoin-app, en misschien wel de veiligste!\n\n\n<b>EIGENSCHAPPEN</b>\n\n• Geen registratie, webservice of cloud vereist! Deze portemonnee is decentraal en peer-to-peer.\n• Toon Bitcoin bedrag in BTC, mBTC en µBTC.\n• Conversie van en naar nationale valuta.\n* Verzend en ontvang Bitcoin via NFC, QR-codes of Bitcoin-URL's\n• Offline kun je nog steeds betalen via Bluetooth.\n• Systeemmelding wanneer je Bitcoins ontvangt\n• Opname van papieren portemonnee (b.v. voor cold storage).\n• App widget voor Bitcoin saldo.\n• Veiligheid: Ondersteunt SegWit en het nieuwe bech32-format.\n• Privacy: Ondersteunt Tor via de externe Orbot-app.\n\n\n<b>HELP MEE</b>\n\nBitcoin Wallet is <b>open source</b> en <b>free software</b>. Licentie: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.nl.html\n\nOnze broncode is beschikbaar op GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nAlle vertalingen worden geregeld via Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Gebruik op eigen risico!</i>\n"
  },
  {
    "path": "market/market-description-pl.txt",
    "content": "<b>Miej swoje Bitcoiny zawsze przy sobie, w Twojej kieszeni!<b> Możesz płacić przez szybkie zeskanowanie QR kodu. Jako sprzedawca otrzymujesz przelew szybko i bezpiecznie. Bitcoin Wallet jest pierwszą mobilną Bitcoin aplikacją oraz jest uważany za najbardziej bezpieczną.\n\n\n<b>NOWOŚCI</b>\n\n• Bez rejestracji, przeglądarki i połączenia z chmurą. Ten portfel jest zdecentralizowany i peer-to-peer.\n• Wyświetlaj ilość bitcoinów w BTC, mBTC lub µBTC.\n• Przelicznik z/do walut narodowych.\n• Wysyłaj i otrzymuj bitcoiny przy pomocy NFC, QRcode lub Bitcoin URL.\n• Kiedy jesteś offline możesz nadal płacić  przy pomocy Bluetooth.\n• Powiadomienia o otrzymaniu monet.\n• Zamiatanie portfeli papierowych (np. Używanych do przechowywania w chłodni).\n• Widget z saldem Bitcoinów.\n\n\n<b>PRZYCZYNIĆ SIĘ</b>\nBitcoin Wallet to oprogramowanie typu <b>open source</b> i <b>free software</b>. Licencja: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nNasz kod źródłowy jest dostępny na GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nWszystkie tłumaczenia są zarządzane przez Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Używasz na własne ryzyko!</i>\n"
  },
  {
    "path": "market/market-description-pt-BR.txt",
    "content": "<b>Tenha os seus Bitcoins sempre com você, no seu bolso!</b> Efetue pagamentos rapidamente apenas escaneando um código QR. Como comerciante, você pode receber pagamentos de forma confiável e instantânea. A Bitcoin Wallet foi o primeiro aplicativo móvel criado para o Bitcoin, sendo um dos mais seguros!\n\n\n<b>CARACTERÍSTICAS</b>\n\n• Não requer cadastro em nenhum serviço! Esta carteira é descentralizada e \"ponto a ponto (P2P)\".\n• Exibe a quantidade de Bitcoins em BTC, mBTC e µBTC.\n• Conversão para moedas nacionais.\n• Envio e recebimento de Bitcoins via NFC, códigos QR ou endereços Bitcoin.\n• Quando você estiver off-line, você ainda pode pagar via Bluetooth.\n• O recebimento de bitcoins é informado nas notificações do sistema.\n• Varredura de carteiras de papel (usadas para armazenamento offline).\n• Widget para saldo de Bitcoins.\n\n\n<b>CONTRIBUA</b>\n\nA Bitcoin Wallet é um <b>software livre</ b> e com <b>código aberto</ b>. Licença: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.pt-br.html\n\nNosso código fonte está disponível no GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nTodas as traduções são gerenciadas através do site Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Use por sua conta e risco!</i>\n"
  },
  {
    "path": "market/market-description-pt-PT.txt",
    "content": "<b>Tenha as suas Bitcoins sempre consigo, no seu bolso! Você paga digitalizando rapidamente um código QR. Como um comerciante, recebe pagamentos de uma forma segura e instantânea. Bitcoin Wallet é a primeira aplicação Bitcoin móvel, e possivelmente também a mais segura!\n\n\n<b>FUNCIONALIDADES</b>\n\n• Não é necessário registo, serviço da Web ou nuvem! Esta carteira é descentralizada e de par-a-par.\n• Exibir o valor Bitcoin em BTC, mBTC e µBTC.\n• Conversão de e para as moedas nacionais.\n• Enviar e receber Bitcoins via NFC, códigos QR ou URLs Bitcoin.\n• Quando estiver off-line, ainda pode pagar via Bluetooth.\n• Notificação do sistema para as moedas recebidas.\n• Limpeza de carteiras de papel (por exemplo, aquelas utilizadas para armazenamento reservado).\n• Widget da aplicação para o saldo de Bitcoins.\n\n\n<b>CONTRIBUIR</b>\n\nBitcoin Wallet é de <b>código aberto</b> e um <b>software livre</b>. Licença: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.pt-br.html\n\nO nosso código fonte está disponível em GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nTodas as traduções são geridas via Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Utilize por sua conta e risco!</i>\n"
  },
  {
    "path": "market/market-description-ru.txt",
    "content": "<b>Всегда носите ваши биткоины с собой в вашем кармане!</b> Оплачивайте простым сканированием QR кода. Это надежный и быстрый способ получения оплаты для продавцов. Bitcoin Wallet это первый и наиболее безопасный мобильный кошелек для биткоинов!\n\n\n<b>ОСОБЕННОСТИ</b>\n\n• Ни какой регистрации не требуется! Это децентрализованный кошелек в сети, где все узлы равны (peer to peer).\n• Отображает значение Bitcoin в BTC, mBTC и µBTC.\n• Конвертация в национальные валюты и обратно.\n• Отправка и получение Bitcoin при помощи NFC, QR кодов или Bitcoin адресов (URLs).\n• В оффлайне можно использовать Bluetooth для платежей.\n• Системные уведомления о поступивших платежах.\n• Снятие средств с бумажных кошельков (Сипользуются для \"холодного\" хранения).\n• Виджет для отображения баланса.\n• Безопасность: Поддерживает SegWit и новый формат bench32.\n• Конфиденциальность: Поддержка Tor через отдельное приложение Orbot.\n\n\n<b>УЧАСТИЕ</b>\n\nBitcoin Wallet это <b>распространяется с исходным кодом</b> как <b>свободное ПО</b>. На условиях лицензии: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.ru.html\n\nИсходный код доступен на GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nВсе переводы сделаны через Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Используйте на свой страх и риск!</i>\n"
  },
  {
    "path": "market/market-description-sk.txt",
    "content": "Bitcoiny vždy so sebou vo svojom vrecku. Jednoduché a rýchle platby pomocou QR kódov. Pre obchodníkov ponúka spoľahlivé a okamžité prijímanie platieb. Bitcoin Wallet je prvá mobilná Bitcoin aplikácia a preukázateľne aj najbezpečnejšia.\n\nFUNKCIE:\n\n• Nie je potrebná žiadna registrácia ani žiadny účet.\n• Zobrazenie zostatku Bitcoinov v BTC alebo mBTC.\n• Prepočet hodnoty Bitcoinov do viacerých cudzích mien.\n• Posielanie a prijímanie Bitcoinov pomocou NFC, QR kódov alebo Bitcoin adries.\n• V offline režime je platba možná aj cez Bluetooth.\n• Notifikácie v stavovej lište pri prijatí Bitcoinov.\n• Widget s celkovým zostatkom.\n\nAk chcete prispieť do projektu Bitcoin Wallet nájdete ho na adrese\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nLicencia: GPLv3\nPoužitie len na vlastné riziko!\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-sl.txt",
    "content": "Nosite svoje novce vedno s seboj v žepu. Plačila so hitra, le prečitate QR-kodo. Tudi prejemanje plačil je zanesljivo in takojšnje. Bitcoin Wallet je prva mobilna aplikacija za bitcoin in najbrž tudi najbolj varna!\n\nLASTNOSTI:\n\n• Potrebna ni nobena registracija, spletna storitev ali oblak! Ta denarnica deluje povsem decentralizirano in vrstniško.\n• Prikaz zneskov v BTC, mBTC ali µBTC.\n• Samodejna pretvorba v evre in druge lokalne valute.\n• Pošiljanje in prejemanje bitcoinov prek NFC, QR-kod ali bitcoin URL-jev.\n• Z bitcoinom lahko plačujete tudi, če nimate povezave.\n• Sistemska obvestila ob prejetih novcih.\n• Widget, ki prikazuje stanje v denarnici.\n\nČe želite prispevati k aplikaciji Bitcoin Wallet, se nam pridružite na\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nLicenca: GPLv3\nUporaba na lastno odgovornost!\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-sq.txt",
    "content": "<>Mbani Bitcoin-at e juaj gjithmonë me ju, në xhepin tuaj!</b> Paguani shpejt duke skanuar një QR kod. Si tregtar, pranoni pagesat lehtë dhe menjëherë. Bitcoin Wallet është Bitcoin aplikacioni i parë mobil, dhe gjithashtu më i sigurti!\n\n\n<b>VEÇORIT</b>\n\n• Nuk kërkohet regjistrim, ueb shërbim apo cloud! Kjo kulet është e de-centralizuar dhe 'peer to peer'.\n• Shfaq shumën e Bitcoins në BTC, mBTC dhe µBTC.\n• Konvertimi nga monedhat nacionale.\n• Dërgimi dhe pranimi i Bitcoin-ave me anë të NFC, QR kodeve ose Bircoin URL-ve.\n• Kur jeni offline, ju prap mund të paguani përmes Bluetooth.\n• Sistemi i lajmërimit për pranimin e monedhave.\n• Shpenzimi i kuletave në letër (p.sh. ato të cilat përdoren për 'cold storage').\n• Shtesa e programit për bilancin e monedhave.\n\n\n<b>KONTRIBUOJ</b>\n\nBitcoin Wallet është <b>kod i hapur</b> dhe <b>softuer i lirë</b>. Licenca: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nKodi jonë burimor është i hapur në GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nTë gjitha përkthimet menagjohen nga Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Përdoreni në përgjegjësin tuaj!<i>\n"
  },
  {
    "path": "market/market-description-sv.txt",
    "content": "<b>Ha alltid dina bitcoin med dig i fickan!</b> Du betalar snabbt genom att skanna en QR-kod. Handlare får betalningar tillförlitligt och omedelbart. Bitcoin Wallet är den första mobila bitcoin-appen, och utan tvekan den mest säkra!\n\n\n<b>FUNKTIONER</b>\n\n• Ingen registrering, web- eller molntjänst behövs! Bitcoin Wallet är decentraliserad och peer-to-peer.\n• Visa summa bitcoin i BTC, mBTC eller µBTC.\n• Konvertering till och från nationella valutor.\n• Skicka och ta emot bitcoin via NFC, QR-koder eller en Bitcoin-URL.\n• När du är nedkopplad kan du fortfarande betala via Bluetooth.\n• Meddelande om mottagna bitcoin.\n• Inläsning av pappersplånbok (t.ex. sådan som används för permanent lagring).\n• App-widget som visar ditt saldo.\n\n\n<b>BIDRA</b>\n\nBitcoin Wallet är <b>öppen mjukvara</b> och <b>fri mjukvara</b>. Licens: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nVår källkod finns tillgänglig på GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nAll översättning hanteras via Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Används på egen risk!</i>\n"
  },
  {
    "path": "market/market-description-tr.txt",
    "content": "<b>Bitcoin'leriniz daima cebinizde sizinle olsun!</b> Herhangi bir QR kodunu okutarak çabuk ödeme yapabilirsiniz. Bir tüccar olarak ödemeleri güvenle ve anında alabilirsiniz. Bitcoin Wallet ilk mobil ve muhtemelen en güvenli Bitcoin uygulamasıdır!\n\n\n<b>ÖZELLİKLER</b>\n\n• Kayıt olmaya, web ya da bulut hizmetine gerek yoktur. Bu cüzdan merkezsiz ve eşten eşedir.\n• Bitcoin miktarını BTC, mBTC ve µBTC olarak göster.\n• Ulusal para birimlerine ve bu para birimlerinden dönüştürme.\n• QR kodları, Bitcoin bağlantıları ve yakın alan iletişimi ile Bitcoin alımı ve gönderilmesi.\n• Çevrimdışı olduğunuzda Bluetooth vasıtasıyla ödemeler.\n• Alınan bitcoin'ler için sistem bildirimleri.\n• Kağıt cüzdanların taranması (mesela soğuk depolama için kullanılanlar).\n• Bitcoin bakiyesini görüntüleyen widget.\n\n\n<b>KATKIDA BULUNUN</b>\n\nBitcoin Wallet <b>açık kaynak</b> ve <b>özgür yazılımdır</b>. Lisans: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nKaynak kodumuz GitHub'da mevcuttur:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nTüm tercümeler Transifex üzerinde yönetilir:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Tüm riski siz üstlenmiş olursunuz!</i>\n"
  },
  {
    "path": "market/market-description-uk.txt",
    "content": "<b>Носіть Bitcoin завжди з собою, в кишені!</b> Оплачуйте швидко, скануючи QR-код. Якщо ви продавець, отримуйте оплату швидко і надійно. Гаманець Bitcoin — перший мобільний додаток для Bitcoin, і можливо найбезпечніший!\n\n\n<b>Особливості</b>\n\n• Не потрібна реєстрація, ані веб-сервіс, ані хмара! Цей гаманець децентралізований і є p2p.\n• Показ суми Bitcoin в BTC, mBTC і µBTC.\n• Конверсія із, та в національні валюти.\n• Підтримка відправки та отримання засобів через NFC, QR-коди або Bitcoin URL.\n• Коли ви не в мережі, ви можете оплачувати через Bluetooth.\n• Системні сповіщення про отримані монети.\n• Сканування паперових гаманців.\n• Віджет для відображення балансу Bitcoin.\n\n\n<b>ПІДТРИМКА</b>\n\nBitcoin Wallet це <b>безкоштовний додаток</b> з <b>відкритим початковим кодом</b>. Ліцензія: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.uk.html\n\nПочатковий код додатку доступний на GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nВсі переклади зроблені через Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Використувуйте на свій страх та ризик!</i>\n"
  },
  {
    "path": "market/market-description-vi.txt",
    "content": "Với ứng dụng này thì các Bitcoin sẽ luôn trong tầm kiểm soát của riêng bạn! Bạn có thể gửi các khoản chi trả thông qua thao tác cực kỳ đơn giản đó là quét mã dạng QR hoặc bằng cách chạm hai điện thoại vào nhau (NFC). Bitcoin Wallet được thiết với nguyên lý dễ dàng, tiện lợi, đáng tin tưởng, cũng như cực kỳ nhanh lẹ và đảm bảo an toàn cho người dùng.\n\nTÍNH NĂNG:\n\n• Không cần có cloud server hoặc dịch vụ web bổ sung nào cả! Ví tiền của bạn được kết nối thông qua sự lựa chọn của bạn trong kết nối mang ngang hàng lẫn nhau.\n• Hiển thị trạng thái cân bằng tài khoản giữa Bitcoin và các loại tiền tệ khác.\n• Gửi và nhận Bitcoin thông qua NFC, mã dạng QR hoặc đường dẫn liên kết dạng Bitcoin.\n• Tham gia tiến trình giao dịch ngay khi không có kết nối mạng, và sẽ thực hiện kết nối ngay khi có mạng.\n• Thông báo trong hệ thống theo tính nhanh gọn về số lượng Bitcoin nhận và gửi đi.\n• Tiện ích dành riêng cho Bitcoin.\n\nNếu bạn có ý tưởng đóng góp cho Bitcoin Wallet, hãy truy cập vào trang web\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nGiấy phép: GPLv3\nSử dụng với sự cẩn trọng của riêng bạn!\nhttp://www.gnu.org/licenses/gpl-3.0.en.html\n"
  },
  {
    "path": "market/market-description-zh-TW.txt",
    "content": "<b>隨身攜帶你的 Bitcoin，就在你的口袋中！<b>你可以掃描 QR 條碼快速付款。商家也可以安全又快速的完成請款。Bitcoin Wallet 是第一個可以在行動設備使用的 Bitcoin app，並自認為是最安全的一個！\n\n\n<b>特點</b>\n\n• 不需要註冊、不用登記網路服務、也不使用任何雲端服務！這個錢包 app 完全去中心，並使用對等網路(P2P)來服務。\n• 可以顯示不同 Bitcoin 金額單位，如 BTC、mBTC 與 µBTC。\n• 可以轉換各國貨幣。\n• 可以透過 NFC、QR 條碼、或是 Bitcoin 付款網址來付款及收款。\n• 可以在離線時使用藍芽付款。\n• 可以在收到款項時通知提醒。\n• 可以兌現紙錢包(及其他冷儲存的媒介)。\n• Bitcoin 餘額桌面小工具。\n\n\n<b>出力</b>\n\nBitcoin Wallet 既是<b>開放源碼</b>也是<b>自由軟體</b>。授權條款: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\n我們的原始碼位在 GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\n所有的翻譯工作都用 Transifex 管理:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>請自負使用風險！</i>\n"
  },
  {
    "path": "market/market-description-zh.txt",
    "content": "<b>将比特币随身携带在你自己的口袋中！</b> 扫描二维码快速支付，即时可靠的接收付款。比特币钱包 (Bitcoin Wallet) 是首选的、最安全的比特币应用！\n\n\n<b>功能</b>\n\n• 不需要注册，不需要网络服务，也不需要云！比特币钱包是“去中心化”、点对点的 (peer to peer)。\n• 以 BTC, mBTC 以及 µBTC 为单位显示比特币金额。\n• 从比特币转换为国家货币，或者从国家货币转换为比特币。\n• 通过 NFC，二维码、比特币链接发送或接收比特币。\n• 断网情况下仍然可以通过蓝牙付款。\n• 收到比特币时显示系统通知。\n• 与纸钱包交换比特币（纸钱包经常用于冷存储）。\n• 应用程序小部件，用于显示比特币余额。\n• 安全性：支持隔离见证（SegWit）以及最新的bech32格式。\n• 隐私性：通过洋葱路由（Orbot）应用支持Tor网络。\n\n\n<b>贡献</b>\n\nBitcoin Wallet 是 <b>开源项目</b> 和 <b>自由软件</b>，以 GPLv3 授权。\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\n源代码托管在 GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\n所有的本地化翻译均在 Transifex 上进行：\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>请在使用时谨记风险！</i>"
  },
  {
    "path": "market/market-description.txt",
    "content": "<b>Have your Bitcoins always with you, in your pocket!</b> You pay by quickly scanning a QR code. As a merchant, you receive payments reliably and instantly. Bitcoin Wallet is the first mobile Bitcoin app, and arguably also the most secure!\n\n\n<b>FEATURES</b>\n\n• No registration, web service or cloud needed! This wallet is de-centralized and peer to peer.\n• Display of Bitcoin amount in BTC, mBTC and µBTC.\n• Conversion to and from national currencies.\n• Sending and receiving of Bitcoin via NFC, QR codes or Bitcoin URLs.\n• When you're offline, you can still pay via Bluetooth.\n• System notification for received coins.\n• Sweeping of paper wallets (e.g. those used for cold storage).\n• App widget for Bitcoin balance.\n• Safety: Supports SegWit and the new bech32 format.\n• Privacy: Supports Tor via the separate Orbot app.\n\n\n<b>CONTRIBUTE</b>\n\nBitcoin Wallet is <b>open source</b> and <b>free software</b>. License: GPLv3\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nOur source code is available at GitHub:\nhttps://github.com/bitcoin-wallet/bitcoin-wallet\n\nAll translations are managed via Transifex:\nhttps://www.transifex.com/bitcoin-wallet/bitcoin-wallet/\n\n\n<i>Use at your own risk!</i>\n"
  },
  {
    "path": "market/market-promo-text-ar.txt",
    "content": "البتكوين الخاصة بك، في جيبك !\n"
  },
  {
    "path": "market/market-promo-text-ca.txt",
    "content": "Els teus Bitcoins, a la teva butxaca!\n"
  },
  {
    "path": "market/market-promo-text-cs.txt",
    "content": "Vlastní Bitcoiny ve vlastní kapse!\n"
  },
  {
    "path": "market/market-promo-text-cy.txt",
    "content": "Dy Fitcoin dy hun, yn dy boced dy hun!"
  },
  {
    "path": "market/market-promo-text-da.txt",
    "content": "Dine egne Bitcoins i din egen lomme!\n"
  },
  {
    "path": "market/market-promo-text-de.txt",
    "content": "Deine eigenen Bitcoins, in deiner eigenen Tasche!\n"
  },
  {
    "path": "market/market-promo-text-el.txt",
    "content": "Τα δικά σας Bitcoin, στην τσέπη σας!\n"
  },
  {
    "path": "market/market-promo-text-eo.txt",
    "content": "Viaj propraj Bitmonoj, en via propra poŝo!\n"
  },
  {
    "path": "market/market-promo-text-es.txt",
    "content": "¡Tus propios Bitcoins, en tu propio bolsillo!\n"
  },
  {
    "path": "market/market-promo-text-fa.txt",
    "content": "بیت کوین های شما، در کیف پول خودتان!\n"
  },
  {
    "path": "market/market-promo-text-fi.txt",
    "content": "Pidä Bitcoinisi omassa taskussasi!\n"
  },
  {
    "path": "market/market-promo-text-fr.txt",
    "content": "Vos bitcoins, dans votre poche !\n"
  },
  {
    "path": "market/market-promo-text-he.txt",
    "content": "הביטקוינים שלך, בכיס שלך!\n"
  },
  {
    "path": "market/market-promo-text-hi.txt",
    "content": "आपके अपने बिटकोइंस , आपकी अपनी पॉकेट में !\n"
  },
  {
    "path": "market/market-promo-text-hr.txt",
    "content": "Tvoji vlastiti Bitcoin-ovi, u tvome džepu!\n"
  },
  {
    "path": "market/market-promo-text-hu.txt",
    "content": "Tartsd a zsebedben Bitcoin érméidet!\n"
  },
  {
    "path": "market/market-promo-text-id.txt",
    "content": "Anda memiliki Bitcoin, dalam saku Anda sendiri!\n"
  },
  {
    "path": "market/market-promo-text-it.txt",
    "content": "I tuoi Bitcoin, nella tua tasca!\n"
  },
  {
    "path": "market/market-promo-text-iw.txt",
    "content": "הביטקוינים שלך, בכיס שלך!\n"
  },
  {
    "path": "market/market-promo-text-ja.txt",
    "content": "君のビットコインを、君のポケットに!\n"
  },
  {
    "path": "market/market-promo-text-ko.txt",
    "content": "내 주머니, 내 비트코인!\n"
  },
  {
    "path": "market/market-promo-text-mk.txt",
    "content": "Твоите лични Биткоини, во твојот сопствен џеб!\n"
  },
  {
    "path": "market/market-promo-text-nb.txt",
    "content": "Dine egne bitcoins, i din egen lomme!\n"
  },
  {
    "path": "market/market-promo-text-nl.txt",
    "content": "Je eigen bitcoins, in je eigen zak!\n"
  },
  {
    "path": "market/market-promo-text-pl.txt",
    "content": "Twoje Bitcoiny w Twojej kieszen!"
  },
  {
    "path": "market/market-promo-text-pt-BR.txt",
    "content": "Seus Bitcoins em seu bolso!\n"
  },
  {
    "path": "market/market-promo-text-pt-PT.txt",
    "content": "As suas próprias Bitcoins, estão sempre consigo!"
  },
  {
    "path": "market/market-promo-text-ru.txt",
    "content": "Ваши собственные биткоины в вашем собственном кармане!\n"
  },
  {
    "path": "market/market-promo-text-sk.txt",
    "content": "Tvoje vlastné Bitcoiny, v Tvojom vlastnom vrecku!\n"
  },
  {
    "path": "market/market-promo-text-sl.txt",
    "content": "Vaši novci v vašem žepu!\n"
  },
  {
    "path": "market/market-promo-text-sq.txt",
    "content": "Bitcoin-monedhat tuaja, në xhepin tuaj!\n"
  },
  {
    "path": "market/market-promo-text-sv.txt",
    "content": "Dina egna bitcoin, i din egen ficka!\n"
  },
  {
    "path": "market/market-promo-text-tr.txt",
    "content": "Kendi Bitcoinleriniz, kendi cebinizde!\n"
  },
  {
    "path": "market/market-promo-text-uk.txt",
    "content": "Ваші Bitcoin, у вашій власній кишені!\n"
  },
  {
    "path": "market/market-promo-text-vi.txt",
    "content": "Bitcoin của riêng bạn, trong túi tiền của riêng bạn!\n"
  },
  {
    "path": "market/market-promo-text-zh-TW.txt",
    "content": "你的 Bitcoin 就在自己的口袋裡！\n"
  },
  {
    "path": "market/market-promo-text-zh.txt",
    "content": "将您自己的比特币装进您自己的口袋！"
  },
  {
    "path": "market/market-promo-text.txt",
    "content": "Your own Bitcoins, in your own pocket!\n"
  },
  {
    "path": "sample-integration-android/AUTHORS",
    "content": "Andreas Schildbach <andreas@schildbach.de>\n"
  },
  {
    "path": "sample-integration-android/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"de.schildbach.wallet.integration.sample\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0\">\n\n    <uses-sdk android:minSdkVersion=\"15\" />\n\n    <uses-feature\n        android:name=\"android.hardware.touchscreen\"\n        android:required=\"false\" />\n\n    <supports-screens\n        android:anyDensity=\"true\"\n        android:largeScreens=\"true\"\n        android:normalScreens=\"true\"\n        android:smallScreens=\"true\" />\n\n    <application android:label=\"Bitcoin in-app payment sample\">\n        <activity\n            android:name=\"de.schildbach.wallet.integration.sample.SampleActivity\"\n            android:theme=\"@android:style/Theme.Light\">\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n    </application>\n</manifest>\n"
  },
  {
    "path": "sample-integration-android/COPYING",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n"
  },
  {
    "path": "sample-integration-android/build.gradle",
    "content": "plugins {\n    id 'com.android.application'\n}\n\nconfigurations {\n    all*.exclude group: 'com.google.android', module: 'android'\n}\n\ndependencies {\n    implementation project(':integration-android')\n    implementation 'org.bitcoinj:bitcoinj-core:0.14.7'\n}\n\nandroid {\n    compileSdkVersion 'android-19'\n    buildToolsVersion '29.0.3'\n\n    defaultConfig {\n        dexOptions {\n            preDexLibraries false\n        }\n    }\n\n    sourceSets {\n        main {\n            manifest.srcFile 'AndroidManifest.xml'\n            java.srcDirs = ['src']\n            res.srcDirs = ['res']\n            assets.srcDirs = ['assets']\n        }\n    }\n\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_8\n        targetCompatibility JavaVersion.VERSION_1_8\n    }\n\n    lintOptions {\n        checkReleaseBuilds false\n        abortOnError false\n    }\n\n    packagingOptions {\n        exclude 'lib/x86_64/darwin/libscrypt.dylib'\n        exclude 'org/bitcoinj/crypto/mnemonic/wordlist/english.txt'\n        exclude 'org/bitcoinj/crypto/cacerts'\n        exclude 'org.bitcoin.production.checkpoints.txt'\n        exclude 'org.bitcoin.test.checkpoints.txt'\n        exclude '**/*.java'\n    }\n}\n"
  },
  {
    "path": "sample-integration-android/res/layout/sample_activity.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"fill_parent\"\n    android:layout_height=\"fill_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"24dp\"\n        android:layout_marginTop=\"24dp\"\n        android:orientation=\"vertical\">\n\n        <RadioGroup\n            android:layout_width=\"256dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:orientation=\"horizontal\">\n\n            <RadioButton\n                android:id=\"@+id/sample_network_mainnet\"\n                style=\"@android:style/TextAppearance.Medium\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:checked=\"true\"\n                android:text=\"Mainnet\" />\n\n            <RadioButton\n                android:id=\"@+id/sample_network_testnet\"\n                style=\"@android:style/TextAppearance.Medium\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"8dp\"\n                android:text=\"Testnet\" />\n        </RadioGroup>\n\n        <TextView\n            style=\"@android:style/TextAppearance.Medium\"\n            android:layout_width=\"256dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"20dp\"\n            android:text=\"This demonstrates the integration of a &quot;Donate Bitcoins&quot; button in your app.\" />\n\n        <FrameLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"0px\"\n            android:layout_weight=\"1\">\n\n            <Button\n                android:id=\"@+id/sample_donate_button\"\n                style=\"@android:style/TextAppearance.Medium\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"center\"\n                android:text=\"Donate\" />\n        </FrameLayout>\n\n        <TextView\n            style=\"@android:style/TextAppearance.Medium\"\n            android:layout_width=\"256dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"20dp\"\n            android:text=\"Here is a more complex request for a payment to two addresses.\" />\n\n        <FrameLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"0px\"\n            android:layout_weight=\"1\">\n\n            <Button\n                android:id=\"@+id/sample_request_button\"\n                style=\"@android:style/TextAppearance.Medium\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"center\"\n                android:text=\"Request\" />\n        </FrameLayout>\n\n        <TextView\n            android:id=\"@+id/sample_donate_message\"\n            style=\"@android:style/TextAppearance.Medium\"\n            android:layout_width=\"256dp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"20dp\"\n            android:minLines=\"5\"\n            android:visibility=\"invisible\" />\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "sample-integration-android/src/de/schildbach/wallet/integration/sample/SampleActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage de.schildbach.wallet.integration.sample;\n\nimport android.app.Activity;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.text.Spannable;\nimport android.text.SpannableStringBuilder;\nimport android.text.style.TypefaceSpan;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.RadioButton;\nimport android.widget.TextView;\nimport android.widget.Toast;\nimport com.google.protobuf.ByteString;\nimport de.schildbach.wallet.integration.android.BitcoinIntegration;\nimport org.bitcoin.protocols.payments.Protos;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.AddressFormatException;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.script.ScriptBuilder;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SampleActivity extends Activity {\n    private static final long AMOUNT = 500000;\n    private static final String[] DONATION_ADDRESSES_MAINNET = { \"18CK5k1gajRKKSC7yVSTXT9LUzbheh1XY4\",\n            \"1PZmMahjbfsTy6DsaRyfStzoWTPppWwDnZ\" };\n    private static final String[] DONATION_ADDRESSES_TESTNET = { \"mkCLjaXncyw8eSWJBcBtnTgviU85z5PfwS\",\n            \"mwEacn7pYszzxfgcNaVUzYvzL6ypRJzB6A\" };\n    private static final String MEMO = \"Sample donation\";\n    private static final int REQUEST_CODE = 0;\n\n    private Button donateButton, requestButton;\n    private TextView donateMessage;\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        setContentView(R.layout.sample_activity);\n\n        donateButton = (Button) findViewById(R.id.sample_donate_button);\n        donateButton.setOnClickListener(v -> handleDonate());\n\n        requestButton = (Button) findViewById(R.id.sample_request_button);\n        requestButton.setOnClickListener(v -> handleRequest());\n\n        donateMessage = (TextView) findViewById(R.id.sample_donate_message);\n    }\n\n    private String[] donationAddresses() {\n        final boolean isMainnet = ((RadioButton) findViewById(R.id.sample_network_mainnet)).isChecked();\n\n        return isMainnet ? DONATION_ADDRESSES_MAINNET : DONATION_ADDRESSES_TESTNET;\n    }\n\n    private void handleDonate() {\n        final String[] addresses = donationAddresses();\n\n        BitcoinIntegration.requestForResult(SampleActivity.this, REQUEST_CODE, addresses[0]);\n    }\n\n    private void handleRequest() {\n        try {\n            final String[] addresses = donationAddresses();\n            final NetworkParameters params = Address.getParametersFromAddress(addresses[0]);\n\n            final Protos.Output.Builder output1 = Protos.Output.newBuilder();\n            output1.setAmount(AMOUNT);\n            output1.setScript(ByteString\n                    .copyFrom(ScriptBuilder.createOutputScript(new Address(params, addresses[0])).getProgram()));\n\n            final Protos.Output.Builder output2 = Protos.Output.newBuilder();\n            output2.setAmount(AMOUNT);\n            output2.setScript(ByteString\n                    .copyFrom(ScriptBuilder.createOutputScript(new Address(params, addresses[1])).getProgram()));\n\n            final Protos.PaymentDetails.Builder paymentDetails = Protos.PaymentDetails.newBuilder();\n            paymentDetails.setNetwork(params.getPaymentProtocolId());\n            paymentDetails.addOutputs(output1);\n            paymentDetails.addOutputs(output2);\n            paymentDetails.setMemo(MEMO);\n            paymentDetails.setTime(System.currentTimeMillis());\n\n            final Protos.PaymentRequest.Builder paymentRequest = Protos.PaymentRequest.newBuilder();\n            paymentRequest.setSerializedPaymentDetails(paymentDetails.build().toByteString());\n\n            BitcoinIntegration.requestForResult(SampleActivity.this, REQUEST_CODE,\n                    paymentRequest.build().toByteArray());\n        } catch (final AddressFormatException x) {\n            throw new RuntimeException(x);\n        }\n    }\n\n    @Override\n    protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {\n        if (requestCode == REQUEST_CODE) {\n            if (resultCode == Activity.RESULT_OK) {\n                final String txHash = BitcoinIntegration.transactionHashFromResult(data);\n                if (txHash != null) {\n                    final SpannableStringBuilder messageBuilder = new SpannableStringBuilder(\"Transaction hash:\\n\");\n                    messageBuilder.append(txHash);\n                    messageBuilder.setSpan(new TypefaceSpan(\"monospace\"), messageBuilder.length() - txHash.length(),\n                            messageBuilder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n\n                    if (BitcoinIntegration.paymentFromResult(data) != null)\n                        messageBuilder.append(\"\\n(also a BIP70 payment message was received)\");\n\n                    donateMessage.setText(messageBuilder);\n                    donateMessage.setVisibility(View.VISIBLE);\n                }\n\n                Toast.makeText(this, \"Thank you!\", Toast.LENGTH_LONG).show();\n            } else if (resultCode == Activity.RESULT_CANCELED) {\n                Toast.makeText(this, \"Cancelled.\", Toast.LENGTH_LONG).show();\n            } else {\n                Toast.makeText(this, \"Unknown result.\", Toast.LENGTH_LONG).show();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "settings.gradle",
    "content": "import org.gradle.util.GradleVersion\nimport org.gradle.api.GradleScriptException\n\n// required Gradle version\ndef minGradleVersion = GradleVersion.version(\"4.4\")\n\nif (GradleVersion.current() < minGradleVersion)\n    throw new GradleScriptException(\"build requires Gradle ${minGradleVersion} or later\", null)\n\ninclude 'wallet'\ninclude 'integration-android'\n//include 'sample-integration-android'\n"
  },
  {
    "path": "wallet/AUTHORS",
    "content": "Coding, Graphics:\nAndreas Schildbach <andreas@schildbach.de>\n\nLocalizations:\nRussian: Artem Grunichev <gluk@umbrosia.ru>\nSpanish: Ángel José Riesgo <ariesgo@nubaria.com>, Francesc <shawe.ewahs@gmail.com>, Macarse <macarse@gmail.com>\nItalian: Dusty - http://ilporticodipinto.it/bitcoin\nPolish: Meo <miaumeo@gmx.de>\nChinese: Li <licecil.ce@gmail.com>, 阳波 <023yangbo@gmail.com>\nFrench: Pierre Noizat <pierre.noizat@paymium.com>\nDutch: KwukDuck <kwukduck@gmail.com>\nSwedish: Mats Henricson <mats@henricson.se>\nGreek: Christos Pateropoulos <cpaterop@gmail.com>\nCzech: @shmoula - http://www.shmoula.cz\nGerman: Andreas Schildbach <andreas@schildbach.de>\nTurkish: Anonymous\nHebrew: Eran Shlomo <shlomo.eran@gmail.com>\nVietnamese: Phan Anh\nPortuguese: Marco Dantas\nDanish: Thomas Pryds <thomas@pryds.eu>\nTraditional Chinese (zh-TW): Y12Studio <y12studio@gmail.com>\nKorean: bitPremiers.co.kr, sorumfactory.com\n"
  },
  {
    "path": "wallet/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    package=\"de.schildbach.wallet\"\n    android:installLocation=\"internalOnly\">\n\n    <!-- normal permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" />\n    <uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\" />\n    <uses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" />\n    <uses-permission android:name=\"android.permission.BLUETOOTH\" />\n    <uses-permission android:name=\"android.permission.NFC\" />\n    <uses-permission android:name=\"android.permission.VIBRATE\" />\n    <uses-permission android:name=\"android.permission.WAKE_LOCK\" />\n\n    <!-- dangerous permissions -->\n    <uses-permission android:name=\"android.permission.CAMERA\" /> <!-- group: CAMERA -->\n\n    <uses-feature\n        android:name=\"android.hardware.touchscreen\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.hardware.nfc\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.hardware.camera\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.hardware.camera.front\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.hardware.camera.autofocus\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.hardware.camera.flash\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.hardware.screen.landscape\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.hardware.bluetooth\"\n        android:required=\"false\" />\n    <uses-feature\n        android:name=\"android.software.app_widgets\"\n        android:required=\"false\" />\n\n    <supports-screens\n        android:anyDensity=\"true\"\n        android:largeScreens=\"true\"\n        android:normalScreens=\"true\"\n        android:smallScreens=\"true\"\n        android:xlargeScreens=\"true\" />\n\n    <application\n        android:name=\"de.schildbach.wallet.WalletApplication\"\n        android:hasFragileUserData=\"true\"\n        android:allowBackup=\"false\"\n        android:icon=\"@drawable/ic_app_color\"\n        android:label=\"@string/app_name\"\n        android:networkSecurityConfig=\"@xml/network_security_config\"\n        tools:targetApi=\"24\">\n        <activity\n            android:name=\"de.schildbach.wallet.ui.WalletActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:exported=\"true\"\n            android:label=\"@string/app_name_short\"\n            android:launchMode=\"singleTask\"\n            android:theme=\"@style/My.Theme.WithSplash\" />\n        <activity-alias\n            android:name=\"de.schildbach.wallet.WalletActivity\"\n            android:targetActivity=\"de.schildbach.wallet.ui.WalletActivity\">\n            <intent-filter android:label=\"@string/app_name_short\">\n                <action android:name=\"android.intent.action.MAIN\" />\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n            <intent-filter>\n                <action android:name=\"android.nfc.action.NDEF_DISCOVERED\" />\n                <data android:mimeType=\"application/x-dogetx\" />\n                <category android:name=\"android.intent.category.DEFAULT\" />\n            </intent-filter>\n            <meta-data\n                android:name=\"android.app.shortcuts\"\n                android:resource=\"@xml/shortcuts\" />\n        </activity-alias>\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.send.SendCoinsActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:label=\"@string/send_coins_activity_title\"\n            android:theme=\"@style/My.Theme.ChildActivity\"\n            android:windowSoftInputMode=\"adjustResize\">\n            <intent-filter android:label=\"@string/send_coins_activity_title\">\n                <action android:name=\"android.intent.action.VIEW\" />\n                <data android:scheme=\"dogecoin\" />\n                <data android:scheme=\"DOGECOIN\" />\n                <category android:name=\"android.intent.category.DEFAULT\" />\n                <category android:name=\"android.intent.category.BROWSABLE\" />\n            </intent-filter>\n            <intent-filter android:label=\"@string/send_coins_activity_title\">\n                <action android:name=\"android.nfc.action.NDEF_DISCOVERED\" />\n                <data android:scheme=\"dogecoin\" />\n                <category android:name=\"android.intent.category.DEFAULT\" />\n            </intent-filter>\n            <intent-filter android:label=\"@string/send_coins_activity_title\">\n                <action android:name=\"android.intent.action.VIEW\" />\n                <data android:mimeType=\"application/vnd.doge.payment.request\" />\n                <category android:name=\"android.intent.category.DEFAULT\" />\n            </intent-filter>\n            <intent-filter android:label=\"@string/send_coins_activity_title\">\n                <action android:name=\"android.nfc.action.NDEF_DISCOVERED\" />\n                <data android:mimeType=\"application/vnd.doge.payment.request\" />\n                <category android:name=\"android.intent.category.DEFAULT\" />\n            </intent-filter>\n        </activity>\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.SendCoinsQrActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:theme=\"@android:style/Theme.Translucent.NoTitleBar\">\n        </activity>\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.RequestCoinsActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:label=\"@string/request_coins_activity_title\"\n            android:theme=\"@style/My.Theme.ChildActivity\"\n            android:windowSoftInputMode=\"adjustResize\" />\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.AddressBookActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:label=\"@string/address_book_activity_title\"\n            android:theme=\"@style/My.Theme.ChildActivity\" />\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.ExchangeRatesActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:label=\"@string/exchange_rates_activity_title\"\n            android:theme=\"@style/My.Theme.ChildActivity\" />\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.monitor.NetworkMonitorActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:label=\"@string/network_monitor_activity_title\"\n            android:theme=\"@style/My.Theme.ChildActivity\" />\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.preference.PreferenceActivity\"\n            android:label=\"@string/preferences_activity_title\"\n            android:theme=\"@style/My.Theme.ChildActivity\" />\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.backup.BackupWalletActivity\"\n            android:configChanges=\"orientation|keyboard|keyboardHidden\"\n            android:theme=\"@style/My.Theme.Dialog\" />\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.backup.RestoreWalletFromExternalActivity\"\n            android:configChanges=\"orientation|keyboard|keyboardHidden\"\n            android:theme=\"@style/My.Theme.Dialog\">\n            <intent-filter android:label=\"@string/import_keys_intent_filter_action\">\n                <action android:name=\"android.intent.action.VIEW\" />\n                <category android:name=\"android.intent.category.DEFAULT\" />\n                <data android:mimeType=\"application/x-dogecoin-wallet-backup\" />\n            </intent-filter>\n        </activity>\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.scan.ScanActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:stateNotNeeded=\"true\"\n            android:theme=\"@style/My.Theme.Fullscreen\"\n            android:windowSoftInputMode=\"stateAlwaysHidden\" />\n\n        <activity\n            android:name=\"de.schildbach.wallet.ui.send.SweepWalletActivity\"\n            android:configChanges=\"keyboard|keyboardHidden\"\n            android:label=\"@string/sweep_wallet_activity_title\"\n            android:theme=\"@style/My.Theme.ChildActivity\"\n            android:windowSoftInputMode=\"adjustResize\" />\n\n        <provider\n            android:name=\"androidx.core.content.FileProvider\"\n            android:authorities=\"${applicationId}.file_attachment\"\n            android:exported=\"false\"\n            android:grantUriPermissions=\"true\">\n            <meta-data\n                android:name=\"android.support.FILE_PROVIDER_PATHS\"\n                android:resource=\"@xml/file_provider\" />\n        </provider>\n\n        <receiver\n            android:name=\"de.schildbach.wallet.WalletBalanceWidgetProvider\"\n            android:label=\"@string/appwidget_wallet_balance_title\">\n            <intent-filter>\n                <action android:name=\"android.appwidget.action.APPWIDGET_UPDATE\" />\n            </intent-filter>\n            <meta-data\n                android:name=\"android.appwidget.provider\"\n                android:resource=\"@xml/wallet_balance_widget\" />\n        </receiver>\n\n        <service\n            android:name=\"de.schildbach.wallet.service.StartBlockchainService\"\n            android:permission=\"android.permission.BIND_JOB_SERVICE\" />\n        <service\n            android:name=\"de.schildbach.wallet.service.BlockchainService\"\n            android:exported=\"false\" />\n\n        <service\n            android:name=\"de.schildbach.wallet.offline.AcceptBluetoothService\"\n            android:exported=\"false\" />\n\n        <receiver android:name=\"de.schildbach.wallet.service.BootstrapReceiver\">\n            <intent-filter>\n                <action android:name=\"android.intent.action.BOOT_COMPLETED\" />\n            </intent-filter>\n            <intent-filter>\n                <action android:name=\"android.intent.action.MY_PACKAGE_REPLACED\" />\n            </intent-filter>\n        </receiver>\n\n        <meta-data\n            android:name=\"android.nfc.disable_beam_default\"\n            android:value=\"true\" />\n    </application>\n</manifest>\n"
  },
  {
    "path": "wallet/CHANGES",
    "content": "v8.08\n\n* Update translations from Transifex.\n* Based on bitcoinj 0.15.9.\n\nv8.04-v8.07\n\n* Trusted peers with custom TCP ports are now supported. Use the IPv4:port or [IPv6]:port syntax.\n\nv8.0-v8.03\n\n* The app now requires Android 6.0 (Marshmallow) or higher.\n* On modern devices: Introduce a blockchain synchronization mode that prioritizes privacy vs data usage.\n\nv7.62-v7.69\n\n* Allow multiple trusted peers by separating them with a space character.\n\nv7.60-v7.61\n\n* Visual overhaul of the transactions list.\n\nv7.59\n\n* Visual overhaul of the exchange rates list.\n\nv7.58\n\n* Visual overhaul of the network monitor.\n\nv7.57\n\n* Visual overhaul of the address book.\n\nv7.56\n\n* Remove the ability to directly add an address to the address book from the clipboard due to safety concerns.\n  The QR code scanner can still be used, and addresses you've already sent to can be added as well.\n\nv7.55\n\n* Minor bugfixes.\n\nv7.52-v7.54\n\n* Get rid of the last internal content provider; replace it with a repository and an SQLite database.\n\nv7.50-v7.51\n\n* Use CoinGecko.com for exchange rates, as BitcoinAverage.com is currently broken.\n* The color of the transaction confirmation indicator has been changed. It now starts red with one confirmation,\n  slowly blending to green for 7 confirmations.\n* On Android 9 and older, switched the app-widget back to dark. On Android 10, use the dark/light system setting.\n\nv7.47-v7.49\n\n* Restructure the settings page.\n* Update translations from Transifex.\n\nv7.46\n\n* Improve offline payments via Bluetooth for Android 8.1 (Oreo) and up.\n  Merchants should configure their own Bluetooth address in the settings.\n\nv7.44-v7.45\n\n* Fix a build reproducibility issue.\n* Update translations from Transifex.\n\nv7.43\n\n* Customize the connectivity notification in trusted peer mode.\n\nv7.42\n\n* Fix layout on 10in tablets.\n\nv7.41\n\n* Fix issue with not being able to send due to blockchain replay.\n* Based on bitcoinj 0.15.6.\n\nv7.38-v7.40\n\n* Improve design of app-widget.\n* Update translations from Transifex.\n\nv7.37\n\n* Directly link from the settings to the notification settings.\n\nv7.36\n\n* More improvements on blockchain sync.\n\nv7.35\n\n* Implement light mode for app-widget.\n\nv7.34\n\n* Directly link from the settings to the data usage settings.\n\nv7.33\n\n* Show progress in connectivity notification.\n* Update translations from Transifex.\n\nv7.32\n\n* Enabled Java 8 language features.\n\nv7.30-v7.31\n\n* Use storage access framework for restoring wallet backups.\n* More improvements on blockchain sync.\n\nv7.28-v7.29\n\n* Various improvements on blockchain sync.\n\nv7.27\n\n* Use Gradle build variants for testnet (dev) and mainnet (prod) flavors.\n* Notifications are now subtly colored.\n* On Android 10, when uninstalling the app users have the choice to keep their wallet in app-private storage.\n* Update translations from Transifex.\n\nv7.25-v7.26\n\n* Fix wallet not syncing in the background on modern devices.\n\nv7.24\n\n* Various optimizations.\n\nv7.23\n\n* Update Android Gradle plugin to 3.1.0.\n  This means it doesn't build reproducably without external help like 'disorderfs'.\n  See https://issuetracker.google.com/issues/110237303\n* Modernize the sample-integration-android subproject a bit.\n* Various small bugfixes.\n\nv7.22\n\n* Fix issue with confirmation of transactions that empty your wallet.\n* Based on bitcoinj 0.15.5.\n\nv7.21\n\n* Update translations from Transifex.\n\nv7.20\n\n* Reduce memory usage of PIN-protected wallets.\n* Tapping on the app's version will reveal a checksum of the APK that was installed.\n* Based on bitcoinj 0.15.4.\n\nv7.19\n\n* Introduce dark mode on Android 10 devices.\n\nv7.18\n\n* Improve performance by a bit.\n\nv7.16-v7.17\n\n* Count devices with a memory class of 128 MB as low-ram.\n\nv7.15\n\n* Handle edge case when restoring via an external app.\n* Reduce Scrypt iterations for non-64-bit devices.\n* Update translations from Transifex.\n\nv7.14\n\n* Remove native code from app.\n* Update translations from Transifex.\n* Based on bitcoinj 0.15.3.\n\nv7.13\n\n* Add confidence messages, helping users to understand the confidence state of their payments.\n\nv7.11-v7.12\n\n* Various small bugfixes.\n\nv7.10\n\n* Segregated Witness - Phase IV: Existing wallets with spending PIN can be upgraded by changing or removing the PIN.\n\nv7.09\n\n* Based on bitcoinj 0.15.2.\n\nv7.08\n\n* Fix issue with sweeping paper wallets.\n\nv7.07\n\n* Segregated Witness - Phase III: Existing wallets without spending PIN are upgraded to use native segwit (Bech32) addresses.\n\nv7.06\n\n* Make more room for transactions list by scrolling away the balance panel.\n* Various design changes.\n\nv7.05\n\n* Various small bugfixes.\n\nv7.04\n\n* Fix issue with sweeping paper wallets.\n\nv7.03\n\n* Double the capacity of the block store.\n\nv7.02\n\n* Segregated Witness - Phase II: Receive to and spend from native segwit (Bech32) addresses.\n* Option to request coins to a legacy address (in case a sender doesn't support Bech32).\n\nv7.0-v7.01\n\n* Segregated Witness - Phase I: Send to native segwit (Bech32) addresses.\n* The app now requires Android 5.0 (Lollipop) or higher.\n* Based on bitcoinj 0.15.\n\nv6.41\n\n* Use the Unicode Bitcoin symbol if available.\n* Backup verification, just to be safe.\n* Update translations from Transifex.\n\nv6.40\n\n* Fix transaction fee is shown as a positive amount in the history.\n\nv6.39\n\n* Update the API used for sweeping paper wallets.\n\nv6.38\n\n* Update translations from Transifex.\n\nv6.36-v6.37\n\n* Remove ability to restore backups from list of base58-encoded private keys.\n\nv6.35\n\n* Fix crashes when opening dialogs at the wrong time.\n\nv6.34\n\n* Migrate support libraries and architecture components to AndroidX.\n* Add another backup reminder.\n\nv6.33\n\n* Fix rarely occurring crash when backing up the wallet.\n\nv6.32\n\n* Remove link to Google+ community.\n* Update link to direct APK download.\n\nv6.31\n\n* For Android 9.0 (Pie) and above, the FOREGROUND_SERVICE permission is now being requested.\n* Adds a network security configuration.\n\nv6.29-v6.30\n\n* The app now builds reproducible.\n\nv6.27-v6.28\n\n* Use the Room Persistence Library for access to the address book database.\n\nv6.25-v6.26\n\n* Update translations from Transifex.\n\nv6.24\n\n* Use live exchange rates, rather than 24h-averages.\n\nv6.23\n\n* Update build to Gradle 3.3+ and Android Plugin for Gradle 2.3.3.\n\nv6.20-v6.22\n\n* Bugfixes.\n\nv6.19\n\n* Run circular reveal transition if QR code scanner is started via lower action bar.\n\nv6.18\n\n* The QR code scanner now supports portrait orientation.\n\nv6.12-v6.17\n\n* Bugfixes.\n\nv6.11\n\n* A splash icon is shown while the app is loading.\n* Performance optimizations.\n\nv6.10\n\n* Bugfix.\n\nv6.09\n\n* Performance optimizations.\n\nv6.08\n\n* Based on bitcoinj 0.14.7.\n\nv6.07\n\n* Performance optimizations.\n\nv6.04-v6.06\n\n* Bugfixes.\n\nv6.03\n\n* In payment history, always show fiat amount directly below Bitcoin value.\n\nv6.02\n\n* Bugfix.\n\nv6.01\n\n* Economic fee can now go much lower.\n* Fix certain payments not showing up until they are confirmed.\n* Based on bitcoinj 0.14.6.\n\nv6.0\n\n* The app now requires Android 4.4 (KitKat) or higher.\n* Backing up makes use of the Storage Access Framework (SAF). For most users,\n  this means encrypted backups are stored on Google Drive, but other cloud\n  storage providers can also be used.\n\nv5.45\n\n* Clarify message when fetching/validating the payment request fails.\n\nv5.44\n\n* Add live.blockcypher.com to block explorers and remove blockexplorer.com.\n* Update translations from Transifex.\n\nv5.42-v5.43\n\n* Add a warning dialog regarding a relatively high fee.\n\nv5.41\n\n* Fix crash with very inflated fiat currencies.\n\nv5.40\n\n* Update dependencies.\n\nv5.39\n\n* Adjust the static network fees used for sanity checks and fallbacks.\n\nv5.38\n\n* Fix crash on Pixel 2 devices.\n\nv5.37\n\n* Use a lot less memory for displaying QR codes.\n\nv5.36\n\n* Update translations from Transifex.\n* Bugfix.\n\nv5.34-v5.35\n\n* New alert for users with insecure Bluetooth.\n\nv5.33\n\n* Two bugfixes.\n\nv5.32\n\n* For Android 7.0 (Nougat) and above, multiple 'coins received' notifications\n  are bundled into a notification group.\n\nv5.31\n\n* Disconnects from incompatible peers much quicker.\n* Based on bitcoinj 0.14.5.\n\nv5.30\n\n* For Android 8.0 (Oreo) and above, support notification channels and adaptive\n  launcher icons.\n\nv5.29\n\n* Fix crash when archiving a wallet backup on some devices.\n\nv5.27-v5.28\n\n* Fix app shortcuts for Android 7.1 devices.\n* Remove labs feature: Look up wallet names from the domain name system.\n\nv5.26\n\n* Add blocktrail.com to block explorers.\n* Remove unused features.\n\nv5.25\n\n* Adjust the static network fees used for sanity checks and fallbacks.\n\nv5.24\n\n* Update translations from Transifex.\n\nv5.23\n\n* Fix problem with sweeping paper wallets.\n\nv5.20-v5.22\n\n* Adjust the static network fees used for sanity checks and fallbacks.\n\nv5.19\n\n* Update translations from Transifex.\n* Minor bugfixes.\n\nv5.18\n\n* Add technical notes.\n* Update translations from Transifex.\n\nv5.17\n\n* Bugfix.\n\nv5.16\n\n* Improve app startup time.\n* Fix 'raise fee' was raising the fee too much.\n\nv5.15\n\n* Block sending payments while blockchain replay is in progress.\n\nv5.14\n\n* Update translations from Transifex.\n* Bugfix.\n\nv5.13\n\n* Add option to report issue with selected payment.\n* Add blockchain.info to block explorers.\n* Minor bugfix.\n\nv5.12\n\n* Query a set of Electrum servers to swipe paper wallets. Biteasy can't be used any more,\n  because they are closing down.\n\nv5.11\n\n* Update translations from Transifex.\n* Remove biteasy from block explorers because they are closing down.\n* Minor bugfixes.\n\nv5.10\n\n* Minor bugfix.\n\nv5.09\n\n* Material design for Android 5.0 (Lollipop) and above!\n\nv5.08\n\n* Minor bugfix.\n\nv5.07\n\n* For Android 7.1 (Nougat) and above, support the new app shortcuts.\n\nv5.06\n\n* Minor bugfix.\n\nv5.05\n\n* For Android 6.0 (Marshmellow) and above, bring back the ability to receive payments via\n  Bluetooth. This means your customers can pay without being connected to the internet!\n* Nicely animated appearance of main screen on phones.\n\nv5.04\n\n* Switch exchange rates feed to BitcoinAverage API v2.\n* Update translations from Transifex.\n* Minor bugfix.\n\nv5.03\n\n* Work around broken exchange rate.\n\nv5.02\n\n* Dynamic network fee. This will help dealing with an overloaded Bitcoin network.\n\nv5.01\n\n* Fix background color in recent tasks list.\n* The testnet version doesn't make files world readable any more.\n* Adjust the normal fee category.\n\nv5.0\n\n* The app now requires Android 4.1 (Jelly Bean) or higher. This makes UI development easier\n  in future.\n* Fix detection of network state. This needs the ACCESS_NETWORK_STATE permission.\n\nv4.72\n\n* Minor bugfix.\n\nv4.71\n\n* Update translations from Transifex.\n* Minor bugfixes.\n\nv4.70\n\n* Supports HTTP/2 and ALPN on all HTTP calls (e.g. payment protocol).\n* Slightly more robust scanning of QR codes.\n* Minor bugfixes.\n\nv4.69\n\n* Strengthen security of spending PIN for all existing wallets, too.\n\nv4.68\n\n* Regression fix.\n\nv4.67\n\n* Speed up wallet decryption when using a spending PIN.\n* Minor bugfix.\n\nv4.66\n\n* Strengthen security of spending PIN.\n* Update translations from Transifex.\n\nv4.65\n\n* Fix for layout in landscape orientation.\n\nv4.64\n\n* Quick-fix regression: ANR coming from the QR code scanner back into the 'send coins' dialog.\n\nv4.63\n\n* Fix rotated camera image on some devices.\n\nv4.62\n\n* Message for a delayed confirmation of an incoming payment.\n* Minor bugfixes.\n\nv4.61\n\n* On Android 6.0 (Marshmellow) and above, you can now grant or revoke app permissions at will.\n  The current permissions are: Camera (for scanning QR codes) and Read/Write External Storage (for\n  wallet backups).\n* Fix a crash when trying to sweep a password protected paper wallet.\n* Update translations from Transifex.\n\nv4.60\n\n* Fix a crash when scanning QR codes.\n\nv4.59\n\n* Make sure the lockscreen doesn't get in the way of scanning QR codes or requesting coins.\n\nv4.58\n\n* Adjust the normal fee category.\n* Minor bugfix.\n\nv4.57\n\n* Adjust all fee categories.\n\nv4.56\n\n* Minor bugfixes.\n* Based on bitcoinj 0.14.3.\n\nv4.55\n\n* Fix occasional crash while editing the 'pay to' field when sending coins.\n\nv4.54\n\n* Fix for rare wrong balance calculation.\n* Labs: When sending coins, use DNSSEC to look up wallet names from the domain name system.\n* Based on bitcoinj 0.14.2.\n\nv4.53\n\n* Fix crash when sweeping a paper wallet.\n\nv4.52\n\n* The network fee is now calculated on a per-byte basis, rather than per-kB. On average, this\n  means a lower fee!\n* Based on bitcoinj 0.14.\n\nv4.51\n\n* Improve mechanism for setting a trusted peer and warn if its hostname cannot be resolved.\n\nv4.50\n\n* After a couple of weeks of not being used, the app will notify if there are still coins in the\n  wallet.\n\nv4.49\n\n* Update translations from Transifex.\n* Based on bitcoinj 0.13.6.\n\nv4.48\n\n* Fix for crash when entering too large amounts.\n* Add warning to RBF (replace-by-fee) transactions.\n\nv4.47\n\n* Automatically close send coins dialog if payment was successful. This can be disabled in the\n  settings.\n* Consider RBF (replace-by-fee) transactions as risky, so for them wait for the first\n  confirmation.\n* Update Catalan translation from Transifex.\n* Based on bitcoinj 0.13.5.\n\nv4.46\n\n* Speculative fix for ANR.\n\nv4.45\n\n* Adjusts to the new network fee rules imposed by Bitcoin Core.\n* Now requires Android 4.0.3 (ICS) for all subprojects.\n* Update Russian, Italian, Turkish, Swedish, Spanish, Norwegian Bokmål, Japanese, Hungarian,\n  Finnish, Dutch, Danish, Traditional Chinese and Brazilian Portuguese translations.\n* Based on bitcoinj 0.13.4.\n\nv4.44\n\n* Fix problem with sweeping paper wallets.\n\nv4.43\n\n* Switch default block explorer to blockexplorer.com.\n* Hint to enable storage encryption.\n* Update translations from Transifex.\n\nv4.42\n\n* Optimizations & bugfixes.\n* Based on bitcoinj 0.13.3.\n\nv4.41\n\n* Add blockexplorer.com to block explorers used for browsing transactions, addresses and blocks.\n* Update Dutch, Italian and Russian translations.\n\nv4.40\n\n* Bugfixes.\n* Update Hungarian, French and Swedish translations.\n\nv4.39\n\n* Update Finnish translation.\n* Based on bitcoinj 0.13.2.\n\nv4.38\n\n* Bugfixes.\n* Update Korean translation.\n\nv4.37\n\n* Allow raising the fee of an unconfirmed transaction. Uses child-pays-for-parent (CPFP).\n* Fix crash when sharing address.\n\nv4.36\n\n* Pay the default fee for sweeping paper wallets.\n* Update Turkish, Swedish, Norwegian Bokmål, Japanese, Italian, Hungarian, French and Danish\n  translations.\n* Based on bitcoinj 0.13.1.\n\nv4.35\n\n* Upwards-adjust default network fee again. We're forced to do this due to the high number of\n  spam transactions.\n\nv4.34\n\n* Setting for own name, to be added as a label/memo to payment requests.\n* List animations for network monitor.\n\nv4.33\n\n* Upwards-adjust default network fee again. We're still way below estimated fee.\n* Small bugfixes.\n* Update Greek and Swedish translations.\n* Migrate build from Maven to Gradle. This should make things easier for Android Studio users.\n  See README for building the app.\n\nv4.32\n\n* Bugfixes.\n* In-app payments integration (integration-android) now available on Maven Central and jCenter.\n  Also see: https://github.com/bitcoin-wallet/bitcoin-wallet/wiki/InAppPayments\n\nv4.31\n\n* Update Italian, Spanish, Finnish and Japanese translations.\n\nv4.30\n\n* Upwards-adjust default fee, because transactions at the old fee level have become a bit slow.\n  You can switch back to 'economic' in the send coins options menu.\n* Small bugfixes.\n\nv4.29\n\n* Nice slide-in animation for sent payment.\n* Update Brazilian Portuguese, Danish, Japanese, French, Turkish and Norwegian Bokmål\n  translations.\n* Small bugfixes.\n\nv4.28\n\n* Add Hindi and Croatian translations. Update Greek and Albanian.\n* Design bugfixes.\n\nv4.27\n\n* Tint incoming transactions in green, outgoing in red.\n* Tint action bar labels.\n\nv4.26\n\n* Material design for list of transactions.\n* Update Albanian, Turkish, Finnish, Spanish, Russian, Norwegian Bokmål, Japanese, Italian,\n  French, Danish, Czech and Catalan translations.\n\nv4.25\n\n* Update android-maven-plugin to 4.2.0, so we can use AARs.\n* Bugfixes.\n\nv4.24\n\n* Use action bar submenu for filtering wallet transactions, rather than a ViewPager.\n* Speed up transactions list.\n* Update QR-code scanner to ZXing 3.2.0.\n\nv4.23\n\n* Update Dutch and Albanian translations.\n* Bugfixes.\n\nv4.22\n\n* Show derived addresses in address book under \"your addresses\".\n* Show \"to addresses\" of received payments, rather than \"from addresses\".\n* Speed up blockchain sync.\n* Based on bitcoinj 0.12.3.\n\nv4.21\n\n* Bugfixes.\n\nv4.20\n\n* Improve entry of password in backup wallet dialog.\n* Share current wallet address by tapping on it.\n* Update dialogs to material theme on Lollipop devices.\n* New translations into Albanian and Swahill.\n* Update Spanish, Turkish, Russian, Brazilian Portuguese, Norwegian Bokmål, Japanese, Italian,\n  French, Finnish, Danish, Czech and Catalan translations.\n\nv4.19\n\n* Remove donate action.\n\nv4.18\n\n* Show and share extended public key. This can be used to grant read-only access to your wallet.\n  The new option is available in the diagnostics settings.\n* Record fiat amount for sent payments.\n\nv4.17\n\n* Update action buttons to material design.\n* Update Finnish, Catalan, Swedish, Brazilian Portuguese, Italian, Spanish, Russian, French,\n  Dutch, Czech and Chinese translations.\n\nv4.16\n\n* Important fix for when a wallet is restored via an external app, the QR code on the main screen\n  can still show an old address for a while.\n\nv4.15\n\n* Important fix for how old pre-version-3.47 wallet backups are restored.\n* We're showing the backup warning for users with old wallets. If you see it, please refresh your\n  backup! It's time everybody is in possession of a backup using the current format.\n\nv4.14\n\n* Update Turkish, Norwegian Bokmål, Japanese, French and Danish translations.\n* Small bugfixes.\n\nv4.13\n\n* Support sweeping of password-protected paper wallets (BIP38).\n* Update Swedish translation.\n* Update android-maven-plugin to 4.0.0, so the build should now be compatible to newer Maven versions.\n* Update to ProGuard 5.1, making it possible to build with a Java 8 compiler.\n\nv4.12\n\n* Small bugfixes.\n\nv4.11\n\n* When sending coins, there is a \"quick confirm\" option which pays the old higher fee.\n* Fix white/black screen that prevents some users from starting the app.\n* Fix reuse of change address in some cases.\n* Based on bitcoinj 0.12.2.\n\nv4.10\n\n* Fix sent transaction not updating on send coins screen.\n* Fix compatibility issue to GMail 5 app when sending report attachments.\n* Migrate clipboard to use Android 4 API.\n\nv4.09\n\n* Migrate preferences and NFC to use Android 4 API.\n\nv4.08\n\n* Update Norwegian Bokmål, Japanese, Danish, Finnish, Spanish, Catalan and Russian translations.\n\nv4.07\n\n* Performance improvements.\n* Drop network fee by factor of 10.\n* Support rotation for HD key chains.\n* Based on bitcoinj 0.12.1.\n\nv4.06\n\n* The wallet can be protected by a spending PIN.\n* Record memos read from payment requests.\n\nv4.05\n\n* Re-add textual Bitcoin address to enlarged QR code.\n\nv4.04\n\n* Small bugfixes.\n\nv4.03\n\n* Remove textual Bitcoin address from main screen.\n* Warning for users with pay-to-many transactions. Those will slow down their\n  wallet.\n* Workaround for crash in the network monitor.\n\nv4.02\n\n* Fix crash when sweeping wallets.\n* New translation into Catalan.\n* Update Korean, Russian, Italian and Danish translations.\n\nv4.01\n\n* New translation into Norwegian Bokmål.\n* Small bugfix.\n\nv4.0\n\n* All Bitcoin addresses are now deterministically derived from one single secret,\n  which was created when you installed the app for the first time. So from now on,\n  only one backup is needed to recover all your future funds in that wallet.\n* The app does its best to not reuse addresses any more. \"Request coins\" will use a\n  fresh address on each invocation. The current address in the QR code on the main\n  page changes as soon as coins are received on it.\n* When sending coins, the fee is shown while you type and before you press \"Send\".\n  After sending, you'll see the paid fee in the transaction list.\n* When sending coins, most errors are now shown already before you press Send.\n* The app now requires Android 4.0.3 or higher. This makes UI development much\n  easier in future.\n* The app has a fresher, sharper looking app icon. The icon for the testnet version\n  is now entirely grey.\n* On Android 4.1 or higher, the app-widget is now horizontally resizable.\n* Based on bitcoinj 0.12.\n\nv3.59\n\n* Resolve issue with restoring backups that have been renamed.\n* Update Turkish, Korean, Ukrainian, Russian, Italian, French, Finnish and Danish translations.\n* Remove BROADCAST_STICKY permission.\n\nv3.58\n\n* Small bugfixes.\n\nv3.57\n\n* App-widget: show approximate balance in local currency.\n\nv3.55-v3.56\n\n* New translation into Ukrainian. Update many other translations.\n* Small bugfixes.\n\nv3.54\n\n* Support compressed keys when sweeping a wallet.\n* Update Russian translation.\n\nv3.53\n\n* New translation into Finnish.\n* Update Czech, Korean, Turkish, Spanish, Japanese, Hebrew and Italian translations.\n\nv3.52\n\n* Update French, Danish and Korean translations.\n\nv3.51\n\n* Sweeping of paper wallets (e.g. those used for cold storage).\n* New translation into Korean.\n* Small bugfixes.\n\nv3.50\n\n* Update Chinese, Danish, Italian and Japanese translations.\n* Update QR-code scanner to ZXing 3.1.0.\n* Small bugfixes.\n* Based on bitcoinj 0.11.3.\n\nv3.49\n\n* Update French and Turkish translations.\n* Small bugfixes.\n\nv3.48\n\n* Get rid of all NFC Android application records. This will improve interoperability with other\n  Android wallets.\n\nv3.47\n\n* Manual wallet backups now back up the whole wallet, not just the private keys. It also means\n  when restoring your wallet, the current (hopefully empty) wallet is thrown away. This change\n  is a requirement for (future) encrypted wallets, HD wallets and more.\n* Filter exchange rates by a search query.\n* Update Russian translation.\n* Update QR-code scanner to ZXing 3.0.1.\n* Small bugfixes.\n\nv3.46\n\n* New translation into Slovenian.\n* Update Hebrew translation.\n* Fix missing transactions due to once dusty outputs which are standard as of Bitcoin Core 0.9.\n* Preparation for fetching payment requests via Bluetooth.\n* Based on bitcoinj 0.11.2.\n\nv3.44-v3.45\n\n* Due to the OpenSSL \"Heartbleed\" vulnerability, removed all HTTPS network access on Android 4.1.1.\n  This means exchange rates will not be available, and the payment protocol cannot fetch\n  signature and cannot pay directly via HTTPS. The chances of an actual exploitability on\n  Android are very slim, but we want to stay on the safe side until things are clearer.\n  Also see http://heartbleed.com/\n\nv3.41-v3.43\n\n* Small bugfixes.\n\nv3.40\n\n* Support for µBTC denomination, for people who are used to low valued currencies.\n* Always use BIP70 when sending payments directly via Bluetooth.\n* Small bugfixes.\n\nv3.39\n\n* Usage of BIP70 when initiating payments via NFC (tap-to-pay) is now a supported feature.\n* New translation into Arabic.\n\nv3.38\n\n* Supports BIP70 payment protocol for in-app payments.\n* Accepting direct payments via Bluetooth is now a supported feature.\n\nv3.37\n\n* New translation into Japanese.\n\nv3.36\n\n* Small bugfix.\n\nv3.35\n\n* Protect wallet against dust spam.\n* Fixed some bugs in the payment protocol.\n* Based on bitcoinj 0.11.1.\n\nv3.34\n\n* Small bugfix.\n\nv3.33\n\n* Small bugfixes.\n\nv3.32\n\n* Support for BIP72 URI extension for payment protocol.\n\nv3.31\n\n* Default denomination has changed to millibitcoin (mBTC).\n* Cross-calculated exchange rates for currencies without Bitcoin volume. Thanks to BitcoinAverage.\n* Better handling of errors when sending coins, specifically when funds are exceeded.\n* Labs: Uses BIP70 payment protocol for tap-to-pay and scan-to-pay, if enabled in the settings.\n* New translations into Traditional Chinese, Macedonian and Esperanto. Updated Spanish.\n* Resolved issues with wallets with many transactions.\n* Based on bitcoinj 0.11.\n\nv3.30\n\n* improved battery usage\n* new Danish translation\n* updated Polish translation\n\nv3.29\n\n* fixed issues with fetching exchange rates\n* new Slovak translation\n* updated French, Hungarian, Italian and Portuguese translations\n\nv3.28\n\n* for those who still use the unsecure address (pre-August), moves coins to secure addresses\n* updated Russian and Turkish translations\n\nv3.27\n\n* small improvements for future bugfixing\n\nv3.26\n\n* improve battery usage\n* small bugfixes\n\nv3.25\n\n* support for mBTC denomination\n* also use weighted exchange rates from BitcoinAverage\n* fixed issue with camera autofocus on some Samsung Galaxy devices\n\nv3.24\n\n* fixed issue with stuck outgoing transactions\n\nv3.23\n\n* fixed issue with detecting online state\n\nv3.22\n\n* sound effect when sending a payment\n* fixed rare issues with transactions missing or shown as unconfirmed\n* Hungarian translation\n* based on bitcoinj 0.10.2\n\nv3.21\n\n* bugfix\n\nv3.20\n\n* small improvements and bugfixes\n\nv3.19\n\n* use findbugs\n* small bugfixes\n\nv3.18\n\n* Indonesian translation\n* bluetooth offline transactions\n* revamp of qr-code and nfc based offline transactions\n* remove transaction details screen, link to blockexplorer.com instead\n\nv3.17\n\n* fixed issue with emptying wallet\n* based on bitcoinj 0.10.1\n\nv3.16\n\n* backup reminder when creating new keys\n* don't trigger blockchain sync because of plugging power\n\nv3.15\n\n* auto-rotate weak keys\n* option for easy emptying wallet\n* based on bitcoinj 0.10\n\nv3.14\n\n* Vietnamese and Portuguese (Brazil) translations\n* small improvements\n\nv3.13\n\n* bugfix\n\nv3.12\n\n* direct button on main screen for scanning a Bitcoin request QR code\n* extended logging\n\nv3.11\n\n* some small improvements and bugfixes\n\nv3.10\n\n* embed currency calculator into send and request coins forms\n* change default Bitcoin precision from 8 to 4\n\nv3.09\n\n* calculate correct fee to ensure speedy blockchain confirmation\n* based on bitcoinj 0.9\n\nv3.08\n\n* bugfixes\n\nv3.07\n\n* make request and send coins action buttons more visible\n* stay connected a little bit longer if there was transaction activity on the wallet\n\nv3.06\n\n* merge peer monitor and block explorer into network monitor\n* Hebrew translation\n\nv3.05\n\n* backup reminder for first-time users\n\nv3.01-v3.04\n\n* some small improvements and bugfixes\n\nv3.0\n\n* now requires Gingerbread (Android 2.3.3) or later\n* export/import encrypted private key backups to/from mail or online storage\n* switch to new block store format, uses seriously less internal storage and doesn't grow\n  (existing installs can be migrated by resetting the blockchain once)\n* new installs are instantly fully updated and useable\n* got rid of block chain snapshot in APK, installs updates much faster\n* lots of small improvements and bugfixes\n* based on bitcoinj 0.8\n\nv2.49\n\n* bugfixes\n\nv2.48\n\n* fix race condition when replaying blockchain\n\nv2.47\n\n* report issues from within the app\n* new crash reporter\n\nv2.46\n\n* bugfixes\n* based on bitcoinj 0.7.3\n\nv2.45\n\n* new labs feature: block explorer\n* request coins from locally installed app\n* save memory and stack\n* based on bitcoinj 0.7.2\n\nv2.44\n\n* bugfixes\n\nv2.43\n\n* some small improvements and bugfixes\n\nv2.42\n\n* fixed crash on Froyo (Android 2.2) devices\n* allow importing private keys from automatic backups\n* based on bitcoinj 0.7.1\n\nv2.41\n\n* labs preference for setting bitcoin value precision\n\nv2.40\n\n* seriously reduced traffic and cpu usage due to usage of bloom filters\n* faster connect to peers\n* ability to spend your own change instantly\n* no need to manually disconnect any more for any of the preferences\n* preference for showing the connectivity indicator\n* shortcut to request coins by long tapping on qr code\n* peer monitor shows more info\n* fallback for fetching exchange rates (bitcoincharts first, then blockchain)\n* lots of small improvements and bugfixes\n* based on bitcoinj 0.7\n\nv2.39\n\n* descriptions for transaction confidence states\n\nv2.38\n\n* fixed testnet3 blockchain sync problem\n* based on bitcoinj 0.6.1\n\nv2.37\n\n* lots of small improvements and bugfixes\n\nv2.36\n\n* fixed exception when requesting coins on below Ice Cream Sandwich (Android 4.0)\n\nv2.35\n\n* lots of small improvements and bugfixes\n\nv2.34\n\n* embed qr code scanner for enhanced security\n\nv2.33\n\n* fixed error reporting\n* minor UI enhancements\n\nv2.32\n\n* can import unencrypted private keys\n* collect logfile for crash report on Jelly Bean (Android 4.1) and above\n\nv2.31\n\n* now requires Froyo (Android 2.2) or later\n\nv2.3\n\n* import private keys from external storage\n* export private keys to external storage\n\nv2.24\n\n* migrated testnet to testnet3 (make sure to reset blockchain after upgrade)\n* fixed various crashes when being offline\n\nv2.23\n\n* fixed updating of transaction list\n* fixed stuck connectivity indicator\n\nv2.22\n\n* proper handling of coinbase transactions\n* watch transaction propagation (build-up of confidence) when sending coins\n* based on bitcoinj 0.6\n* blockchain can be reset without exiting the app\n\nv2.21\n\n* low fee warning when sending coins\n\nv2.20\n\n* bugfix\n\nv2.19\n\n* bugfixes\n* based on BitCoinJ 0.5.2\n\nv2.18\n\n* send and request buttons in app widget\n* bugfixes\n\nv2.17\n\n* bugfixes\n\nv2.16\n\n* bugfixes\n\nv2.15\n\n* exponentially backoff autosync frequency\n* updated French, Spanish, Swedish and Turkish translations\n\nv2.14\n\n* tries to stay on WIFI while autosyncing, but no guarantees (yet)\n\nv2.13\n\n* bugfixes\n* based on BitCoinJ 0.5.1\n\nv2.1\n\n* based on BitCoinJ 0.5.0\n* lots of UI work\n* changes how long the P2P network stays connected\n\nv2.01\n\n* bugfixes\n\nv2.0\n\n* Turkish translation\n\nv1.55\n\n* unified address book for sending and receiving addresses\n\nv1.54\n\n* migrates wallets to protobuf format\n* should be more stable, faster and future proof\n"
  },
  {
    "path": "wallet/COPYING",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n"
  },
  {
    "path": "wallet/README.md",
    "content": "Technical details\n=================\n\n### FILES\n\nYour wallet contains your private keys and various transaction related metadata. It is stored in app-private\nstorage:\n\n    Mainnet: /data/data/de.schildbach.wallet/files/wallet-protobuf\n    Testnet: /data/data/de.schildbach.wallet_test/files/wallet-protobuf-testnet\n\nThe wallet file format is not compatible to wallet.dat (Satoshi client). Rather, it uses a custom protobuf format\nwhich should be compatible between clients using bitcoinj.\n\nCertain actions cause automatic rolling backups of your wallet to app-private storage:\n\n    Mainnet: /data/data/de.schildbach.wallet/files/key-backup-protobuf\n    Testnet: /data/data/de.schildbach.wallet_test/files/key-backup-protobuf-testnet\n\nYour wallet can be manually backed up to and restored from a share of the storage access framework (likely Google Drive):\n\n    Mainnet: bitcoin-wallet-backup-<yyyy-MM-dd-HH-mm>\n    Testnet: bitcoin-wallet-backup-testnet-<yyyy-MM-dd-HH-mm>\n\nIf you want to recover coins from manual backups and for whatever reason you cannot use the app\nitself to restore from the backup, see the separate [README.recover.md](README.recover.md) guide.\n\nThe current fee rate for each of the fee categories (economic, normal, priority) is cached in\napp-private storage:\n\n    Mainnet: /data/data/de.schildbach.wallet/files/fees.txt\n    Testnet: /data/data/de.schildbach.wallet_test/files/fees-testnet.txt\n\n\n### DEBUGGING\n\nWallet file for Testnet can be pulled from an (even un-rooted) device using:\n\n    adb pull /data/data/de.schildbach.wallet_test/files/wallet-protobuf-testnet\n\nLog messages can be viewed by:\n\n    adb logcat\n\nThe app can send extensive debug information. Use **Options > Settings > Report Issue** and follow the dialog.\nIn the generated e-mail, replace the support address with yours.\n\n\n### BUILDING THE DEVELOPMENT VERSION\n\nIf you haven't done already, follow the **Prerequisites for Building** section in the [top-level README](../README.md).\n\nIt's important to know that the development version uses Testnet, is debuggable and the wallet file\nis world readable/writeable. The goal is to be able to debug easily.\n\nFinally, you can build Bitcoin Wallet and sign it with your development key. Again in your workspace,\nuse:\n\n    # each time\n    gradle clean test :wallet:assembleDevDebug\n\nYou'll find the signed APK under this path:\n\n    wallet/build/outputs/apk/dev/debug/bitcoin-wallet-dev-debug.apk\n\nTo install the app on your Android device, use:\n\n    gradle :wallet:installDevDebug\n\nIf installation fails, make sure \"Developer options\" and \"USB debugging\" are enabled on your Android device, and an ADB\nconnection is established.\n\n\n### BUILDING THE PRODUCTIVE VERSION\n\nAt this point I'd like to remind that you continue on your own risk. According to the license,\nthere is basically no warranty and liability. It's your responsibility to audit the source code\nfor security issues and build, install and run the application in a secure way.\n\nThe production version uses Mainnet, is built non-debuggable, space-optimized with ProGuard and the\nwallet file is protected against access from non-root users. It is built from the same branch (or\ntag) as the development version. After you have cloned/updated the git repository as described above,\nuse:\n\n    # each time\n    gradle clean test :wallet:assembleProdRelease\n\nYou'll find the unsigned APK under this path:\n\n    wallet/build/outputs/apk/prod/release/bitcoin-wallet-prod-release-unsigned.apk\n\nApart from the missing signature and checksums in `META-INF/`, it should be identical to the APKs\nprovided via the app stores.\n\n\n### SETTING UP FOR DEVELOPMENT\n\nYou can import the project into IntelliJ IDEA or Android Studio, as it uses Gradle for building.\n\n\n### TRANSLATIONS\n\nThe source language is English. Translations for all languages except German [happen on Transifex](https://www.transifex.com/bitcoin-wallet/bitcoin-wallet/).\n\nThe English resources are pushed to Transifex. Changes are pulled and committed to the git\nrepository from time to time. It can be done by manually downloading the files, but using the `tx`\ncommand line client is more convenient:\n\n    # first time only\n    sudo apt install transifex-client\n\nIf strings resources are added or changed, the source language files need to be pushed to\nTransifex. This step will probably only be executed by the maintainer of the project, as special\npermission is needed:\n\n    # push source files to Transifex\n    tx push -s\n\nAs soon as a translation is ready, it can be pulled:\n\n    # pull translation from Transifex\n    tx pull -f -l <language code>\n\nNote that after pulling, any bugs introduced by either translators or Transifex itself need to be\ncorrected manually.\n\n\n### NFC (Near field communication)\n\nBitcoin Wallet supports reading Bitcoin requests via NFC, either from a passive NFC tag or from\nanother NFC capable Android device that is requesting coins.\n\nFor this to work, just enable NFC in your phone and hold your phone to the tag or device (with\nthe \"Request coins\" dialog open). The \"Send coins\" dialog will open with fields populated.\n\nInstructions for preparing an NFC tag with your address:\n\n- We have successfully tested [this NFC tag writer](https://play.google.com/store/apps/details?id=com.nxp.nfc.tagwriter).\n  Other writers should work as well, let us know if you succeed.\n\n- Some tags have less than 50 bytes capacity, those won't work. 1 KB tags recommended.\n\n- The tag needs to contain a Bitcoin URI. You can construct one with the \"Request coins\" dialog,\n  then share with messaging or email. You can also construct the URI manually. Mainnet example:\n  `bitcoin:1G2Y2jP5YFZ5RGk2PXaeWwbeA5y1ZtFhoL`\n\n- The type of the message needs to be URI or URL (not Text).\n\n- If you put your tag at a public place, don't forget to enable write protect. Otherwise, someone\n  could overwrite the tag with his own Bitcoin address.\n\n\n### BITCOINJ\n\nBitcoin Wallet uses [bitcoinj](https://bitcoinj.github.io/) for Bitcoin specific logic.\n\n\n### EXCHANGE RATES\n\nBitcoin Wallet reads this feed from \"CoinGecko\" for getting exchange rates:\n\n    https://api.coingecko.com/api/v3/exchange_rates\n\nWe chose this feed because it is not dependent on a single exchange. This feature can be disabled\nwith the compile-time flag\n\n    Constants.ENABLE_EXCHANGE_RATES\n\n\n### SWEEPING WALLETS\n\nWhen sweeping wallets, Bitcoin Wallet uses a set of Electrum servers to query for unspent transaction\noutputs (UTXOs). This feature can be disabled with the compile-time flag:\n\n    Constants.ENABLE_SWEEP_WALLET\n"
  },
  {
    "path": "wallet/README.recover.md",
    "content": "Recovering Bitcoins\n===================\n\n## PROLOGUE\n\nThis document describes how you can use a backup file on a standard PC to recover your Bitcoins.\nNormally, this shouldn't be needed. It is much preferred to just use **Options > Safety > Restore wallet** from within the Bitcoin Wallet app if you can. This guide is only meant for rare cases:\n\n- Your Android device is destroyed or missing and you do not want or cannot get a new Android\n  device.\n- Legislation in your country forbids you to continue using the app and you missed the chance to\n  move your coins out while it was still legal.\n- The app suddenly goes out of service for whatever reason. This event is extremely unlikely,\n  given the fact that the app is open source and many developers from all over the world have and\n  know the code.\n\nBe aware some of the steps in this tutorial require handling your private keys in the unencrypted\nform. Do not expose them to anyone. Whoever knows your private keys can spend your coins on these\nkeys. It'd good practice that after you are finished handling these keys, they should be\nconsidered compromised, even if they are not. Make sure your system is free of any malware.\n\nWe recommend using Ubuntu Linux. You can boot from a Live CD if you want, but if you do please\nrefrain from sending your coins to a temporary wallet created in that environment, which would be\nlost e.g. on a power outage or computer failure. Your desired destination wallet should already be\nset up and you should have one of its receiving addresses or a QR code at hand.\n\nAlternatively, you can also use Ubuntu on Windows 10 64-bit, if you've fully upgraded to the Fall Creators Update (version 1709 or later). Open the Windows Start Menu, search for and start `Turn Windows features on or off`. Scroll down and tick the `Windows Subsystem for Linux` feature. Restart your computer when prompted. Next, install `Ubuntu` from the Windows Store. Once the download has completed, select `Launch`. It will prompt you to pick a username and complete the installation. From now on, you can start into a Linux shell by selecting `Ubuntu` from the Windows Start Menu.\n\nYou should be at least a bit familiar with the Linux shell. Commands `in fixed-width font like this`\nare meant to be executed as a shell command. Before you execute each command by pressing return,\nmake sure to understand what it does. You will need to adjust some file or directory names.\nCommands starting with `sudo apt` will ask for your permission to install software by\nrequiring your Ubuntu user password.\n\n\n## PREPARATION\n\nOn your PC, within your Linux shell, install the following Ubuntu packages:\n\n    sudo apt install openjdk-8-jdk android-tools-adb openssl git gradle\n\nOn your Android device, go to Settings > Developer options and enable \"USB debugging\". On most\nrecent devices you need to go to Settings > About first and tap on \"Build number\" multiple times\nuntil you see the \"You are now a developer\" message.\n\n\n## LOCATING THE BACKUP FILES\n\nIf you followed the app's guidance your backup files will be located on a share of the storage access framework, very likely your Google Drive. Watch out for filenames starting with `bitcoin-wallet-backup`.\n\nHistorically, the backup can also be saved to your email account (as a file attachment of an email sent to yourself) or on your SD card in the `/Download` folder. Just save the backup file to your PCs filesystem.\n\n\n## DECRYPTING\n\nYou now have your backup file on your PC. Wallet backups are encrypted. Let's decrypt it using:\n\n    openssl enc -d -aes-256-cbc -md md5 -a -in bitcoin-wallet-backup-testnet-2014-11-01 > bitcoin-wallet-decrypted-backup\n\nIt will ask you for a decryption password, which is your backup password. If it prints\n\"bad password\" you've got the wrong password, but if it doesn't print anything your password might\nstill be wrong. We can only be sure by looking at the decrypted data.\n\nHistorically there is two backup formats. Let's look at the first printable characters in the file:\n\n    cat bitcoin-wallet-decrypted-backup | tr -cd \"[:print:]\" | awk '{print $1}'\n\nIf it prints \"org.bitcoin.production\", you got the right password and the backup file uses the\nbitcoinj protobuf format. This backup format was introduced in v3.47 (May 2014). Skip to\nRECOVERING FROM PROTOBUF WALLET FORMAT.\n\nIf it prints just a hash sign (`#`), you got the right password and the backup file uses the old\ntext based private key format. Skip to RECOVERING FROM BASE58 KEY FORMAT.\n\nIf it prints something else or nothing, you likely didn't get the password right. Passwords are\ncase sensitive, and make sure you didn't accidentally type a space character in front or after the\npassword.\n\n\n## RECOVERING FROM PROTOBUF WALLET FORMAT\n\nWe need wallet-tool from bitcoinj. First, in a working directory, let's get bitcoinj:\n\n    git clone -b release-0.15 https://github.com/bitcoinj/bitcoinj.git\n\nMake sure everything is compiled and ready to go by using once:\n\n    cd bitcoinj/tools\n    ./wallet-tool\n\nNow use wallet-tool to sync the wallet from your backup:\n\n    ./wallet-tool reset --wallet=/tmp/bitcoin-wallet-decrypted-backup\n    ./wallet-tool sync --wallet=/tmp/bitcoin-wallet-decrypted-backup --debuglog\n\nThe sync process will take anywhere from a few minutes to hours. Wallet-tool will return to the\nshell prompt if its finished syncing. Have a look at the wallet:\n\n    ./wallet-tool dump --wallet=/tmp/bitcoin-wallet-decrypted-backup\n\nDoes the balance look right? You can see all transactions that ever touched your wallet. Now empty\nyour entire wallet to the desired destination wallet if that's what you want:\n\n    ./wallet-tool send --wallet=/tmp/bitcoin-wallet-decrypted-backup --output=<receiving address of destination wallet>:ALL\n\nIf your wallet was protected by a spending PIN, you need to supply that PIN using the `--password=<PIN>` option.\n\nBe extra careful with this command to get all parameters right. If it\nsucceeds, it will print the transaction hash of the created transaction. You can use that on\na block explorer to watch, or just open the destination wallet and watch from there. If your coins\nare confirmed, you're done and you can skip the next paragraph to EPILOGUE.\n\nYou can also get a list of your private keys, e.g. to claim coins other than Bitcoin which may sit on the same keys. To dump the private keys use:\n\n    ./wallet-tool dump --wallet=/tmp/bitcoin-wallet-decrypted-backup --dump-privkeys\n\nAgain, if your wallet was protected by a spending PIN, you need to supply that PIN using the `--password=<PIN>` option.\n\nLook for `priv WIF=<...>`, where `<...>` will be your private keys in wallet import format. Be careful where you put them, as anybody getting access to them will be able to steal *all* your coins associated to that key, not only your Bitcoins! Unless you fully trust the security of the computer consider running it on an offline system with no network connectivity. Also, consider securely erasing any decrypted copy of your private keys once you've used them.\n\n## RECOVERING FROM BASE58 KEY FORMAT\n\nHave a deeper look at the backup file:\n\n    cat bitcoin-wallet-decrypted-backup\n\nYou'll see each line contains a key in WIF (wallet import format), technically Base58. The\ndatetime string after each key is the birthdate of that key which you can ignore for the purpose\nof this one-time recovery.\n\nYou can import each individual key into a PC wallet like [Electrum](https://electrum.org)\nor [Bitcoin Core](https://bitcoincore.org/).\n\nAs soon as you see your whole balance again, empty your entire wallet to the desired destination\nwallet. Please do not continue to use the imported wallet. Remember you just operated on\nunencrypted keys which can be dangerous, so it's good practice to handle them as if they were\ncompromised even if they in fact aren't.\n\n\n## EPILOGUE\n\nLet us know if this document helped you with recovering your coins!\n"
  },
  {
    "path": "wallet/README.specs.md",
    "content": "SUPPORTED SPECIFICATIONS\n========================\n\n* [BIP-13](https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki): Address format for pay-to-script-hash\n* [BIP-14](https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki): Protocol version and user agent\n* [BIP-21](https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki): URI scheme for making Bitcoin payments\n* [BIP-31](https://github.com/bitcoin/bips/blob/master/bip-0031.mediawiki): Pong message\n* [BIP-32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki): Hierarchical deterministic wallets\n* [BIP-35](https://github.com/bitcoin/bips/blob/master/bip-0035.mediawiki): Mempool message\n* [BIP-37](https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki): Connection bloom filtering\n* [BIP-38](https://github.com/bitcoin/bips/blob/master/bip-0038.mediawiki): Passphrase-protected private key\n* [BIP-43](https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki): Purpose field for deterministic wallets\n* [BIP-66](https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki): Strict DER signatures\n* [BIP-70](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki): Payment protocol\n* [BIP-71](https://github.com/bitcoin/bips/blob/master/bip-0071.mediawiki): Payment protocol MIME types\n* [BIP-111](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki): NODE_BLOOM service bit\n* [BIP-141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki): Segregated Witness (Consensus layer)\n* [BIP-143](https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki): Transaction Signature Verification for Version 0 Witness Program\n* [BIP-144](https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki): Segregated Witness (Peer Services)\n* [BIP-159](https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki): NODE_NETWORK_LIMITED service bit\n* [BIP-173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki): Base32 address format for native v0-16 witness outputs\n* [RFC 6979](https://tools.ietf.org/html/rfc6979): Deterministic usage of ECDSA\n\n\n## UNSUPPORTED OR PARTIALLY SUPPORTED SPECIFICATIONS\n\n[BIP-44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki): Multi-account hierarchy for deterministic wallets\n\nWe deliberately chose not to support multiple accounts per wallet. As BIP-44 requires supporting\nmultiple accounts, we are using BIP-32 instead. This implies wallets can't be shared between\nBIP-32 and BIP-44 compatible wallets, as they would see a different transaction history for the\nsame seed.\n\n[BIP-72](https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki): `bitcoin:` URI extensions for payment protocol\n\nThe spec is supported, except the _\"...it should ignore the bitcoin address/amount/label/message in\nthe URI...\"_ part of the recommendation. Important: If you use the request parameter, you have one\nof the following choices. If you don't follow one of those, your linked payment request won't be\naccepted.\n1. Supply an address and optionally an `amount` parameter, with their values exactly matching the\n   respective values from the linked payment request message. This means there can be only one\n   output in `PaymentDetails.outputs` and that output can only contain an `Output.script` of type\n   `pay-to-pubkey`, `pay-to-pubkey-hash`, `pay-to-witness-pubkey-hash` or `pay-to-script-hash`. Note you should add these parameters\n   anyway for backwards compatibility to wallets that don't support the payment protocol.\n2. Supply an `h` parameter, which contains the unpadded base64url-encoded SHA-256 hash of the\n   linked payment request bytes.\n\n\n(these lists are not exhaustive)\n"
  },
  {
    "path": "wallet/assets/bip39-wordlist.txt",
    "content": "abandon\nability\nable\nabout\nabove\nabsent\nabsorb\nabstract\nabsurd\nabuse\naccess\naccident\naccount\naccuse\nachieve\nacid\nacoustic\nacquire\nacross\nact\naction\nactor\nactress\nactual\nadapt\nadd\naddict\naddress\nadjust\nadmit\nadult\nadvance\nadvice\naerobic\naffair\nafford\nafraid\nagain\nage\nagent\nagree\nahead\naim\nair\nairport\naisle\nalarm\nalbum\nalcohol\nalert\nalien\nall\nalley\nallow\nalmost\nalone\nalpha\nalready\nalso\nalter\nalways\namateur\namazing\namong\namount\namused\nanalyst\nanchor\nancient\nanger\nangle\nangry\nanimal\nankle\nannounce\nannual\nanother\nanswer\nantenna\nantique\nanxiety\nany\napart\napology\nappear\napple\napprove\napril\narch\narctic\narea\narena\nargue\narm\narmed\narmor\narmy\naround\narrange\narrest\narrive\narrow\nart\nartefact\nartist\nartwork\nask\naspect\nassault\nasset\nassist\nassume\nasthma\nathlete\natom\nattack\nattend\nattitude\nattract\nauction\naudit\naugust\naunt\nauthor\nauto\nautumn\naverage\navocado\navoid\nawake\naware\naway\nawesome\nawful\nawkward\naxis\nbaby\nbachelor\nbacon\nbadge\nbag\nbalance\nbalcony\nball\nbamboo\nbanana\nbanner\nbar\nbarely\nbargain\nbarrel\nbase\nbasic\nbasket\nbattle\nbeach\nbean\nbeauty\nbecause\nbecome\nbeef\nbefore\nbegin\nbehave\nbehind\nbelieve\nbelow\nbelt\nbench\nbenefit\nbest\nbetray\nbetter\nbetween\nbeyond\nbicycle\nbid\nbike\nbind\nbiology\nbird\nbirth\nbitter\nblack\nblade\nblame\nblanket\nblast\nbleak\nbless\nblind\nblood\nblossom\nblouse\nblue\nblur\nblush\nboard\nboat\nbody\nboil\nbomb\nbone\nbonus\nbook\nboost\nborder\nboring\nborrow\nboss\nbottom\nbounce\nbox\nboy\nbracket\nbrain\nbrand\nbrass\nbrave\nbread\nbreeze\nbrick\nbridge\nbrief\nbright\nbring\nbrisk\nbroccoli\nbroken\nbronze\nbroom\nbrother\nbrown\nbrush\nbubble\nbuddy\nbudget\nbuffalo\nbuild\nbulb\nbulk\nbullet\nbundle\nbunker\nburden\nburger\nburst\nbus\nbusiness\nbusy\nbutter\nbuyer\nbuzz\ncabbage\ncabin\ncable\ncactus\ncage\ncake\ncall\ncalm\ncamera\ncamp\ncan\ncanal\ncancel\ncandy\ncannon\ncanoe\ncanvas\ncanyon\ncapable\ncapital\ncaptain\ncar\ncarbon\ncard\ncargo\ncarpet\ncarry\ncart\ncase\ncash\ncasino\ncastle\ncasual\ncat\ncatalog\ncatch\ncategory\ncattle\ncaught\ncause\ncaution\ncave\nceiling\ncelery\ncement\ncensus\ncentury\ncereal\ncertain\nchair\nchalk\nchampion\nchange\nchaos\nchapter\ncharge\nchase\nchat\ncheap\ncheck\ncheese\nchef\ncherry\nchest\nchicken\nchief\nchild\nchimney\nchoice\nchoose\nchronic\nchuckle\nchunk\nchurn\ncigar\ncinnamon\ncircle\ncitizen\ncity\ncivil\nclaim\nclap\nclarify\nclaw\nclay\nclean\nclerk\nclever\nclick\nclient\ncliff\nclimb\nclinic\nclip\nclock\nclog\nclose\ncloth\ncloud\nclown\nclub\nclump\ncluster\nclutch\ncoach\ncoast\ncoconut\ncode\ncoffee\ncoil\ncoin\ncollect\ncolor\ncolumn\ncombine\ncome\ncomfort\ncomic\ncommon\ncompany\nconcert\nconduct\nconfirm\ncongress\nconnect\nconsider\ncontrol\nconvince\ncook\ncool\ncopper\ncopy\ncoral\ncore\ncorn\ncorrect\ncost\ncotton\ncouch\ncountry\ncouple\ncourse\ncousin\ncover\ncoyote\ncrack\ncradle\ncraft\ncram\ncrane\ncrash\ncrater\ncrawl\ncrazy\ncream\ncredit\ncreek\ncrew\ncricket\ncrime\ncrisp\ncritic\ncrop\ncross\ncrouch\ncrowd\ncrucial\ncruel\ncruise\ncrumble\ncrunch\ncrush\ncry\ncrystal\ncube\nculture\ncup\ncupboard\ncurious\ncurrent\ncurtain\ncurve\ncushion\ncustom\ncute\ncycle\ndad\ndamage\ndamp\ndance\ndanger\ndaring\ndash\ndaughter\ndawn\nday\ndeal\ndebate\ndebris\ndecade\ndecember\ndecide\ndecline\ndecorate\ndecrease\ndeer\ndefense\ndefine\ndefy\ndegree\ndelay\ndeliver\ndemand\ndemise\ndenial\ndentist\ndeny\ndepart\ndepend\ndeposit\ndepth\ndeputy\nderive\ndescribe\ndesert\ndesign\ndesk\ndespair\ndestroy\ndetail\ndetect\ndevelop\ndevice\ndevote\ndiagram\ndial\ndiamond\ndiary\ndice\ndiesel\ndiet\ndiffer\ndigital\ndignity\ndilemma\ndinner\ndinosaur\ndirect\ndirt\ndisagree\ndiscover\ndisease\ndish\ndismiss\ndisorder\ndisplay\ndistance\ndivert\ndivide\ndivorce\ndizzy\ndoctor\ndocument\ndog\ndoll\ndolphin\ndomain\ndonate\ndonkey\ndonor\ndoor\ndose\ndouble\ndove\ndraft\ndragon\ndrama\ndrastic\ndraw\ndream\ndress\ndrift\ndrill\ndrink\ndrip\ndrive\ndrop\ndrum\ndry\nduck\ndumb\ndune\nduring\ndust\ndutch\nduty\ndwarf\ndynamic\neager\neagle\nearly\nearn\nearth\neasily\neast\neasy\necho\necology\neconomy\nedge\nedit\neducate\neffort\negg\neight\neither\nelbow\nelder\nelectric\nelegant\nelement\nelephant\nelevator\nelite\nelse\nembark\nembody\nembrace\nemerge\nemotion\nemploy\nempower\nempty\nenable\nenact\nend\nendless\nendorse\nenemy\nenergy\nenforce\nengage\nengine\nenhance\nenjoy\nenlist\nenough\nenrich\nenroll\nensure\nenter\nentire\nentry\nenvelope\nepisode\nequal\nequip\nera\nerase\nerode\nerosion\nerror\nerupt\nescape\nessay\nessence\nestate\neternal\nethics\nevidence\nevil\nevoke\nevolve\nexact\nexample\nexcess\nexchange\nexcite\nexclude\nexcuse\nexecute\nexercise\nexhaust\nexhibit\nexile\nexist\nexit\nexotic\nexpand\nexpect\nexpire\nexplain\nexpose\nexpress\nextend\nextra\neye\neyebrow\nfabric\nface\nfaculty\nfade\nfaint\nfaith\nfall\nfalse\nfame\nfamily\nfamous\nfan\nfancy\nfantasy\nfarm\nfashion\nfat\nfatal\nfather\nfatigue\nfault\nfavorite\nfeature\nfebruary\nfederal\nfee\nfeed\nfeel\nfemale\nfence\nfestival\nfetch\nfever\nfew\nfiber\nfiction\nfield\nfigure\nfile\nfilm\nfilter\nfinal\nfind\nfine\nfinger\nfinish\nfire\nfirm\nfirst\nfiscal\nfish\nfit\nfitness\nfix\nflag\nflame\nflash\nflat\nflavor\nflee\nflight\nflip\nfloat\nflock\nfloor\nflower\nfluid\nflush\nfly\nfoam\nfocus\nfog\nfoil\nfold\nfollow\nfood\nfoot\nforce\nforest\nforget\nfork\nfortune\nforum\nforward\nfossil\nfoster\nfound\nfox\nfragile\nframe\nfrequent\nfresh\nfriend\nfringe\nfrog\nfront\nfrost\nfrown\nfrozen\nfruit\nfuel\nfun\nfunny\nfurnace\nfury\nfuture\ngadget\ngain\ngalaxy\ngallery\ngame\ngap\ngarage\ngarbage\ngarden\ngarlic\ngarment\ngas\ngasp\ngate\ngather\ngauge\ngaze\ngeneral\ngenius\ngenre\ngentle\ngenuine\ngesture\nghost\ngiant\ngift\ngiggle\nginger\ngiraffe\ngirl\ngive\nglad\nglance\nglare\nglass\nglide\nglimpse\nglobe\ngloom\nglory\nglove\nglow\nglue\ngoat\ngoddess\ngold\ngood\ngoose\ngorilla\ngospel\ngossip\ngovern\ngown\ngrab\ngrace\ngrain\ngrant\ngrape\ngrass\ngravity\ngreat\ngreen\ngrid\ngrief\ngrit\ngrocery\ngroup\ngrow\ngrunt\nguard\nguess\nguide\nguilt\nguitar\ngun\ngym\nhabit\nhair\nhalf\nhammer\nhamster\nhand\nhappy\nharbor\nhard\nharsh\nharvest\nhat\nhave\nhawk\nhazard\nhead\nhealth\nheart\nheavy\nhedgehog\nheight\nhello\nhelmet\nhelp\nhen\nhero\nhidden\nhigh\nhill\nhint\nhip\nhire\nhistory\nhobby\nhockey\nhold\nhole\nholiday\nhollow\nhome\nhoney\nhood\nhope\nhorn\nhorror\nhorse\nhospital\nhost\nhotel\nhour\nhover\nhub\nhuge\nhuman\nhumble\nhumor\nhundred\nhungry\nhunt\nhurdle\nhurry\nhurt\nhusband\nhybrid\nice\nicon\nidea\nidentify\nidle\nignore\nill\nillegal\nillness\nimage\nimitate\nimmense\nimmune\nimpact\nimpose\nimprove\nimpulse\ninch\ninclude\nincome\nincrease\nindex\nindicate\nindoor\nindustry\ninfant\ninflict\ninform\ninhale\ninherit\ninitial\ninject\ninjury\ninmate\ninner\ninnocent\ninput\ninquiry\ninsane\ninsect\ninside\ninspire\ninstall\nintact\ninterest\ninto\ninvest\ninvite\ninvolve\niron\nisland\nisolate\nissue\nitem\nivory\njacket\njaguar\njar\njazz\njealous\njeans\njelly\njewel\njob\njoin\njoke\njourney\njoy\njudge\njuice\njump\njungle\njunior\njunk\njust\nkangaroo\nkeen\nkeep\nketchup\nkey\nkick\nkid\nkidney\nkind\nkingdom\nkiss\nkit\nkitchen\nkite\nkitten\nkiwi\nknee\nknife\nknock\nknow\nlab\nlabel\nlabor\nladder\nlady\nlake\nlamp\nlanguage\nlaptop\nlarge\nlater\nlatin\nlaugh\nlaundry\nlava\nlaw\nlawn\nlawsuit\nlayer\nlazy\nleader\nleaf\nlearn\nleave\nlecture\nleft\nleg\nlegal\nlegend\nleisure\nlemon\nlend\nlength\nlens\nleopard\nlesson\nletter\nlevel\nliar\nliberty\nlibrary\nlicense\nlife\nlift\nlight\nlike\nlimb\nlimit\nlink\nlion\nliquid\nlist\nlittle\nlive\nlizard\nload\nloan\nlobster\nlocal\nlock\nlogic\nlonely\nlong\nloop\nlottery\nloud\nlounge\nlove\nloyal\nlucky\nluggage\nlumber\nlunar\nlunch\nluxury\nlyrics\nmachine\nmad\nmagic\nmagnet\nmaid\nmail\nmain\nmajor\nmake\nmammal\nman\nmanage\nmandate\nmango\nmansion\nmanual\nmaple\nmarble\nmarch\nmargin\nmarine\nmarket\nmarriage\nmask\nmass\nmaster\nmatch\nmaterial\nmath\nmatrix\nmatter\nmaximum\nmaze\nmeadow\nmean\nmeasure\nmeat\nmechanic\nmedal\nmedia\nmelody\nmelt\nmember\nmemory\nmention\nmenu\nmercy\nmerge\nmerit\nmerry\nmesh\nmessage\nmetal\nmethod\nmiddle\nmidnight\nmilk\nmillion\nmimic\nmind\nminimum\nminor\nminute\nmiracle\nmirror\nmisery\nmiss\nmistake\nmix\nmixed\nmixture\nmobile\nmodel\nmodify\nmom\nmoment\nmonitor\nmonkey\nmonster\nmonth\nmoon\nmoral\nmore\nmorning\nmosquito\nmother\nmotion\nmotor\nmountain\nmouse\nmove\nmovie\nmuch\nmuffin\nmule\nmultiply\nmuscle\nmuseum\nmushroom\nmusic\nmust\nmutual\nmyself\nmystery\nmyth\nnaive\nname\nnapkin\nnarrow\nnasty\nnation\nnature\nnear\nneck\nneed\nnegative\nneglect\nneither\nnephew\nnerve\nnest\nnet\nnetwork\nneutral\nnever\nnews\nnext\nnice\nnight\nnoble\nnoise\nnominee\nnoodle\nnormal\nnorth\nnose\nnotable\nnote\nnothing\nnotice\nnovel\nnow\nnuclear\nnumber\nnurse\nnut\noak\nobey\nobject\noblige\nobscure\nobserve\nobtain\nobvious\noccur\nocean\noctober\nodor\noff\noffer\noffice\noften\noil\nokay\nold\nolive\nolympic\nomit\nonce\none\nonion\nonline\nonly\nopen\nopera\nopinion\noppose\noption\norange\norbit\norchard\norder\nordinary\norgan\norient\noriginal\norphan\nostrich\nother\noutdoor\nouter\noutput\noutside\noval\noven\nover\nown\nowner\noxygen\noyster\nozone\npact\npaddle\npage\npair\npalace\npalm\npanda\npanel\npanic\npanther\npaper\nparade\nparent\npark\nparrot\nparty\npass\npatch\npath\npatient\npatrol\npattern\npause\npave\npayment\npeace\npeanut\npear\npeasant\npelican\npen\npenalty\npencil\npeople\npepper\nperfect\npermit\nperson\npet\nphone\nphoto\nphrase\nphysical\npiano\npicnic\npicture\npiece\npig\npigeon\npill\npilot\npink\npioneer\npipe\npistol\npitch\npizza\nplace\nplanet\nplastic\nplate\nplay\nplease\npledge\npluck\nplug\nplunge\npoem\npoet\npoint\npolar\npole\npolice\npond\npony\npool\npopular\nportion\nposition\npossible\npost\npotato\npottery\npoverty\npowder\npower\npractice\npraise\npredict\nprefer\nprepare\npresent\npretty\nprevent\nprice\npride\nprimary\nprint\npriority\nprison\nprivate\nprize\nproblem\nprocess\nproduce\nprofit\nprogram\nproject\npromote\nproof\nproperty\nprosper\nprotect\nproud\nprovide\npublic\npudding\npull\npulp\npulse\npumpkin\npunch\npupil\npuppy\npurchase\npurity\npurpose\npurse\npush\nput\npuzzle\npyramid\nquality\nquantum\nquarter\nquestion\nquick\nquit\nquiz\nquote\nrabbit\nraccoon\nrace\nrack\nradar\nradio\nrail\nrain\nraise\nrally\nramp\nranch\nrandom\nrange\nrapid\nrare\nrate\nrather\nraven\nraw\nrazor\nready\nreal\nreason\nrebel\nrebuild\nrecall\nreceive\nrecipe\nrecord\nrecycle\nreduce\nreflect\nreform\nrefuse\nregion\nregret\nregular\nreject\nrelax\nrelease\nrelief\nrely\nremain\nremember\nremind\nremove\nrender\nrenew\nrent\nreopen\nrepair\nrepeat\nreplace\nreport\nrequire\nrescue\nresemble\nresist\nresource\nresponse\nresult\nretire\nretreat\nreturn\nreunion\nreveal\nreview\nreward\nrhythm\nrib\nribbon\nrice\nrich\nride\nridge\nrifle\nright\nrigid\nring\nriot\nripple\nrisk\nritual\nrival\nriver\nroad\nroast\nrobot\nrobust\nrocket\nromance\nroof\nrookie\nroom\nrose\nrotate\nrough\nround\nroute\nroyal\nrubber\nrude\nrug\nrule\nrun\nrunway\nrural\nsad\nsaddle\nsadness\nsafe\nsail\nsalad\nsalmon\nsalon\nsalt\nsalute\nsame\nsample\nsand\nsatisfy\nsatoshi\nsauce\nsausage\nsave\nsay\nscale\nscan\nscare\nscatter\nscene\nscheme\nschool\nscience\nscissors\nscorpion\nscout\nscrap\nscreen\nscript\nscrub\nsea\nsearch\nseason\nseat\nsecond\nsecret\nsection\nsecurity\nseed\nseek\nsegment\nselect\nsell\nseminar\nsenior\nsense\nsentence\nseries\nservice\nsession\nsettle\nsetup\nseven\nshadow\nshaft\nshallow\nshare\nshed\nshell\nsheriff\nshield\nshift\nshine\nship\nshiver\nshock\nshoe\nshoot\nshop\nshort\nshoulder\nshove\nshrimp\nshrug\nshuffle\nshy\nsibling\nsick\nside\nsiege\nsight\nsign\nsilent\nsilk\nsilly\nsilver\nsimilar\nsimple\nsince\nsing\nsiren\nsister\nsituate\nsix\nsize\nskate\nsketch\nski\nskill\nskin\nskirt\nskull\nslab\nslam\nsleep\nslender\nslice\nslide\nslight\nslim\nslogan\nslot\nslow\nslush\nsmall\nsmart\nsmile\nsmoke\nsmooth\nsnack\nsnake\nsnap\nsniff\nsnow\nsoap\nsoccer\nsocial\nsock\nsoda\nsoft\nsolar\nsoldier\nsolid\nsolution\nsolve\nsomeone\nsong\nsoon\nsorry\nsort\nsoul\nsound\nsoup\nsource\nsouth\nspace\nspare\nspatial\nspawn\nspeak\nspecial\nspeed\nspell\nspend\nsphere\nspice\nspider\nspike\nspin\nspirit\nsplit\nspoil\nsponsor\nspoon\nsport\nspot\nspray\nspread\nspring\nspy\nsquare\nsqueeze\nsquirrel\nstable\nstadium\nstaff\nstage\nstairs\nstamp\nstand\nstart\nstate\nstay\nsteak\nsteel\nstem\nstep\nstereo\nstick\nstill\nsting\nstock\nstomach\nstone\nstool\nstory\nstove\nstrategy\nstreet\nstrike\nstrong\nstruggle\nstudent\nstuff\nstumble\nstyle\nsubject\nsubmit\nsubway\nsuccess\nsuch\nsudden\nsuffer\nsugar\nsuggest\nsuit\nsummer\nsun\nsunny\nsunset\nsuper\nsupply\nsupreme\nsure\nsurface\nsurge\nsurprise\nsurround\nsurvey\nsuspect\nsustain\nswallow\nswamp\nswap\nswarm\nswear\nsweet\nswift\nswim\nswing\nswitch\nsword\nsymbol\nsymptom\nsyrup\nsystem\ntable\ntackle\ntag\ntail\ntalent\ntalk\ntank\ntape\ntarget\ntask\ntaste\ntattoo\ntaxi\nteach\nteam\ntell\nten\ntenant\ntennis\ntent\nterm\ntest\ntext\nthank\nthat\ntheme\nthen\ntheory\nthere\nthey\nthing\nthis\nthought\nthree\nthrive\nthrow\nthumb\nthunder\nticket\ntide\ntiger\ntilt\ntimber\ntime\ntiny\ntip\ntired\ntissue\ntitle\ntoast\ntobacco\ntoday\ntoddler\ntoe\ntogether\ntoilet\ntoken\ntomato\ntomorrow\ntone\ntongue\ntonight\ntool\ntooth\ntop\ntopic\ntopple\ntorch\ntornado\ntortoise\ntoss\ntotal\ntourist\ntoward\ntower\ntown\ntoy\ntrack\ntrade\ntraffic\ntragic\ntrain\ntransfer\ntrap\ntrash\ntravel\ntray\ntreat\ntree\ntrend\ntrial\ntribe\ntrick\ntrigger\ntrim\ntrip\ntrophy\ntrouble\ntruck\ntrue\ntruly\ntrumpet\ntrust\ntruth\ntry\ntube\ntuition\ntumble\ntuna\ntunnel\nturkey\nturn\nturtle\ntwelve\ntwenty\ntwice\ntwin\ntwist\ntwo\ntype\ntypical\nugly\numbrella\nunable\nunaware\nuncle\nuncover\nunder\nundo\nunfair\nunfold\nunhappy\nuniform\nunique\nunit\nuniverse\nunknown\nunlock\nuntil\nunusual\nunveil\nupdate\nupgrade\nuphold\nupon\nupper\nupset\nurban\nurge\nusage\nuse\nused\nuseful\nuseless\nusual\nutility\nvacant\nvacuum\nvague\nvalid\nvalley\nvalve\nvan\nvanish\nvapor\nvarious\nvast\nvault\nvehicle\nvelvet\nvendor\nventure\nvenue\nverb\nverify\nversion\nvery\nvessel\nveteran\nviable\nvibrant\nvicious\nvictory\nvideo\nview\nvillage\nvintage\nviolin\nvirtual\nvirus\nvisa\nvisit\nvisual\nvital\nvivid\nvocal\nvoice\nvoid\nvolcano\nvolume\nvote\nvoyage\nwage\nwagon\nwait\nwalk\nwall\nwalnut\nwant\nwarfare\nwarm\nwarrior\nwash\nwasp\nwaste\nwater\nwave\nway\nwealth\nweapon\nwear\nweasel\nweather\nweb\nwedding\nweekend\nweird\nwelcome\nwest\nwet\nwhale\nwhat\nwheat\nwheel\nwhen\nwhere\nwhip\nwhisper\nwide\nwidth\nwife\nwild\nwill\nwin\nwindow\nwine\nwing\nwink\nwinner\nwinter\nwire\nwisdom\nwise\nwish\nwitness\nwolf\nwoman\nwonder\nwood\nwool\nword\nwork\nworld\nworry\nworth\nwrap\nwreck\nwrestle\nwrist\nwrite\nwrong\nyard\nyear\nyellow\nyou\nyoung\nyouth\nzebra\nzero\nzone\nzoo\n"
  },
  {
    "path": "wallet/assets/checkpoints.txt",
    "content": ""
  },
  {
    "path": "wallet/assets/electrum-servers.txt",
    "content": ""
  },
  {
    "path": "wallet/assets/fees.txt",
    "content": "# fee rates in satoshis per 1000 bytes of tx data\nECONOMIC=100000000\nNORMAL=100000000\nPRIORITY=100000000\n"
  },
  {
    "path": "wallet/assets-prod/checkpoints.txt",
    "content": "TXT CHECKPOINTS 1\n0\n14945\n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\n"
  },
  {
    "path": "wallet/assets-prod/electrum-servers.txt",
    "content": ""
  },
  {
    "path": "wallet/assets-prod/fees.txt",
    "content": "# fee rates in satoshis per 1000 bytes of tx data\nECONOMIC=100000000\nNORMAL=100000000\nPRIORITY=100000000\n"
  },
  {
    "path": "wallet/build.gradle",
    "content": "import groovy.io.FileType\nimport groovy.xml.XmlUtil\n\nplugins {\n    id 'com.android.application'\n    id 'androidsvgdrawable'\n}\n\nconfigurations {\n    all*.exclude group: 'com.google.android', module: 'android'\n    all*.exclude group: 'androidx.viewpager', module: 'viewpager'\n}\n\ndependencies {\n    implementation project(':integration-android')\n    implementation 'androidx.annotation:annotation:1.1.0'\n    implementation 'androidx.core:core:1.3.2'\n    implementation 'androidx.fragment:fragment:1.2.5'\n    implementation 'androidx.recyclerview:recyclerview:1.1.0'\n    implementation 'androidx.cardview:cardview:1.0.0'\n    implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'\n    implementation 'androidx.viewpager2:viewpager2:1.0.0'\n    implementation 'androidx.lifecycle:lifecycle-service:2.2.0'\n    implementation 'androidx.sqlite:sqlite:2.1.0'\n    implementation \"androidx.room:room-runtime:2.2.5\"\n    annotationProcessor \"androidx.room:room-compiler:2.2.5\"\n    api 'com.dogecoin:libdohj-core:0.15-SNAPSHOT'\n    implementation 'com.lambdaworks:scrypt:1.4.0'\n    implementation 'com.google.protobuf:protobuf-java:3.7.1'\n    implementation 'com.google.guava:guava:29.0-android'\n    implementation 'com.google.zxing:core:3.3.3'\n    //noinspection GradleDependency\n    implementation 'com.squareup.okhttp3:okhttp:3.14.9'\n    //noinspection GradleDependency\n    implementation 'com.squareup.okhttp3:logging-interceptor:3.14.9'\n    implementation 'com.squareup.moshi:moshi:1.9.3'\n    implementation 'org.slf4j:slf4j-api:1.7.30'\n    implementation 'com.github.tony19:logback-android:2.0.0'\n    testImplementation 'junit:junit:4.13'\n}\n\next {\n    archivesBaseName = 'dogecoin-wallet'\n}\n\nandroid {\n    compileSdkVersion 29\n\n    defaultConfig {\n        applicationId 'de.langerhans'\n        dexOptions {\n            preDexLibraries false\n        }\n        minSdkVersion 23\n        targetSdkVersion 29\n        versionCode 400\n        versionName '4.0.0'\n        vectorDrawables.useSupportLibrary = true\n\n        ndk {\n            abiFilters 'armeabi-v7a', 'x86', 'arm64-v8a', 'x86_64'\n        }\n\n        externalNativeBuild {\n            cmake {\n                cFlags '-DHAVE_CONFIG_H'\n            }\n        }\n    }\n\n    buildTypes {\n        all {\n            minifyEnabled true\n            shrinkResources false\n            proguardFile 'proguard.cfg'\n        }\n        debug {\n            debuggable true\n        }\n    }\n\n    flavorDimensions 'flavor'\n    productFlavors {\n        dev {\n            dimension 'flavor'\n            applicationIdSuffix '.wallet.test'\n        }\n        prod {\n            dimension 'flavor'\n            applicationIdSuffix '.wallet'\n        }\n    }\n\n    sourceSets {\n        main {\n            manifest.srcFile 'AndroidManifest.xml'\n            java.srcDirs = ['src']\n            res.srcDirs = ['res']\n            assets.srcDirs = ['assets']\n        }\n        prod {\n            res.srcDirs = ['res-prod']\n            assets.srcDirs = ['assets-prod']\n        }\n        test {\n            java.srcDirs = ['test']\n            resources.srcDirs = ['test']\n        }\n    }\n\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_8\n        targetCompatibility JavaVersion.VERSION_1_8\n    }\n\n    lintOptions {\n        abortOnError false\n        disable 'MissingTranslation'\n    }\n\n    packagingOptions {\n        exclude 'lib/x86_64/darwin/libscrypt.dylib'\n        exclude 'lib/x86_64/freebsd/libscrypt.so'\n        exclude 'lib/x86_64/linux/libscrypt.so'\n        exclude 'org.dogecoin.production.checkpoints.txt'\n        exclude 'org.litecoin.production.checkpoints.txt'\n        exclude 'org.dogecoin.test.checkpoints.txt'\n        exclude 'META-INF/*.version'\n        exclude 'META-INF/proguard/**'\n        exclude 'META-INF/services/**'\n        exclude '**/*.proto'\n        exclude 'org/bouncycastle/x509/*.properties'\n        exclude 'okhttp3/internal/publicsuffix/*'\n        exclude 'org/bitcoinj/crypto/mnemonic/wordlist/english.txt'\n        exclude 'org/bitcoinj/crypto/cacerts'\n        exclude 'org.bitcoin.production.checkpoints.txt'\n        exclude 'org.bitcoin.test.checkpoints.txt'\n    }\n\n    externalNativeBuild {\n        cmake {\n            path file('cpp\\\\CMakeLists.txt')\n        }\n    }\n}\n\n/*\ntask svgToPngMipmap(type: fr.avianey.androidsvgdrawable.gradle.SvgDrawableTask) {\n    from = files('graphics/mipmap')\n    to = file('res')\n    targetedDensities = ['xxhdpi', 'xxxhdpi']\n    outputFormat = 'PNG'\n    outputType = 'mipmap'\n}\n\ntask svgToPngMipmapProd(type: fr.avianey.androidsvgdrawable.gradle.SvgDrawableTask) {\n    from = files('graphics-prod/mipmap')\n    to = file('res-prod')\n    targetedDensities = ['xxhdpi', 'xxxhdpi']\n    outputFormat = 'PNG'\n    outputType = 'mipmap'\n}\n */\n\nandroid.applicationVariants.all{ variant ->\n    variant.mergeResources.doFirst{\n        LangUpdater.main(new File(\"${rootDir}/wallet/res/\"))\n    }\n    variant.mergeResources.doLast{\n        new File(\"${rootDir}/wallet/res/\").eachFileRecurse (FileType.DIRECTORIES) { file ->\n            if (file.name.startsWith(\"values\")) {\n                \"git restore -s@ -SW -- wallet/res/${file.name}/strings*.xml\".execute([], rootDir).waitFor()\n            }\n        }\n    }\n}\n\nclass LangUpdater {\n    static def main(File dir) {\n        def list = []\n        dir.eachFileRecurse (FileType.FILES) { file ->\n            list << file\n        }\n        doReplace(list)\n    }\n\n    static def doReplace(ArrayList<File> f) {\n        def toDo = []\n        f.each {\n            if (it.getName().matches(\"strings.*\\\\.xml\")) {\n                toDo << it\n            }\n        }\n\n        toDo.each {\n            def xml = replaceStrings(it)\n            def writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(it.getAbsolutePath()), \"UTF-8\"))\n            XmlUtil.serialize(xml, writer)\n            writer.flush()\n            writer.close()\n        }\n    }\n\n    static def replaceStrings(File f) {\n        def resources = new XmlSlurper().parse(f)\n        resources.string.each {\n            it.replaceBody(tryAllReplacements(it.text()))\n        }\n        return resources\n    }\n\n    static def tryAllReplacements(String s) {\n        String res = s\n        // Do some specifics first\n        res = res.replaceAll(\"bitcoinj\", \"libdohj\")\n        res = res.replaceAll(\"bitboy\", \"dogecoin.com\")\n\n        // Esperanto specifics\n        res = res.replaceAll(\"Bitmon\", \"Dogemon\")\n        res = res.replaceAll(\"bitmon\", \"dogemon\")\n\n        // Japanese specifics\n        res = res.replaceAll(\"ビット\", \"ドージ\")\n\n        // Chinese specifics\n        res = res.replaceAll(\"比特\", \"狗狗\")\n\n        // And the rest\n        res = res.replaceAll(\"BTC\", \"DOGE\")\n        res = res.replaceAll(\"bitcoin\", \"dogecoin\")\n        res = res.replaceAll(\"Bitcoin\", \"Dogecoin\")\n\n        return res\n    }\n}"
  },
  {
    "path": "wallet/cpp/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.6.0)\nadd_library(scrypt SHARED scrypt_jni.c crypto_scrypt-nosse.c sha256.c)\nset_target_properties(scrypt PROPERTIES LINK_FLAGS -Wl,--build-id=none,-lc,-llog)\ninclude_directories(.)"
  },
  {
    "path": "wallet/cpp/config.h",
    "content": "#define HAVE_DECL_BE64ENC 0\n#define HAVE_MMAP 1\n\n#ifndef __ANDROID__\n#define HAVE_POSIX_MEMALIGN 1\n#endif\n\n#ifdef __ANDROID__\n#include <sys/limits.h>\n#endif\n"
  },
  {
    "path": "wallet/cpp/crypto_scrypt-nosse.c",
    "content": "/*-\n * Copyright 2009 Colin Percival\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * This file was originally written by Colin Percival as part of the Tarsnap\n * online backup system.\n */\n#include \"scrypt_platform.h\"\n\n#include <sys/types.h>\n#include <sys/mman.h>\n\n#include <errno.h>\n#include <stdint.h>\n#include <stdlib.h>\n#include <string.h>\n\n#include \"sha256.h\"\n#include \"sysendian.h\"\n\n#include \"crypto_scrypt.h\"\n\nstatic void blkcpy(void *, void *, size_t);\nstatic void blkxor(void *, void *, size_t);\nstatic void salsa20_8(uint32_t[16]);\nstatic void blockmix_salsa8(uint32_t *, uint32_t *, uint32_t *, size_t);\nstatic uint64_t integerify(void *, size_t);\nstatic void smix(uint8_t *, size_t, uint64_t, uint32_t *, uint32_t *);\n\nstatic void\nblkcpy(void * dest, void * src, size_t len)\n{\n\tsize_t * D = dest;\n\tsize_t * S = src;\n\tsize_t L = len / sizeof(size_t);\n\tsize_t i;\n\n\tfor (i = 0; i < L; i++)\n\t\tD[i] = S[i];\n}\n\nstatic void\nblkxor(void * dest, void * src, size_t len)\n{\n\tsize_t * D = dest;\n\tsize_t * S = src;\n\tsize_t L = len / sizeof(size_t);\n\tsize_t i;\n\n\tfor (i = 0; i < L; i++)\n\t\tD[i] ^= S[i];\n}\n\n/**\n * salsa20_8(B):\n * Apply the salsa20/8 core to the provided block.\n */\nstatic void\nsalsa20_8(uint32_t B[16])\n{\n\tuint32_t x[16];\n\tsize_t i;\n\n\tblkcpy(x, B, 64);\n\tfor (i = 0; i < 8; i += 2) {\n#define R(a,b) (((a) << (b)) | ((a) >> (32 - (b))))\n\t\t/* Operate on columns. */\n\t\tx[ 4] ^= R(x[ 0]+x[12], 7);  x[ 8] ^= R(x[ 4]+x[ 0], 9);\n\t\tx[12] ^= R(x[ 8]+x[ 4],13);  x[ 0] ^= R(x[12]+x[ 8],18);\n\n\t\tx[ 9] ^= R(x[ 5]+x[ 1], 7);  x[13] ^= R(x[ 9]+x[ 5], 9);\n\t\tx[ 1] ^= R(x[13]+x[ 9],13);  x[ 5] ^= R(x[ 1]+x[13],18);\n\n\t\tx[14] ^= R(x[10]+x[ 6], 7);  x[ 2] ^= R(x[14]+x[10], 9);\n\t\tx[ 6] ^= R(x[ 2]+x[14],13);  x[10] ^= R(x[ 6]+x[ 2],18);\n\n\t\tx[ 3] ^= R(x[15]+x[11], 7);  x[ 7] ^= R(x[ 3]+x[15], 9);\n\t\tx[11] ^= R(x[ 7]+x[ 3],13);  x[15] ^= R(x[11]+x[ 7],18);\n\n\t\t/* Operate on rows. */\n\t\tx[ 1] ^= R(x[ 0]+x[ 3], 7);  x[ 2] ^= R(x[ 1]+x[ 0], 9);\n\t\tx[ 3] ^= R(x[ 2]+x[ 1],13);  x[ 0] ^= R(x[ 3]+x[ 2],18);\n\n\t\tx[ 6] ^= R(x[ 5]+x[ 4], 7);  x[ 7] ^= R(x[ 6]+x[ 5], 9);\n\t\tx[ 4] ^= R(x[ 7]+x[ 6],13);  x[ 5] ^= R(x[ 4]+x[ 7],18);\n\n\t\tx[11] ^= R(x[10]+x[ 9], 7);  x[ 8] ^= R(x[11]+x[10], 9);\n\t\tx[ 9] ^= R(x[ 8]+x[11],13);  x[10] ^= R(x[ 9]+x[ 8],18);\n\n\t\tx[12] ^= R(x[15]+x[14], 7);  x[13] ^= R(x[12]+x[15], 9);\n\t\tx[14] ^= R(x[13]+x[12],13);  x[15] ^= R(x[14]+x[13],18);\n#undef R\n\t}\n\tfor (i = 0; i < 16; i++)\n\t\tB[i] += x[i];\n}\n\n/**\n * blockmix_salsa8(Bin, Bout, X, r):\n * Compute Bout = BlockMix_{salsa20/8, r}(Bin).  The input Bin must be 128r\n * bytes in length; the output Bout must also be the same size.  The\n * temporary space X must be 64 bytes.\n */\nstatic void\nblockmix_salsa8(uint32_t * Bin, uint32_t * Bout, uint32_t * X, size_t r)\n{\n\tsize_t i;\n\n\t/* 1: X <-- B_{2r - 1} */\n\tblkcpy(X, &Bin[(2 * r - 1) * 16], 64);\n\n\t/* 2: for i = 0 to 2r - 1 do */\n\tfor (i = 0; i < 2 * r; i += 2) {\n\t\t/* 3: X <-- H(X \\xor B_i) */\n\t\tblkxor(X, &Bin[i * 16], 64);\n\t\tsalsa20_8(X);\n\n\t\t/* 4: Y_i <-- X */\n\t\t/* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */\n\t\tblkcpy(&Bout[i * 8], X, 64);\n\n\t\t/* 3: X <-- H(X \\xor B_i) */\n\t\tblkxor(X, &Bin[i * 16 + 16], 64);\n\t\tsalsa20_8(X);\n\n\t\t/* 4: Y_i <-- X */\n\t\t/* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */\n\t\tblkcpy(&Bout[i * 8 + r * 16], X, 64);\n\t}\n}\n\n/**\n * integerify(B, r):\n * Return the result of parsing B_{2r-1} as a little-endian integer.\n */\nstatic uint64_t\nintegerify(void * B, size_t r)\n{\n\tuint32_t * X = (void *)((uintptr_t)(B) + (2 * r - 1) * 64);\n\n\treturn (((uint64_t)(X[1]) << 32) + X[0]);\n}\n\n/**\n * smix(B, r, N, V, XY):\n * Compute B = SMix_r(B, N).  The input B must be 128r bytes in length;\n * the temporary storage V must be 128rN bytes in length; the temporary\n * storage XY must be 256r + 64 bytes in length.  The value N must be a\n * power of 2 greater than 1.  The arrays B, V, and XY must be aligned to a\n * multiple of 64 bytes.\n */\nstatic void\nsmix(uint8_t * B, size_t r, uint64_t N, uint32_t * V, uint32_t * XY)\n{\n\tuint32_t * X = XY;\n\tuint32_t * Y = &XY[32 * r];\n\tuint32_t * Z = &XY[64 * r];\n\tuint64_t i;\n\tuint64_t j;\n\tsize_t k;\n\n\t/* 1: X <-- B */\n\tfor (k = 0; k < 32 * r; k++)\n\t\tX[k] = le32dec(&B[4 * k]);\n\n\t/* 2: for i = 0 to N - 1 do */\n\tfor (i = 0; i < N; i += 2) {\n\t\t/* 3: V_i <-- X */\n\t\tblkcpy(&V[i * (32 * r)], X, 128 * r);\n\n\t\t/* 4: X <-- H(X) */\n\t\tblockmix_salsa8(X, Y, Z, r);\n\n\t\t/* 3: V_i <-- X */\n\t\tblkcpy(&V[(i + 1) * (32 * r)], Y, 128 * r);\n\n\t\t/* 4: X <-- H(X) */\n\t\tblockmix_salsa8(Y, X, Z, r);\n\t}\n\n\t/* 6: for i = 0 to N - 1 do */\n\tfor (i = 0; i < N; i += 2) {\n\t\t/* 7: j <-- Integerify(X) mod N */\n\t\tj = integerify(X, r) & (N - 1);\n\n\t\t/* 8: X <-- H(X \\xor V_j) */\n\t\tblkxor(X, &V[j * (32 * r)], 128 * r);\n\t\tblockmix_salsa8(X, Y, Z, r);\n\n\t\t/* 7: j <-- Integerify(X) mod N */\n\t\tj = integerify(Y, r) & (N - 1);\n\n\t\t/* 8: X <-- H(X \\xor V_j) */\n\t\tblkxor(Y, &V[j * (32 * r)], 128 * r);\n\t\tblockmix_salsa8(Y, X, Z, r);\n\t}\n\n\t/* 10: B' <-- X */\n\tfor (k = 0; k < 32 * r; k++)\n\t\tle32enc(&B[4 * k], X[k]);\n}\n\n/**\n * crypto_scrypt(passwd, passwdlen, salt, saltlen, N, r, p, buf, buflen):\n * Compute scrypt(passwd[0 .. passwdlen - 1], salt[0 .. saltlen - 1], N, r,\n * p, buflen) and write the result into buf.  The parameters r, p, and buflen\n * must satisfy r * p < 2^30 and buflen <= (2^32 - 1) * 32.  The parameter N\n * must be a power of 2 greater than 1.\n *\n * Return 0 on success; or -1 on error.\n */\nint\ncrypto_scrypt(const uint8_t * passwd, size_t passwdlen,\n    const uint8_t * salt, size_t saltlen, uint64_t N, uint32_t r, uint32_t p,\n    uint8_t * buf, size_t buflen)\n{\n\tvoid * B0, * V0, * XY0;\n\tuint8_t * B;\n\tuint32_t * V;\n\tuint32_t * XY;\n\tuint32_t i;\n\n\t/* Sanity-check parameters. */\n#if SIZE_MAX > UINT32_MAX\n\tif (buflen > (((uint64_t)(1) << 32) - 1) * 32) {\n\t\terrno = EFBIG;\n\t\tgoto err0;\n\t}\n#endif\n\tif ((uint64_t)(r) * (uint64_t)(p) >= (1 << 30)) {\n\t\terrno = EFBIG;\n\t\tgoto err0;\n\t}\n\tif (((N & (N - 1)) != 0) || (N < 2)) {\n\t\terrno = EINVAL;\n\t\tgoto err0;\n\t}\n\tif ((r > SIZE_MAX / 128 / p) ||\n#if SIZE_MAX / 256 <= UINT32_MAX\n\t    (r > SIZE_MAX / 256) ||\n#endif\n\t    (N > SIZE_MAX / 128 / r)) {\n\t\terrno = ENOMEM;\n\t\tgoto err0;\n\t}\n\n\t/* Allocate memory. */\n#ifdef HAVE_POSIX_MEMALIGN\n\tif ((errno = posix_memalign(&B0, 64, 128 * r * p)) != 0)\n\t\tgoto err0;\n\tB = (uint8_t *)(B0);\n\tif ((errno = posix_memalign(&XY0, 64, 256 * r + 64)) != 0)\n\t\tgoto err1;\n\tXY = (uint32_t *)(XY0);\n#ifndef MAP_ANON\n\tif ((errno = posix_memalign(&V0, 64, 128 * r * N)) != 0)\n\t\tgoto err2;\n\tV = (uint32_t *)(V0);\n#endif\n#else\n\tif ((B0 = malloc(128 * r * p + 63)) == NULL)\n\t\tgoto err0;\n\tB = (uint8_t *)(((uintptr_t)(B0) + 63) & ~ (uintptr_t)(63));\n\tif ((XY0 = malloc(256 * r + 64 + 63)) == NULL)\n\t\tgoto err1;\n\tXY = (uint32_t *)(((uintptr_t)(XY0) + 63) & ~ (uintptr_t)(63));\n#ifndef MAP_ANON\n\tif ((V0 = malloc(128 * r * N + 63)) == NULL)\n\t\tgoto err2;\n\tV = (uint32_t *)(((uintptr_t)(V0) + 63) & ~ (uintptr_t)(63));\n#endif\n#endif\n#ifdef MAP_ANON\n\tif ((V0 = mmap(NULL, 128 * r * N, PROT_READ | PROT_WRITE,\n#ifdef MAP_NOCORE\n\t    MAP_ANON | MAP_PRIVATE | MAP_NOCORE,\n#else\n\t    MAP_ANON | MAP_PRIVATE,\n#endif\n\t    -1, 0)) == MAP_FAILED)\n\t\tgoto err2;\n\tV = (uint32_t *)(V0);\n#endif\n\n\t/* 1: (B_0 ... B_{p-1}) <-- PBKDF2(P, S, 1, p * MFLen) */\n\tPBKDF2_SHA256(passwd, passwdlen, salt, saltlen, 1, B, p * 128 * r);\n\n\t/* 2: for i = 0 to p - 1 do */\n\tfor (i = 0; i < p; i++) {\n\t\t/* 3: B_i <-- MF(B_i, N) */\n\t\tsmix(&B[i * 128 * r], r, N, V, XY);\n\t}\n\n\t/* 5: DK <-- PBKDF2(P, B, 1, dkLen) */\n\tPBKDF2_SHA256(passwd, passwdlen, B, p * 128 * r, 1, buf, buflen);\n\n\t/* Free memory. */\n#ifdef MAP_ANON\n\tif (munmap(V0, 128 * r * N))\n\t\tgoto err2;\n#else\n\tfree(V0);\n#endif\n\tfree(XY0);\n\tfree(B0);\n\n\t/* Success! */\n\treturn (0);\n\nerr2:\n\tfree(XY0);\nerr1:\n\tfree(B0);\nerr0:\n\t/* Failure! */\n\treturn (-1);\n}\n"
  },
  {
    "path": "wallet/cpp/crypto_scrypt.h",
    "content": "/*-\n * Copyright 2009 Colin Percival\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * This file was originally written by Colin Percival as part of the Tarsnap\n * online backup system.\n */\n#ifndef _CRYPTO_SCRYPT_H_\n#define _CRYPTO_SCRYPT_H_\n\n#include <stdint.h>\n\n/**\n * crypto_scrypt(passwd, passwdlen, salt, saltlen, N, r, p, buf, buflen):\n * Compute scrypt(passwd[0 .. passwdlen - 1], salt[0 .. saltlen - 1], N, r,\n * p, buflen) and write the result into buf.  The parameters r, p, and buflen\n * must satisfy r * p < 2^30 and buflen <= (2^32 - 1) * 32.  The parameter N\n * must be a power of 2 greater than 1.\n *\n * Return 0 on success; or -1 on error.\n */\nint crypto_scrypt(const uint8_t *, size_t, const uint8_t *, size_t, uint64_t,\n    uint32_t, uint32_t, uint8_t *, size_t);\n\n#endif /* !_CRYPTO_SCRYPT_H_ */\n"
  },
  {
    "path": "wallet/cpp/scrypt_jni.c",
    "content": "// Copyright (C) 2011 - Will Glozer.  All rights reserved.\n\n#include <errno.h>\n#include <stdlib.h>\n#include <inttypes.h>\n\n#include <jni.h>\n#include \"crypto_scrypt.h\"\n\n#ifdef ANDROID\n\n#include <android/log.h>\n#include <stdint.h>\n\n#define ANDROID_LOG_TAG \"ScryptLog\"\n#define ALOG(msg, ...) __android_log_print(ANDROID_LOG_VERBOSE, ANDROID_LOG_TAG, msg, ##__VA_ARGS__)\n\n#define STR1(x)  #x\n#define STR(x)  STR1(x)\n\nvoid log_basic_info();\nvoid log_params(JNIEnv *env, jbyteArray passwd, jbyteArray salt, jint N, jint r, jint p, jint dkLen);\n\n#endif\n\njbyteArray JNICALL scryptN(JNIEnv *env, jclass cls, jbyteArray passwd, jbyteArray salt,\n    jint N, jint r, jint p, jint dkLen)\n{\n\n#ifdef ANDROID\n  //log_basic_info();\n  //log_params(env, passwd, salt, N, r, p, dkLen);\n#endif\n\n    jint Plen = (*env)->GetArrayLength(env, passwd);\n    jint Slen = (*env)->GetArrayLength(env, salt);\n    jbyte *P = (*env)->GetByteArrayElements(env, passwd, NULL);\n    jbyte *S = (*env)->GetByteArrayElements(env, salt,   NULL);\n    uint8_t *buf = malloc(sizeof(uint8_t) * dkLen);\n    jbyteArray DK = NULL;\n\n    if (P == NULL || S == NULL || buf == NULL) goto cleanup;\n\n    if (crypto_scrypt((uint8_t *) P, Plen, (uint8_t *) S, Slen, N, r, p, buf, dkLen)) {\n        jclass e = (*env)->FindClass(env, \"java/lang/IllegalArgumentException\");\n        char *msg;\n        switch (errno) {\n            case EINVAL:\n                msg = \"N must be a power of 2 greater than 1\";\n                break;\n            case EFBIG:\n            case ENOMEM:\n                msg = \"Insufficient memory available\";\n                break;\n            default:\n                msg = \"Memory allocation failed\";\n        }\n        (*env)->ThrowNew(env, e, msg);\n        goto cleanup;\n    }\n\n    DK = (*env)->NewByteArray(env, dkLen);\n    if (DK == NULL) goto cleanup;\n\n    (*env)->SetByteArrayRegion(env, DK, 0, dkLen, (jbyte *) buf);\n\n  cleanup:\n\n    if (P) (*env)->ReleaseByteArrayElements(env, passwd, P, JNI_ABORT);\n    if (S) (*env)->ReleaseByteArrayElements(env, salt,   S, JNI_ABORT);\n    if (buf) free(buf);\n\n    return DK;\n}\n\n#ifdef ANDROID\n\nchar *get_byte_array_summary(JNIEnv *env, jbyteArray jarray) {\n  int len = (*env)->GetArrayLength(env, jarray);\n  jbyte *bytes = (*env)->GetByteArrayElements(env, jarray, NULL);\n\n  static char buff[10240];\n  int i;\n  for (i = 0; i < len; ++i) {\n    buff[i] = bytes[i] % 32 + 'a';\n  }\n  buff[i] = '\\0';\n\n  if (bytes) (*env)->ReleaseByteArrayElements(env, jarray, bytes, JNI_ABORT);\n\n  return buff;\n}\n\nvoid log_params(JNIEnv *env, jbyteArray passwd, jbyteArray salt, jint N, jint r, jint p, jint dkLen) {\n  ALOG(\"Parameters for native scrypt run:\");\n  ALOG(\"passwd (summary): %s\", get_byte_array_summary(env, passwd));\n  ALOG(\"salt (summary): %s\", get_byte_array_summary(env, salt));\n  ALOG(\"N, r, p, dkLen: %d, %d, %d, %d\", (int32_t) N, (int32_t) r, (int32_t) p, (int32_t) dkLen);\n}\n\nvoid log_basic_info() {\n  ALOG(\"Basic info for native scrypt run:\");\n  ALOG(\"Native library targeting arch: %s\", STR(ANDROID_TARGET_ARCH));\n}\n\n#endif\n\nstatic const JNINativeMethod methods[] = {\n    { \"scryptN\", \"([B[BIIII)[B\", (void *) scryptN }\n};\n\njint JNI_OnLoad(JavaVM *vm, void *reserved) {\n    JNIEnv *env;\n\n    if ((*vm)->GetEnv(vm, (void **) &env, JNI_VERSION_1_6) != JNI_OK) {\n        return -1;\n    }\n\n    jclass cls = (*env)->FindClass(env, \"com/lambdaworks/crypto/SCrypt\");\n    int r = (*env)->RegisterNatives(env, cls, methods, 1);\n\n    return (r == JNI_OK) ? JNI_VERSION_1_6 : -1;\n}\n"
  },
  {
    "path": "wallet/cpp/scrypt_platform.h",
    "content": "#ifndef _SCRYPT_PLATFORM_H_\n#define\t_SCRYPT_PLATFORM_H_\n\n#if defined(CONFIG_H_FILE)\n#include CONFIG_H_FILE\n#elif defined(HAVE_CONFIG_H)\n#include \"config.h\"\n#else\n#error Need either CONFIG_H_FILE or HAVE_CONFIG_H defined.\n#endif\n\n#endif /* !_SCRYPT_PLATFORM_H_ */\n"
  },
  {
    "path": "wallet/cpp/sha256.c",
    "content": "/*-\n * Copyright 2005,2007,2009 Colin Percival\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n */\n#include \"scrypt_platform.h\"\n\n#include <sys/types.h>\n\n#include <stdint.h>\n#include <string.h>\n\n#include \"sysendian.h\"\n\n#include \"sha256.h\"\n\n/*\n * Encode a length len/4 vector of (uint32_t) into a length len vector of\n * (unsigned char) in big-endian form.  Assumes len is a multiple of 4.\n */\nstatic void\nbe32enc_vect(unsigned char *dst, const uint32_t *src, size_t len)\n{\n\tsize_t i;\n\n\tfor (i = 0; i < len / 4; i++)\n\t\tbe32enc(dst + i * 4, src[i]);\n}\n\n/*\n * Decode a big-endian length len vector of (unsigned char) into a length\n * len/4 vector of (uint32_t).  Assumes len is a multiple of 4.\n */\nstatic void\nbe32dec_vect(uint32_t *dst, const unsigned char *src, size_t len)\n{\n\tsize_t i;\n\n\tfor (i = 0; i < len / 4; i++)\n\t\tdst[i] = be32dec(src + i * 4);\n}\n\n/* Elementary functions used by SHA256 */\n#define Ch(x, y, z)\t((x & (y ^ z)) ^ z)\n#define Maj(x, y, z)\t((x & (y | z)) | (y & z))\n#define SHR(x, n)\t(x >> n)\n#define ROTR(x, n)\t((x >> n) | (x << (32 - n)))\n#define S0(x)\t\t(ROTR(x, 2) ^ ROTR(x, 13) ^ ROTR(x, 22))\n#define S1(x)\t\t(ROTR(x, 6) ^ ROTR(x, 11) ^ ROTR(x, 25))\n#define s0(x)\t\t(ROTR(x, 7) ^ ROTR(x, 18) ^ SHR(x, 3))\n#define s1(x)\t\t(ROTR(x, 17) ^ ROTR(x, 19) ^ SHR(x, 10))\n\n/* SHA256 round function */\n#define RND(a, b, c, d, e, f, g, h, k)\t\t\t\\\n\tt0 = h + S1(e) + Ch(e, f, g) + k;\t\t\\\n\tt1 = S0(a) + Maj(a, b, c);\t\t\t\\\n\td += t0;\t\t\t\t\t\\\n\th  = t0 + t1;\n\n/* Adjusted round function for rotating state */\n#define RNDr(S, W, i, k)\t\t\t\\\n\tRND(S[(64 - i) % 8], S[(65 - i) % 8],\t\\\n\t    S[(66 - i) % 8], S[(67 - i) % 8],\t\\\n\t    S[(68 - i) % 8], S[(69 - i) % 8],\t\\\n\t    S[(70 - i) % 8], S[(71 - i) % 8],\t\\\n\t    W[i] + k)\n\n/*\n * SHA256 block compression function.  The 256-bit state is transformed via\n * the 512-bit input block to produce a new state.\n */\nstatic void\nSHA256_Transform(uint32_t * state, const unsigned char block[64])\n{\n\tuint32_t W[64];\n\tuint32_t S[8];\n\tuint32_t t0, t1;\n\tint i;\n\n\t/* 1. Prepare message schedule W. */\n\tbe32dec_vect(W, block, 64);\n\tfor (i = 16; i < 64; i++)\n\t\tW[i] = s1(W[i - 2]) + W[i - 7] + s0(W[i - 15]) + W[i - 16];\n\n\t/* 2. Initialize working variables. */\n\tmemcpy(S, state, 32);\n\n\t/* 3. Mix. */\n\tRNDr(S, W, 0, 0x428a2f98);\n\tRNDr(S, W, 1, 0x71374491);\n\tRNDr(S, W, 2, 0xb5c0fbcf);\n\tRNDr(S, W, 3, 0xe9b5dba5);\n\tRNDr(S, W, 4, 0x3956c25b);\n\tRNDr(S, W, 5, 0x59f111f1);\n\tRNDr(S, W, 6, 0x923f82a4);\n\tRNDr(S, W, 7, 0xab1c5ed5);\n\tRNDr(S, W, 8, 0xd807aa98);\n\tRNDr(S, W, 9, 0x12835b01);\n\tRNDr(S, W, 10, 0x243185be);\n\tRNDr(S, W, 11, 0x550c7dc3);\n\tRNDr(S, W, 12, 0x72be5d74);\n\tRNDr(S, W, 13, 0x80deb1fe);\n\tRNDr(S, W, 14, 0x9bdc06a7);\n\tRNDr(S, W, 15, 0xc19bf174);\n\tRNDr(S, W, 16, 0xe49b69c1);\n\tRNDr(S, W, 17, 0xefbe4786);\n\tRNDr(S, W, 18, 0x0fc19dc6);\n\tRNDr(S, W, 19, 0x240ca1cc);\n\tRNDr(S, W, 20, 0x2de92c6f);\n\tRNDr(S, W, 21, 0x4a7484aa);\n\tRNDr(S, W, 22, 0x5cb0a9dc);\n\tRNDr(S, W, 23, 0x76f988da);\n\tRNDr(S, W, 24, 0x983e5152);\n\tRNDr(S, W, 25, 0xa831c66d);\n\tRNDr(S, W, 26, 0xb00327c8);\n\tRNDr(S, W, 27, 0xbf597fc7);\n\tRNDr(S, W, 28, 0xc6e00bf3);\n\tRNDr(S, W, 29, 0xd5a79147);\n\tRNDr(S, W, 30, 0x06ca6351);\n\tRNDr(S, W, 31, 0x14292967);\n\tRNDr(S, W, 32, 0x27b70a85);\n\tRNDr(S, W, 33, 0x2e1b2138);\n\tRNDr(S, W, 34, 0x4d2c6dfc);\n\tRNDr(S, W, 35, 0x53380d13);\n\tRNDr(S, W, 36, 0x650a7354);\n\tRNDr(S, W, 37, 0x766a0abb);\n\tRNDr(S, W, 38, 0x81c2c92e);\n\tRNDr(S, W, 39, 0x92722c85);\n\tRNDr(S, W, 40, 0xa2bfe8a1);\n\tRNDr(S, W, 41, 0xa81a664b);\n\tRNDr(S, W, 42, 0xc24b8b70);\n\tRNDr(S, W, 43, 0xc76c51a3);\n\tRNDr(S, W, 44, 0xd192e819);\n\tRNDr(S, W, 45, 0xd6990624);\n\tRNDr(S, W, 46, 0xf40e3585);\n\tRNDr(S, W, 47, 0x106aa070);\n\tRNDr(S, W, 48, 0x19a4c116);\n\tRNDr(S, W, 49, 0x1e376c08);\n\tRNDr(S, W, 50, 0x2748774c);\n\tRNDr(S, W, 51, 0x34b0bcb5);\n\tRNDr(S, W, 52, 0x391c0cb3);\n\tRNDr(S, W, 53, 0x4ed8aa4a);\n\tRNDr(S, W, 54, 0x5b9cca4f);\n\tRNDr(S, W, 55, 0x682e6ff3);\n\tRNDr(S, W, 56, 0x748f82ee);\n\tRNDr(S, W, 57, 0x78a5636f);\n\tRNDr(S, W, 58, 0x84c87814);\n\tRNDr(S, W, 59, 0x8cc70208);\n\tRNDr(S, W, 60, 0x90befffa);\n\tRNDr(S, W, 61, 0xa4506ceb);\n\tRNDr(S, W, 62, 0xbef9a3f7);\n\tRNDr(S, W, 63, 0xc67178f2);\n\n\t/* 4. Mix local working variables into global state. */\n\tfor (i = 0; i < 8; i++)\n\t\tstate[i] += S[i];\n\n\t/* Clean the stack. */\n\tmemset(W, 0, 256);\n\tmemset(S, 0, 32);\n\tt0 = t1 = 0;\n}\n\nstatic unsigned char PAD[64] = {\n\t0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n};\n\n/* Add padding and terminating bit-count. */\nstatic void\nSHA256_Pad(SHA256_CTX * ctx)\n{\n\tunsigned char len[8];\n\tuint32_t r, plen;\n\n\t/*\n\t * Convert length to a vector of bytes -- we do this now rather\n\t * than later because the length will change after we pad.\n\t */\n\tbe32enc_vect(len, ctx->count, 8);\n\n\t/* Add 1--64 bytes so that the resulting length is 56 mod 64. */\n\tr = (ctx->count[1] >> 3) & 0x3f;\n\tplen = (r < 56) ? (56 - r) : (120 - r);\n\tSHA256_Update(ctx, PAD, (size_t)plen);\n\n\t/* Add the terminating bit-count. */\n\tSHA256_Update(ctx, len, 8);\n}\n\n/* SHA-256 initialization.  Begins a SHA-256 operation. */\nvoid\nSHA256_Init(SHA256_CTX * ctx)\n{\n\n\t/* Zero bits processed so far. */\n\tctx->count[0] = ctx->count[1] = 0;\n\n\t/* Magic initialization constants. */\n\tctx->state[0] = 0x6A09E667;\n\tctx->state[1] = 0xBB67AE85;\n\tctx->state[2] = 0x3C6EF372;\n\tctx->state[3] = 0xA54FF53A;\n\tctx->state[4] = 0x510E527F;\n\tctx->state[5] = 0x9B05688C;\n\tctx->state[6] = 0x1F83D9AB;\n\tctx->state[7] = 0x5BE0CD19;\n}\n\n/* Add bytes into the hash. */\nvoid\nSHA256_Update(SHA256_CTX * ctx, const void *in, size_t len)\n{\n\tuint32_t bitlen[2];\n\tuint32_t r;\n\tconst unsigned char *src = in;\n\n\t/* Number of bytes left in the buffer from previous updates. */\n\tr = (ctx->count[1] >> 3) & 0x3f;\n\n\t/* Convert the length into a number of bits. */\n\tbitlen[1] = ((uint32_t)len) << 3;\n\tbitlen[0] = (uint32_t)(len >> 29);\n\n\t/* Update number of bits. */\n\tif ((ctx->count[1] += bitlen[1]) < bitlen[1])\n\t\tctx->count[0]++;\n\tctx->count[0] += bitlen[0];\n\n\t/* Handle the case where we don't need to perform any transforms. */\n\tif (len < 64 - r) {\n\t\tmemcpy(&ctx->buf[r], src, len);\n\t\treturn;\n\t}\n\n\t/* Finish the current block. */\n\tmemcpy(&ctx->buf[r], src, 64 - r);\n\tSHA256_Transform(ctx->state, ctx->buf);\n\tsrc += 64 - r;\n\tlen -= 64 - r;\n\n\t/* Perform complete blocks. */\n\twhile (len >= 64) {\n\t\tSHA256_Transform(ctx->state, src);\n\t\tsrc += 64;\n\t\tlen -= 64;\n\t}\n\n\t/* Copy left over data into buffer. */\n\tmemcpy(ctx->buf, src, len);\n}\n\n/*\n * SHA-256 finalization.  Pads the input data, exports the hash value,\n * and clears the context state.\n */\nvoid\nSHA256_Final(unsigned char digest[32], SHA256_CTX * ctx)\n{\n\n\t/* Add padding. */\n\tSHA256_Pad(ctx);\n\n\t/* Write the hash. */\n\tbe32enc_vect(digest, ctx->state, 32);\n\n\t/* Clear the context state. */\n\tmemset((void *)ctx, 0, sizeof(*ctx));\n}\n\n/* Initialize an HMAC-SHA256 operation with the given key. */\nvoid\nHMAC_SHA256_Init(HMAC_SHA256_CTX * ctx, const void * _K, size_t Klen)\n{\n\tunsigned char pad[64];\n\tunsigned char khash[32];\n\tconst unsigned char * K = _K;\n\tsize_t i;\n\n\t/* If Klen > 64, the key is really SHA256(K). */\n\tif (Klen > 64) {\n\t\tSHA256_Init(&ctx->ictx);\n\t\tSHA256_Update(&ctx->ictx, K, Klen);\n\t\tSHA256_Final(khash, &ctx->ictx);\n\t\tK = khash;\n\t\tKlen = 32;\n\t}\n\n\t/* Inner SHA256 operation is SHA256(K xor [block of 0x36] || data). */\n\tSHA256_Init(&ctx->ictx);\n\tmemset(pad, 0x36, 64);\n\tfor (i = 0; i < Klen; i++)\n\t\tpad[i] ^= K[i];\n\tSHA256_Update(&ctx->ictx, pad, 64);\n\n\t/* Outer SHA256 operation is SHA256(K xor [block of 0x5c] || hash). */\n\tSHA256_Init(&ctx->octx);\n\tmemset(pad, 0x5c, 64);\n\tfor (i = 0; i < Klen; i++)\n\t\tpad[i] ^= K[i];\n\tSHA256_Update(&ctx->octx, pad, 64);\n\n\t/* Clean the stack. */\n\tmemset(khash, 0, 32);\n}\n\n/* Add bytes to the HMAC-SHA256 operation. */\nvoid\nHMAC_SHA256_Update(HMAC_SHA256_CTX * ctx, const void *in, size_t len)\n{\n\n\t/* Feed data to the inner SHA256 operation. */\n\tSHA256_Update(&ctx->ictx, in, len);\n}\n\n/* Finish an HMAC-SHA256 operation. */\nvoid\nHMAC_SHA256_Final(unsigned char digest[32], HMAC_SHA256_CTX * ctx)\n{\n\tunsigned char ihash[32];\n\n\t/* Finish the inner SHA256 operation. */\n\tSHA256_Final(ihash, &ctx->ictx);\n\n\t/* Feed the inner hash to the outer SHA256 operation. */\n\tSHA256_Update(&ctx->octx, ihash, 32);\n\n\t/* Finish the outer SHA256 operation. */\n\tSHA256_Final(digest, &ctx->octx);\n\n\t/* Clean the stack. */\n\tmemset(ihash, 0, 32);\n}\n\n/**\n * PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen):\n * Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and\n * write the output to buf.  The value dkLen must be at most 32 * (2^32 - 1).\n */\nvoid\nPBKDF2_SHA256(const uint8_t * passwd, size_t passwdlen, const uint8_t * salt,\n    size_t saltlen, uint64_t c, uint8_t * buf, size_t dkLen)\n{\n\tHMAC_SHA256_CTX PShctx, hctx;\n\tsize_t i;\n\tuint8_t ivec[4];\n\tuint8_t U[32];\n\tuint8_t T[32];\n\tuint64_t j;\n\tint k;\n\tsize_t clen;\n\n\t/* Compute HMAC state after processing P and S. */\n\tHMAC_SHA256_Init(&PShctx, passwd, passwdlen);\n\tHMAC_SHA256_Update(&PShctx, salt, saltlen);\n\n\t/* Iterate through the blocks. */\n\tfor (i = 0; i * 32 < dkLen; i++) {\n\t\t/* Generate INT(i + 1). */\n\t\tbe32enc(ivec, (uint32_t)(i + 1));\n\n\t\t/* Compute U_1 = PRF(P, S || INT(i)). */\n\t\tmemcpy(&hctx, &PShctx, sizeof(HMAC_SHA256_CTX));\n\t\tHMAC_SHA256_Update(&hctx, ivec, 4);\n\t\tHMAC_SHA256_Final(U, &hctx);\n\n\t\t/* T_i = U_1 ... */\n\t\tmemcpy(T, U, 32);\n\n\t\tfor (j = 2; j <= c; j++) {\n\t\t\t/* Compute U_j. */\n\t\t\tHMAC_SHA256_Init(&hctx, passwd, passwdlen);\n\t\t\tHMAC_SHA256_Update(&hctx, U, 32);\n\t\t\tHMAC_SHA256_Final(U, &hctx);\n\n\t\t\t/* ... xor U_j ... */\n\t\t\tfor (k = 0; k < 32; k++)\n\t\t\t\tT[k] ^= U[k];\n\t\t}\n\n\t\t/* Copy as many bytes as necessary into buf. */\n\t\tclen = dkLen - i * 32;\n\t\tif (clen > 32)\n\t\t\tclen = 32;\n\t\tmemcpy(&buf[i * 32], T, clen);\n\t}\n\n\t/* Clean PShctx, since we never called _Final on it. */\n\tmemset(&PShctx, 0, sizeof(HMAC_SHA256_CTX));\n}\n"
  },
  {
    "path": "wallet/cpp/sha256.h",
    "content": "/*-\n * Copyright 2005,2007,2009 Colin Percival\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * $FreeBSD: src/lib/libmd/sha256.h,v 1.2 2006/01/17 15:35:56 phk Exp $\n */\n\n#ifndef _SHA256_H_\n#define _SHA256_H_\n\n#include <sys/types.h>\n\n#include <stdint.h>\n\ntypedef struct SHA256Context {\n\tuint32_t state[8];\n\tuint32_t count[2];\n\tunsigned char buf[64];\n} SHA256_CTX;\n\ntypedef struct HMAC_SHA256Context {\n\tSHA256_CTX ictx;\n\tSHA256_CTX octx;\n} HMAC_SHA256_CTX;\n\nvoid\tSHA256_Init(SHA256_CTX *);\nvoid\tSHA256_Update(SHA256_CTX *, const void *, size_t);\nvoid\tSHA256_Final(unsigned char [32], SHA256_CTX *);\nvoid\tHMAC_SHA256_Init(HMAC_SHA256_CTX *, const void *, size_t);\nvoid\tHMAC_SHA256_Update(HMAC_SHA256_CTX *, const void *, size_t);\nvoid\tHMAC_SHA256_Final(unsigned char [32], HMAC_SHA256_CTX *);\n\n/**\n * PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen):\n * Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and\n * write the output to buf.  The value dkLen must be at most 32 * (2^32 - 1).\n */\nvoid\tPBKDF2_SHA256(const uint8_t *, size_t, const uint8_t *, size_t,\n    uint64_t, uint8_t *, size_t);\n\n#endif /* !_SHA256_H_ */\n"
  },
  {
    "path": "wallet/cpp/sysendian.h",
    "content": "/*-\n * Copyright 2007-2009 Colin Percival\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * This file was originally written by Colin Percival as part of the Tarsnap\n * online backup system.\n */\n#ifndef _SYSENDIAN_H_\n#define _SYSENDIAN_H_\n\n#include \"scrypt_platform.h\"\n\n/* If we don't have be64enc, the <sys/endian.h> we have isn't usable. */\n#if !HAVE_DECL_BE64ENC\n#undef HAVE_SYS_ENDIAN_H\n#endif\n\n#ifdef HAVE_SYS_ENDIAN_H\n\n#include <sys/endian.h>\n\n#else\n\n#include <stdint.h>\n\nstatic inline uint32_t\nbe32dec(const void *pp)\n{\n\tconst uint8_t *p = (uint8_t const *)pp;\n\n\treturn ((uint32_t)(p[3]) + ((uint32_t)(p[2]) << 8) +\n\t    ((uint32_t)(p[1]) << 16) + ((uint32_t)(p[0]) << 24));\n}\n\nstatic inline void\nbe32enc(void *pp, uint32_t x)\n{\n\tuint8_t * p = (uint8_t *)pp;\n\n\tp[3] = x & 0xff;\n\tp[2] = (x >> 8) & 0xff;\n\tp[1] = (x >> 16) & 0xff;\n\tp[0] = (x >> 24) & 0xff;\n}\n\nstatic inline uint64_t\nbe64dec(const void *pp)\n{\n\tconst uint8_t *p = (uint8_t const *)pp;\n\n\treturn ((uint64_t)(p[7]) + ((uint64_t)(p[6]) << 8) +\n\t    ((uint64_t)(p[5]) << 16) + ((uint64_t)(p[4]) << 24) +\n\t    ((uint64_t)(p[3]) << 32) + ((uint64_t)(p[2]) << 40) +\n\t    ((uint64_t)(p[1]) << 48) + ((uint64_t)(p[0]) << 56));\n}\n\nstatic inline void\nbe64enc(void *pp, uint64_t x)\n{\n\tuint8_t * p = (uint8_t *)pp;\n\n\tp[7] = x & 0xff;\n\tp[6] = (x >> 8) & 0xff;\n\tp[5] = (x >> 16) & 0xff;\n\tp[4] = (x >> 24) & 0xff;\n\tp[3] = (x >> 32) & 0xff;\n\tp[2] = (x >> 40) & 0xff;\n\tp[1] = (x >> 48) & 0xff;\n\tp[0] = (x >> 56) & 0xff;\n}\n\nstatic inline uint32_t\nle32dec(const void *pp)\n{\n\tconst uint8_t *p = (uint8_t const *)pp;\n\n\treturn ((uint32_t)(p[0]) + ((uint32_t)(p[1]) << 8) +\n\t    ((uint32_t)(p[2]) << 16) + ((uint32_t)(p[3]) << 24));\n}\n\nstatic inline void\nle32enc(void *pp, uint32_t x)\n{\n\tuint8_t * p = (uint8_t *)pp;\n\n\tp[0] = x & 0xff;\n\tp[1] = (x >> 8) & 0xff;\n\tp[2] = (x >> 16) & 0xff;\n\tp[3] = (x >> 24) & 0xff;\n}\n\nstatic inline uint64_t\nle64dec(const void *pp)\n{\n\tconst uint8_t *p = (uint8_t const *)pp;\n\n\treturn ((uint64_t)(p[0]) + ((uint64_t)(p[1]) << 8) +\n\t    ((uint64_t)(p[2]) << 16) + ((uint64_t)(p[3]) << 24) +\n\t    ((uint64_t)(p[4]) << 32) + ((uint64_t)(p[5]) << 40) +\n\t    ((uint64_t)(p[6]) << 48) + ((uint64_t)(p[7]) << 56));\n}\n\nstatic inline void\nle64enc(void *pp, uint64_t x)\n{\n\tuint8_t * p = (uint8_t *)pp;\n\n\tp[0] = x & 0xff;\n\tp[1] = (x >> 8) & 0xff;\n\tp[2] = (x >> 16) & 0xff;\n\tp[3] = (x >> 24) & 0xff;\n\tp[4] = (x >> 32) & 0xff;\n\tp[5] = (x >> 40) & 0xff;\n\tp[6] = (x >> 48) & 0xff;\n\tp[7] = (x >> 56) & 0xff;\n}\n#endif /* !HAVE_SYS_ENDIAN_H */\n\n#endif /* !_SYSENDIAN_H_ */\n"
  },
  {
    "path": "wallet/proguard.cfg",
    "content": "-dontskipnonpubliclibraryclasses\n-dontoptimize\n-dontpreverify\n-dontobfuscate\n-verbose\n\n-keepclassmembers class * implements java.io.Serializable {\n    private static final java.io.ObjectStreamField[] serialPersistentFields;\n    private void writeObject(java.io.ObjectOutputStream);\n    private void readObject(java.io.ObjectInputStream);\n    java.lang.Object writeReplace();\n    java.lang.Object readResolve();\n}\n\n-keepattributes *Annotation*\n\n-keepclasseswithmembernames,includedescriptorclasses class * {\n    native <methods>;\n}\n\n-keepclassmembers,includedescriptorclasses public class * extends android.view.View {\n    void set*(***);\n    *** get*();\n}\n\n-keepclassmembers class * extends android.app.Activity {\n    public void *(android.view.View);\n}\n\n-keepclassmembers enum * {\n    public static **[] values();\n    public static ** valueOf(java.lang.String);\n}\n\n-keepclassmembers class * implements android.os.Parcelable {\n    public static final android.os.Parcelable$Creator CREATOR;\n}\n\n-keepclassmembers class **.R$* {\n    public static <fields>;\n}\n\n# android\n-dontnote android.widget.SearchView\n\n# androidx\n-keep,includedescriptorclasses class androidx.fragment.app.FragmentContainerView {\n    FragmentContainerView(android.content.Context,android.util.AttributeSet,androidx.fragment.app.FragmentManager);\n}\n-dontwarn androidx.viewpager.widget.PagerAdapter\n-dontnote androidx.core.**\n-dontnote androidx.fragment.app.FragmentTransition\n-dontnote androidx.versionedparcelable.VersionedParcel\n\n# bitcoinj\n-keep,includedescriptorclasses class org.bitcoinj.wallet.Protos$** { *; }\n-keepclassmembers class org.bitcoinj.wallet.Protos { com.google.protobuf.Descriptors$FileDescriptor descriptor; }\n-keep,includedescriptorclasses class org.bitcoin.protocols.payments.Protos$** { *; }\n-keepclassmembers class org.bitcoin.protocols.payments.Protos { com.google.protobuf.Descriptors$FileDescriptor descriptor; }\n-dontwarn org.bitcoinj.store.LevelDBBlockStore\n-dontnote org.bitcoinj.crypto.DRMWorkaround\n-dontnote org.bitcoinj.crypto.TrustStoreLoader$DefaultTrustStoreLoader\n-dontwarn org.bitcoinj.store.LevelDBFullPrunedBlockStore**\n\n# bouncycastle\n-dontwarn javax.naming.**\n\n# protobuf-java\n-dontnote com.google.protobuf.Android\n-dontnote com.google.protobuf.ByteBufferWriter\n-dontnote com.google.protobuf.GeneratedMessageLite$SerializedForm\n-dontnote com.google.protobuf.UnsafeUtil\n\n# Guava\n-dontwarn sun.misc.Unsafe\n-dontwarn java.lang.ClassValue\n-dontwarn com.google.errorprone.annotations.**\n-dontnote com.google.common.reflect.**\n-dontnote com.google.common.util.concurrent.MoreExecutors\n-dontnote com.google.common.hash.Striped64,com.google.common.hash.Striped64$Cell\n-dontnote com.google.common.cache.Striped64,com.google.common.cache.Striped64$Cell\n-dontnote com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper\n\n# OkHttp\n-dontwarn okhttp3.internal.platform.ConscryptPlatform\n-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement\n-dontnote okhttp3.internal.platform.ConscryptPlatform\n-dontnote okhttp3.internal.platform.AndroidPlatform,okhttp3.internal.platform.AndroidPlatform$CloseGuard\n-dontnote okhttp3.internal.platform.Android10Platform\n-dontnote okhttp3.internal.platform.Platform\n\n# Moshi\n-dontnote com.squareup.moshi.**\n\n# logback-android\n-dontwarn javax.mail.**\n-dontnote ch.qos.logback.core.android.AndroidContextUtil\n"
  },
  {
    "path": "wallet/res/anim/slide_in_bottom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:interpolator=\"@android:interpolator/decelerate_quad\">\n\n    <translate\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromYDelta=\"100%\"\n        android:toYDelta=\"0%\" />\n    <alpha\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromAlpha=\"0.0\"\n        android:toAlpha=\"1.0\" />\n</set>\n"
  },
  {
    "path": "wallet/res/anim/slide_in_left.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:interpolator=\"@android:interpolator/decelerate_quad\">\n\n    <translate\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromXDelta=\"-100%\"\n        android:toXDelta=\"0%\" />\n    <alpha\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromAlpha=\"0.0\"\n        android:toAlpha=\"1.0\" />\n</set>\n"
  },
  {
    "path": "wallet/res/anim/slide_in_right.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:interpolator=\"@android:interpolator/decelerate_quad\">\n\n    <translate\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromXDelta=\"100%\"\n        android:toXDelta=\"0%\" />\n    <alpha\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromAlpha=\"0.0\"\n        android:toAlpha=\"1.0\" />\n</set>\n"
  },
  {
    "path": "wallet/res/anim/slide_in_top.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:interpolator=\"@android:interpolator/decelerate_quad\">\n\n    <translate\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromYDelta=\"-100%\"\n        android:toYDelta=\"0%\" />\n    <alpha\n        android:duration=\"@android:integer/config_longAnimTime\"\n        android:fromAlpha=\"0.0\"\n        android:toAlpha=\"1.0\" />\n</set>\n"
  },
  {
    "path": "wallet/res/anim/transaction_layout_anim.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layoutAnimation\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:animation=\"@anim/slide_in_bottom\" />\n"
  },
  {
    "path": "wallet/res/animator/fade_in_drawable.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<objectAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:duration=\"@android:integer/config_mediumAnimTime\"\n    android:interpolator=\"@android:interpolator/decelerate_quad\"\n    android:propertyName=\"alpha\"\n    android:valueFrom=\"0\"\n    android:valueTo=\"255\"\n    android:valueType=\"intType\" />\n"
  },
  {
    "path": "wallet/res/animator/fade_in_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<objectAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:duration=\"@android:integer/config_mediumAnimTime\"\n    android:interpolator=\"@android:interpolator/decelerate_quad\"\n    android:propertyName=\"alpha\"\n    android:valueFrom=\"0\"\n    android:valueTo=\"1\"\n    android:valueType=\"floatType\" />\n"
  },
  {
    "path": "wallet/res/animator/fade_out_drawable.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<objectAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:duration=\"@android:integer/config_shortAnimTime\"\n    android:interpolator=\"@android:interpolator/accelerate_quad\"\n    android:propertyName=\"alpha\"\n    android:valueFrom=\"255\"\n    android:valueTo=\"0\"\n    android:valueType=\"intType\" />\n"
  },
  {
    "path": "wallet/res/color/bg_list_card.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:state_selected=\"true\" android:color=\"@color/bg_level2\" />\n    <item android:color=\"@android:color/transparent\" />\n</selector>\n"
  },
  {
    "path": "wallet/res/color/bg_list_card_transaction.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:state_selected=\"true\" android:color=\"@color/bg_level3\" />\n    <item android:color=\"@color/bg_level2\" />\n</selector>\n"
  },
  {
    "path": "wallet/res/color/fg_on_dark_bg_network.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:state_enabled=\"false\" android:color=\"@color/fg_on_dark_bg_network_insignificant\" />\n    <item android:color=\"@color/fg_on_dark_bg_network_significant\" />\n</selector>\n"
  },
  {
    "path": "wallet/res/drawable/action_mode_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <gradient\n        android:angle=\"90\"\n        android:endColor=\"#c60\"\n        android:startColor=\"#b50\" />\n</shape>\n"
  },
  {
    "path": "wallet/res/drawable/appwidget_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"rectangle\">\n\n    <corners android:radius=\"4dp\" />\n    <solid android:color=\"@color/bg_level1_darkdefault\" />\n</shape>\n"
  },
  {
    "path": "wallet/res/drawable/background_splash.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:opacity=\"opaque\">\n\n    <item\n        android:drawable=\"@color/bg_level0\" />\n    <item\n        android:gravity=\"center\"\n        android:height=\"64dp\"\n        android:width=\"64dp\">\n\n        <shape android:shape=\"oval\">\n            <gradient\n                android:angle=\"270\"\n                android:centerX=\"50%\"\n                android:centerY=\"50%\"\n                android:endColor=\"@color/appicon_gradient_end\"\n                android:startColor=\"@color/appicon_gradient_start\"\n                android:type=\"linear\" />\n        </shape>\n    </item>\n    <item\n        android:gravity=\"center\"\n        android:height=\"96dp\"\n        android:width=\"96dp\">\n\n        <bitmap\n            android:src=\"@drawable/ic_app_color\" />\n    </item>\n</layer-list>\n"
  },
  {
    "path": "wallet/res/drawable/divider_currency.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <size\n        android:height=\"1dp\"\n        android:width=\"@dimen/divider_currency_padding\" />\n    <solid\n        android:color=\"#0000\" />\n</shape>\n"
  },
  {
    "path": "wallet/res/drawable/divider_dark.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <size\n        android:height=\"1dp\"\n        android:width=\"1dp\" />\n    <solid\n        android:color=\"#4fff\" />\n</shape>\n"
  },
  {
    "path": "wallet/res/drawable/divider_field.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <size\n        android:height=\"1dp\"\n        android:width=\"8dp\" />\n    <solid android:color=\"#0000\" />\n</shape>\n"
  },
  {
    "path": "wallet/res/drawable/floating_action_button_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:width=\"42dp\"\n        android:height=\"42dp\"\n        android:gravity=\"center\">\n        <shape android:shape=\"oval\" />\n    </item>\n</layer-list>\n"
  },
  {
    "path": "wallet/res/drawable/shortcut_request_coins.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:targetApi=\"25\">\n\n    <item\n        android:bottom=\"@dimen/shortcut_padding\"\n        android:left=\"@dimen/shortcut_padding\"\n        android:right=\"@dimen/shortcut_padding\"\n        android:top=\"@dimen/shortcut_padding\">\n        <shape android:shape=\"oval\">\n            <size\n                android:height=\"@dimen/shortcut_size\"\n                android:width=\"@dimen/shortcut_size\" />\n            <solid android:color=\"@color/bg_shortcut\" />\n        </shape>\n    </item>\n    <item\n        android:drawable=\"@drawable/ic_send_flipped_shortcut_24dp\"\n        android:gravity=\"center\"\n        android:height=\"@dimen/shortcut_icon_size\"\n        android:width=\"@dimen/shortcut_icon_size\" />\n</layer-list>\n"
  },
  {
    "path": "wallet/res/drawable/shortcut_scan_qr.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:targetApi=\"25\">\n\n    <item\n        android:bottom=\"@dimen/shortcut_padding\"\n        android:left=\"@dimen/shortcut_padding\"\n        android:right=\"@dimen/shortcut_padding\"\n        android:top=\"@dimen/shortcut_padding\">\n        <shape android:shape=\"oval\">\n            <size\n                android:height=\"@dimen/shortcut_size\"\n                android:width=\"@dimen/shortcut_size\" />\n            <solid android:color=\"@color/bg_shortcut\" />\n        </shape>\n    </item>\n    <item\n        android:drawable=\"@drawable/ic_photo_camera_shortcut_24dp\"\n        android:gravity=\"center\"\n        android:height=\"@dimen/shortcut_icon_size\"\n        android:width=\"@dimen/shortcut_icon_size\" />\n</layer-list>\n"
  },
  {
    "path": "wallet/res/drawable/shortcut_send_coins.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:targetApi=\"25\">\n\n    <item\n        android:bottom=\"@dimen/shortcut_padding\"\n        android:left=\"@dimen/shortcut_padding\"\n        android:right=\"@dimen/shortcut_padding\"\n        android:top=\"@dimen/shortcut_padding\">\n        <shape android:shape=\"oval\">\n            <size\n                android:height=\"@dimen/shortcut_size\"\n                android:width=\"@dimen/shortcut_size\" />\n            <solid android:color=\"@color/bg_shortcut\" />\n        </shape>\n    </item>\n    <item\n        android:drawable=\"@drawable/ic_send_shortcut_24dp\"\n        android:gravity=\"center\"\n        android:height=\"@dimen/shortcut_icon_size\"\n        android:width=\"@dimen/shortcut_icon_size\" />\n</layer-list>\n"
  },
  {
    "path": "wallet/res/drawable/stat_notify_peers.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<level-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:drawable=\"@drawable/stat_notify_0_peers_24dp\"\n        android:maxLevel=\"0\" />\n    <item\n        android:drawable=\"@drawable/stat_notify_1_peers_24dp\"\n        android:maxLevel=\"1\" />\n    <item\n        android:drawable=\"@drawable/stat_notify_2_peers_24dp\"\n        android:maxLevel=\"2\" />\n    <item\n        android:drawable=\"@drawable/stat_notify_3_peers_24dp\"\n        android:maxLevel=\"3\" />\n    <item\n        android:drawable=\"@drawable/stat_notify_4_peers_24dp\"\n        android:maxLevel=\"4\" />\n</level-list>\n"
  },
  {
    "path": "wallet/res/drawable/transactions_list_filter_received.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:drawable=\"@drawable/ic_filter_list_white_24dp\" />\n    <item\n        android:gravity=\"bottom|right\"\n        android:height=\"9dp\"\n        android:width=\"9dp\">\n        <shape android:shape=\"oval\">\n            <solid android:color=\"@color/fg_value_positive\" />\n        </shape>\n    </item>\n</layer-list>\n"
  },
  {
    "path": "wallet/res/drawable/transactions_list_filter_sent.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:drawable=\"@drawable/ic_filter_list_white_24dp\" />\n    <item\n        android:gravity=\"bottom|right\"\n        android:height=\"9dp\"\n        android:width=\"9dp\">\n        <shape android:shape=\"oval\">\n            <solid android:color=\"@color/fg_value_negative\" />\n        </shape>\n    </item>\n</layer-list>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_clear_grey600_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FF757575\"\n        android:pathData=\"M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_content_copy_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_create_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_delete_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_filter_list_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M10,18h4v-2h-4v2zM3,6v2h18L21,6L3,6zM6,13h12v-2L6,11v2z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_local_offer_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M21.41,11.58l-9,-9C12.05,2.22 11.55,2 11,2H4c-1.1,0 -2,0.9 -2,2v7c0,0.55 0.22,1.05 0.59,1.42l9,9c0.36,0.36 0.86,0.58 1.41,0.58 0.55,0 1.05,-0.22 1.41,-0.59l7,-7c0.37,-0.36 0.59,-0.86 0.59,-1.41 0,-0.55 -0.23,-1.06 -0.59,-1.42zM5.5,7C4.67,7 4,6.33 4,5.5S4.67,4 5.5,4 7,4.67 7,5.5 6.33,7 5.5,7z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_open_in_browser_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_photo_camera_shortcut_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"@color/fg_shortcut\"\n        android:pathData=\"M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0\" />\n    <path\n        android:fillColor=\"@color/fg_shortcut\"\n        android:pathData=\"M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_photo_camera_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0\" />\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_qrcode_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_refresh_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_search_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_send_flipped_shortcut_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <group\n        android:pivotX=\"12.0\"\n        android:scaleX=\"-1\">\n        <path\n            android:fillColor=\"@color/fg_shortcut\"\n            android:pathData=\"M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z\" />\n    </group>\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_send_flipped_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <group\n        android:pivotX=\"12.0\"\n        android:scaleX=\"-1\">\n        <path\n            android:fillColor=\"#FFFFFFFF\"\n            android:pathData=\"M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z\" />\n    </group>\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_send_shortcut_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"@color/fg_shortcut\"\n        android:pathData=\"M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_send_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_share_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_sync_white_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\">\n\n    <path\n        android:fillColor=\"#FFFFFFFF\"\n        android:pathData=\"M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01 -0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8 -8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97 0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/ic_warning_grey600_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24.0\"\n    android:viewportHeight=\"24.0\">\n\n    <path\n        android:fillColor=\"#FF757575\"\n        android:pathData=\"M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/stat_notify_0_peers_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:height=\"24dp\"\n    android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\"\n    android:width=\"24dp\">\n\n    <group\n        android:pivotX=\"12\"\n        android:pivotY=\"12\"\n        android:rotation=\"270\">\n        <path\n            android:fillColor=\"#6FFF\"\n            android:pathData=\"M3,21H6V18H3M8,21H11V14H8M13,21H16V9H13M18,21H21V3H18V21Z\" />\n    </group>\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/stat_notify_1_peers_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:height=\"24dp\"\n    android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\"\n    android:width=\"24dp\">\n\n    <group\n        android:pivotX=\"12\"\n        android:pivotY=\"12\"\n        android:rotation=\"270\">\n        <path\n            android:fillColor=\"#6FFF\"\n            android:pathData=\"M8,21H11V14H8M13,21H16V9H13M18,21H21V3H18V21Z\" />\n        <path\n            android:fillColor=\"#FFFF\"\n            android:pathData=\"M3,21H6V18H3Z\" />\n    </group>\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/stat_notify_2_peers_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:height=\"24dp\"\n    android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\"\n    android:width=\"24dp\">\n\n    <group\n        android:pivotX=\"12\"\n        android:pivotY=\"12\"\n        android:rotation=\"270\">\n        <path\n            android:fillColor=\"#6FFF\"\n            android:pathData=\"M13,21H16V9H13M18,21H21V3H18V21Z\" />\n        <path\n            android:fillColor=\"#FFFF\"\n            android:pathData=\"M3,21H6V18H3M8,21H11V14H8Z\" />\n    </group>\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/stat_notify_3_peers_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:height=\"24dp\"\n    android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\"\n    android:width=\"24dp\">\n\n    <group\n        android:pivotX=\"12\"\n        android:pivotY=\"12\"\n        android:rotation=\"270\">\n        <path\n            android:fillColor=\"#6FFF\"\n            android:pathData=\"M18,21H21V3H18V21Z\" />\n        <path\n            android:fillColor=\"#FFFF\"\n            android:pathData=\"M3,21H6V18H3M8,21H11V14H8M13,21H16V9H13Z\" />\n    </group>\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/stat_notify_4_peers_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:height=\"24dp\"\n    android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\"\n    android:width=\"24dp\">\n\n    <group\n        android:pivotX=\"12\"\n        android:pivotY=\"12\"\n        android:rotation=\"270\">\n        <path\n            android:fillColor=\"#FFFF\"\n            android:pathData=\"M3,21H6V18H3M8,21H11V14H8M13,21H16V9H13M18,21H21V3H18V21Z\" />\n    </group>\n</vector>\n"
  },
  {
    "path": "wallet/res/drawable-anydpi/stat_notify_bluetooth_24dp.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:height=\"24dp\"\n    android:width=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\">\n\n    <path\n        android:fillColor=\"#000\"\n        android:pathData=\"M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z\" />\n</vector>\n"
  },
  {
    "path": "wallet/res/layout/address_book_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level0\"\n    android:orientation=\"vertical\">\n\n    <de.schildbach.wallet.util.ViewPagerTabs\n        android:id=\"@+id/address_book_pager_tabs\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:paddingBottom=\"4dp\"\n        android:paddingTop=\"4dp\" />\n\n    <androidx.viewpager2.widget.ViewPager2\n        android:id=\"@+id/address_book_pager\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:layout_gravity=\"bottom|center_horizontal\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/address_book_row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.cardview.widget.CardView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginTop=\"@dimen/card_margin_vertical\"\n    android:layout_marginLeft=\"@dimen/card_margin_horizontal\"\n    android:layout_marginRight=\"@dimen/card_margin_horizontal\"\n    app:cardCornerRadius=\"16dp\"\n    app:cardBackgroundColor=\"@color/bg_list_card\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:focusable=\"true\"\n        android:foreground=\"?android:attr/selectableItemBackground\">\n\n        <de.schildbach.wallet.util.FillGapsLinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n            android:orientation=\"horizontal\">\n\n            <LinearLayout\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/address_book_row_label\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"0px\"\n                    android:layout_weight=\"1\"\n                    android:ellipsize=\"end\"\n                    android:singleLine=\"false\"\n                    android:textStyle=\"bold\" />\n\n                <TextView\n                    android:id=\"@+id/address_book_row_message\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:textSize=\"@dimen/font_size_small\"\n                    android:visibility=\"gone\" />\n            </LinearLayout>\n\n            <TextView\n                android:id=\"@+id/address_book_row_address\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_cram\"\n                android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_cram\"\n                android:layout_gravity=\"right\" />\n        </de.schildbach.wallet.util.FillGapsLinearLayout>\n\n        <Toolbar\n            android:id=\"@+id/address_book_row_context_bar\"\n            android:theme=\"@style/My.ThemeOverlay.ContextBar\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:visibility=\"gone\" />\n    </LinearLayout>\n</androidx.cardview.widget.CardView>\n"
  },
  {
    "path": "wallet/res/layout/backup_wallet_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:text=\"@string/backup_wallet_dialog_message\" />\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\">\n\n            <EditText\n                android:id=\"@+id/backup_wallet_dialog_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"3\"\n                android:hint=\"@string/import_export_keys_dialog_password\"\n                android:inputType=\"textPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/backup_wallet_dialog_password_strength\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"2\"\n                android:textStyle=\"bold\"\n                android:visibility=\"invisible\" />\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\">\n\n            <EditText\n                android:id=\"@+id/backup_wallet_dialog_password_again\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"3\"\n                android:hint=\"@string/backup_wallet_dialog_password_again\"\n                android:inputType=\"textPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/backup_wallet_dialog_password_mismatch\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"2\"\n                android:text=\"@string/backup_wallet_dialog_password_mismatch\"\n                android:textColor=\"@color/fg_error\"\n                android:textStyle=\"bold\"\n                android:visibility=\"invisible\" />\n        </LinearLayout>\n\n        <CheckBox\n            android:id=\"@+id/backup_wallet_dialog_show\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:checked=\"false\"\n            android:text=\"@string/import_export_keys_dialog_show\" />\n\n        <TextView\n            android:id=\"@+id/backup_wallet_dialog_warning_encrypted\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n            android:text=\"@string/backup_wallet_dialog_warning_encrypted\"\n            android:textColor=\"@color/fg_less_significant\"\n            android:textSize=\"@dimen/font_size_small\" />\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/bitmap_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ImageView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/bitmap_dialog_image\"\n    android:layout_width=\"@dimen/bitmap_dialog_qr_size\"\n    android:layout_height=\"@dimen/bitmap_dialog_qr_size\"\n    android:background=\"@color/bg_qr_enlarged\"\n    android:contentDescription=\"@string/qr_code\"\n    android:keepScreenOn=\"true\"\n    android:padding=\"6dp\"\n    android:scaleType=\"fitXY\" />\n"
  },
  {
    "path": "wallet/res/layout/block_list_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ViewAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/block_list_group\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\">\n\n    <ProgressBar\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\" />\n\n    <androidx.recyclerview.widget.RecyclerView\n        android:id=\"@+id/block_list\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:scrollbars=\"vertical\" />\n</ViewAnimator>\n"
  },
  {
    "path": "wallet/res/layout/block_row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.cardview.widget.CardView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginTop=\"@dimen/card_margin_vertical\"\n    android:layout_marginLeft=\"@dimen/card_margin_horizontal\"\n    android:layout_marginRight=\"@dimen/card_margin_horizontal\"\n    app:cardCornerRadius=\"16dp\"\n    app:cardBackgroundColor=\"@color/bg_list_card\">\n\n    <LinearLayout\n        android:id=\"@+id/block_list_row_transactions_group\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:focusable=\"true\"\n        android:foreground=\"?android:attr/selectableItemBackground\">\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_cram\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n            android:baselineAligned=\"true\"\n            android:orientation=\"horizontal\">\n\n            <TextView\n                android:id=\"@+id/block_list_row_height\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textStyle=\"bold\" />\n\n            <TextView\n                android:id=\"@+id/block_list_row_time\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\" />\n        </LinearLayout>\n\n        <TextView\n            android:id=\"@+id/block_list_row_hash\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\" />\n\n        <Toolbar\n            android:id=\"@+id/block_list_row_context_bar\"\n            android:theme=\"@style/My.ThemeOverlay.ContextBar\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:visibility=\"gone\" />\n    </LinearLayout>\n</androidx.cardview.widget.CardView>\n"
  },
  {
    "path": "wallet/res/layout/block_row_transaction.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n    android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n    android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_cram\"\n    android:baselineAligned=\"true\"\n    android:orientation=\"horizontal\">\n\n    <TextView\n        android:id=\"@+id/block_row_transaction_fromto\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_cram\" />\n\n    <TextView\n        android:id=\"@+id/block_row_transaction_address\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"left\"\n        android:layout_weight=\"1\"\n        android:gravity=\"left\"\n        android:singleLine=\"true\" />\n\n    <de.schildbach.wallet.ui.CurrencyTextView\n        android:id=\"@+id/block_row_transaction_value\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_cram\"\n        android:layout_gravity=\"right\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/dialog_title.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:background=\"@color/bg_dialog_title\"\n    android:orientation=\"horizontal\"\n    android:paddingBottom=\"8dp\"\n    android:paddingLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n    android:paddingRight=\"@dimen/list_entry_padding_horizontal_lax\"\n    android:paddingTop=\"16dp\">\n\n    <ImageView\n        android:id=\"@android:id/icon\"\n        android:layout_width=\"28dp\"\n        android:layout_height=\"28dp\"\n        android:layout_gravity=\"bottom\"\n        android:layout_marginRight=\"6dp\"\n        android:visibility=\"gone\"\n        tools:ignore=\"ContentDescription\" />\n\n    <TextView\n        android:id=\"@android:id/title\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"bottom\"\n        android:layout_marginBottom=\"1dp\"\n        android:layout_weight=\"1\"\n        android:textAllCaps=\"true\"\n        android:textSize=\"@dimen/font_size_small\"\n        android:textStyle=\"bold\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/edit_address_book_entry_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"8dp\"\n            android:labelFor=\"@id/edit_address_book_entry_address\"\n            android:text=\"@string/edit_address_book_entry_dialog_address_label\"\n            android:textSize=\"@dimen/font_size_small\"\n            android:textStyle=\"bold\" />\n\n        <EditText\n            android:id=\"@+id/edit_address_book_entry_address\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"8dp\"\n            android:layout_marginTop=\"8dp\"\n            android:enabled=\"false\"\n            android:focusable=\"false\"\n            android:imeOptions=\"flagNoExtractUi\"\n            android:inputType=\"none\"\n            android:textColor=\"@color/fg_less_significant\" />\n\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"8dp\"\n            android:labelFor=\"@id/edit_address_book_entry_label\"\n            android:text=\"@string/edit_address_book_entry_dialog_label_label\"\n            android:textSize=\"@dimen/font_size_small\"\n            android:textStyle=\"bold\" />\n\n        <EditText\n            android:id=\"@+id/edit_address_book_entry_label\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"8dp\"\n            android:layout_marginTop=\"8dp\"\n            android:imeOptions=\"flagNoExtractUi\"\n            android:inputType=\"textPersonName\"\n            android:singleLine=\"true\">\n\n            <requestFocus />\n        </EditText>\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/encrypt_keys_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:text=\"@string/encrypt_keys_dialog_message\" />\n\n        <LinearLayout\n            android:id=\"@+id/encrypt_keys_dialog_password_old_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\">\n\n            <EditText\n                android:id=\"@+id/encrypt_keys_dialog_password_old\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:hint=\"@string/encrypt_keys_dialog_password_old\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:inputType=\"numberPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/encrypt_keys_dialog_bad_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/private_key_bad_password\"\n                android:textColor=\"@color/fg_error\"\n                android:textStyle=\"bold\"\n                android:visibility=\"invisible\" />\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\">\n\n            <EditText\n                android:id=\"@+id/encrypt_keys_dialog_password_new\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:hint=\"@string/private_key_password\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:inputType=\"numberPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/encrypt_keys_dialog_password_strength\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textStyle=\"bold\" />\n        </LinearLayout>\n\n        <CheckBox\n            android:id=\"@+id/encrypt_keys_dialog_show\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:text=\"@string/encrypt_keys_dialog_show\" />\n\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n            android:text=\"@string/encrypt_keys_dialog_warning\"\n            android:textColor=\"@color/fg_less_significant\"\n            android:textSize=\"@dimen/font_size_small\" />\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/exchange_rate_row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.cardview.widget.CardView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginTop=\"@dimen/card_margin_vertical\"\n    android:layout_marginLeft=\"@dimen/card_margin_horizontal\"\n    android:layout_marginRight=\"@dimen/card_margin_horizontal\"\n    app:cardCornerRadius=\"16dp\"\n    app:cardBackgroundColor=\"@color/bg_list_card\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:focusable=\"true\"\n        android:foreground=\"?android:attr/selectableItemBackground\">\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:paddingTop=\"@dimen/list_entry_padding_vertical\"\n            android:paddingLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:paddingRight=\"@dimen/list_entry_padding_horizontal\"\n            android:baselineAligned=\"true\"\n            android:orientation=\"horizontal\">\n\n            <FrameLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"0\">\n\n                <TextView\n                    android:id=\"@+id/exchange_rate_row_currency_code\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:singleLine=\"true\"\n                    android:textStyle=\"bold\" />\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n                    android:maxWidth=\"128sp\"\n                    android:singleLine=\"true\"\n                    android:text=\"@string/exchange_rates_fragment_default\"\n                    android:visibility=\"invisible\" />\n            </FrameLayout>\n\n            <TextView\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n                android:layout_weight=\"1\"\n                android:singleLine=\"true\"\n                android:text=\"@string/exchange_rates_fragment_rate\" />\n\n            <de.schildbach.wallet.ui.CurrencyTextView\n                android:id=\"@+id/exchange_rate_row_rate\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"right\"\n                android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\" />\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:paddingBottom=\"@dimen/list_entry_padding_vertical\"\n            android:paddingLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:paddingRight=\"@dimen/list_entry_padding_horizontal\"\n            android:baselineAligned=\"true\"\n            android:orientation=\"horizontal\">\n\n            <TextView\n                android:id=\"@+id/exchange_rate_row_default\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n                android:layout_weight=\"0\"\n                android:maxWidth=\"128sp\"\n                android:singleLine=\"true\"\n                android:text=\"@string/exchange_rates_fragment_default\"\n                android:visibility=\"visible\" />\n\n            <TextView\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n                android:layout_weight=\"1\"\n                android:singleLine=\"true\"\n                android:text=\"@string/exchange_rates_fragment_balance\"\n                android:textColor=\"@color/fg_less_significant\" />\n\n            <de.schildbach.wallet.ui.CurrencyTextView\n                android:id=\"@+id/exchange_rate_row_balance\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"right\"\n                android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n                android:textColor=\"@color/fg_less_significant\" />\n        </LinearLayout>\n\n        <Toolbar\n            android:id=\"@+id/exchange_rate_row_context_bar\"\n            android:theme=\"@style/My.ThemeOverlay.ContextBar\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:visibility=\"gone\" />\n    </LinearLayout>\n</androidx.cardview.widget.CardView>\n"
  },
  {
    "path": "wallet/res/layout/exchange_rates_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.fragment.app.FragmentContainerView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/exchange_rates_fragment\"\n    android:name=\"de.schildbach.wallet.ui.ExchangeRatesFragment\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\" />\n"
  },
  {
    "path": "wallet/res/layout/exchange_rates_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ViewAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/exchange_rates_list_group\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\">\n\n    <ProgressBar\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\" />\n\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:gravity=\"center\"\n        android:text=\"@string/exchange_rates_fragment_empty_search\"\n        android:textColor=\"@color/fg_less_significant\"\n        android:textSize=\"@dimen/font_size_small\" />\n\n    <androidx.recyclerview.widget.RecyclerView\n        android:id=\"@+id/exchange_rates_list\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:scrollbars=\"vertical\" />\n</ViewAnimator>\n"
  },
  {
    "path": "wallet/res/layout/extended_public_key_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<FrameLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:background=\"@color/bg_level0\">\n\n    <ImageView\n        android:id=\"@+id/extended_public_key_dialog_image\"\n        android:layout_width=\"@dimen/bitmap_dialog_qr_size\"\n        android:layout_height=\"@dimen/bitmap_dialog_qr_size\"\n        android:layout_gravity=\"center_horizontal\"\n        android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n        android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n        android:background=\"@color/bg_qr_enlarged\"\n        android:contentDescription=\"@string/qr_code\"\n        android:keepScreenOn=\"true\"\n        android:padding=\"6dp\"\n        android:scaleType=\"fitXY\" />\n</FrameLayout>\n"
  },
  {
    "path": "wallet/res/layout/maintenance_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:id=\"@+id/maintenance_dialog_message\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\" />\n\n        <LinearLayout\n            android:id=\"@+id/maintenance_dialog_password_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\">\n\n            <EditText\n                android:id=\"@+id/maintenance_dialog_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:hint=\"@string/private_key_password\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:inputType=\"numberPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/maintenance_dialog_bad_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/private_key_bad_password\"\n                android:textColor=\"@color/fg_error\"\n                android:textStyle=\"bold\"\n                android:visibility=\"invisible\" />\n        </LinearLayout>\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/network_monitor_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level0\"\n    android:orientation=\"vertical\">\n\n    <de.schildbach.wallet.util.ViewPagerTabs\n        android:id=\"@+id/network_monitor_pager_tabs\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:paddingBottom=\"4dp\"\n        android:paddingTop=\"4dp\" />\n\n    <androidx.viewpager2.widget.ViewPager2\n        android:id=\"@+id/network_monitor_pager\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:layout_gravity=\"bottom|center_horizontal\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/peer_list_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ViewAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/peer_list_group\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\">\n\n    <ProgressBar\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\" />\n\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:layout_gravity=\"center\"\n        android:gravity=\"center\"\n        android:text=\"@string/peer_list_fragment_empty\"\n        android:textSize=\"@dimen/font_size_small\" />\n\n    <androidx.recyclerview.widget.RecyclerView\n        android:id=\"@+id/peer_list\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:scrollbars=\"vertical\" />\n</ViewAnimator>\n"
  },
  {
    "path": "wallet/res/layout/peer_list_row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.cardview.widget.CardView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginTop=\"@dimen/card_margin_vertical\"\n    android:layout_marginLeft=\"@dimen/card_margin_horizontal\"\n    android:layout_marginRight=\"@dimen/card_margin_horizontal\"\n    app:cardCornerRadius=\"16dp\"\n    app:cardBackgroundColor=\"@color/bg_list_card\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:focusable=\"true\"\n        android:foreground=\"?android:attr/selectableItemBackground\">\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n            android:orientation=\"horizontal\">\n\n            <TextView\n                android:id=\"@+id/peer_list_row_host\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textStyle=\"bold\" />\n\n            <TextView\n                android:id=\"@+id/peer_list_row_ping\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\" />\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n            android:orientation=\"horizontal\">\n\n            <TextView\n                android:id=\"@+id/peer_list_row_version\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\" />\n\n            <TextView\n                android:id=\"@+id/peer_list_row_height\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\" />\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n            android:orientation=\"horizontal\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/peer_list_row_protocol\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\" />\n\n                <TextView\n                    android:id=\"@+id/peer_list_row_services\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\" />\n            </LinearLayout>\n\n            <ImageView\n                android:id=\"@+id/peer_list_row_icon\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"bottom\" />\n        </LinearLayout>\n    </LinearLayout>\n</androidx.cardview.widget.CardView>\n"
  },
  {
    "path": "wallet/res/layout/raise_fee_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:id=\"@+id/raise_fee_dialog_message\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\" />\n\n        <LinearLayout\n            android:id=\"@+id/raise_fee_dialog_password_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\">\n\n            <EditText\n                android:id=\"@+id/raise_fee_dialog_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:hint=\"@string/private_key_password\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:inputType=\"numberPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/raise_fee_dialog_bad_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/private_key_bad_password\"\n                android:textColor=\"@color/fg_error\"\n                android:textStyle=\"bold\"\n                android:visibility=\"invisible\" />\n        </LinearLayout>\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/report_issue_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:id=\"@+id/report_issue_dialog_message\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\" />\n\n        <EditText\n            android:id=\"@+id/report_issue_dialog_description\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:hint=\"@string/report_issue_dialog_description\"\n            android:inputType=\"text|textCapSentences|textMultiLine\" />\n\n        <CheckBox\n            android:id=\"@+id/report_issue_dialog_collect_device_info\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:checked=\"true\"\n            android:text=\"@string/report_issue_dialog_collect_device_info\" />\n\n        <CheckBox\n            android:id=\"@+id/report_issue_dialog_collect_application_log\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:checked=\"true\"\n            android:text=\"@string/report_issue_dialog_collect_application_log\" />\n\n        <CheckBox\n            android:id=\"@+id/report_issue_dialog_collect_wallet_dump\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:checked=\"true\"\n            android:text=\"@string/report_issue_dialog_collect_wallet_dump\" />\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/request_coins_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <androidx.fragment.app.FragmentContainerView\n        android:id=\"@+id/request_coins_fragment\"\n        android:name=\"de.schildbach.wallet.ui.RequestCoinsFragment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\" />\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/request_coins_form_include.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:elevation=\"3dp\"\n    android:orientation=\"vertical\"\n    android:paddingLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n    android:paddingRight=\"@dimen/list_entry_padding_horizontal_lax\">\n\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"4dp\"\n        android:layout_marginTop=\"8dp\"\n        android:text=\"@string/request_coins_fragment_amount_label\"\n        android:textStyle=\"bold\" />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:divider=\"@drawable/divider_currency\"\n        android:orientation=\"horizontal\"\n        android:showDividers=\"middle\">\n\n        <de.schildbach.wallet.ui.CurrencyAmountView\n            android:id=\"@+id/request_coins_amount_btc\"\n            android:layout_width=\"0px\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\">\n\n            <EditText\n                android:id=\"@+id/request_coins_amount_btc_edittext\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:textSize=\"@dimen/font_size_large\"\n                tools:ignore=\"TextFields\" />\n        </de.schildbach.wallet.ui.CurrencyAmountView>\n\n        <de.schildbach.wallet.ui.CurrencyAmountView\n            android:id=\"@+id/request_coins_amount_local\"\n            android:layout_width=\"0px\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\">\n\n            <EditText\n                android:id=\"@+id/request_coins_amount_local_edittext\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:textSize=\"@dimen/font_size_large\"\n                tools:ignore=\"TextFields\" />\n        </de.schildbach.wallet.ui.CurrencyAmountView>\n    </LinearLayout>\n\n    <CheckBox\n        android:id=\"@+id/request_coins_accept_bluetooth_payment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"8dp\"\n        android:layout_marginTop=\"8dp\"\n        android:text=\"@string/request_coins_fragment_accept_bluetooth_payment\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/request_coins_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n\n    <include\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0px\"\n        android:layout_weight=\"1\"\n        layout=\"@layout/request_coins_form_include\" />\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:background=\"@color/bg_level0\"\n        android:baselineAligned=\"false\"\n        android:orientation=\"horizontal\"\n        android:paddingBottom=\"@dimen/list_entry_padding_vertical_lax\"\n        android:paddingLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:paddingRight=\"@dimen/list_entry_padding_horizontal\"\n        android:paddingTop=\"@dimen/list_entry_padding_vertical_lax\">\n\n        <LinearLayout\n            android:layout_width=\"0px\"\n            android:layout_height=\"match_parent\"\n            android:layout_gravity=\"left\"\n            android:layout_weight=\"1\"\n            android:orientation=\"vertical\">\n\n            <TextView\n                android:id=\"@+id/request_coins_fragment_initiate_request\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"0px\"\n                android:layout_gravity=\"top\"\n                android:layout_weight=\"1\" />\n        </LinearLayout>\n\n        <androidx.cardview.widget.CardView\n            android:id=\"@+id/request_coins_qr_card\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:elevation=\"2dp\"\n            android:foreground=\"?android:attr/selectableItemBackground\">\n\n            <ImageView\n                android:id=\"@+id/request_coins_qr\"\n                android:layout_width=\"@dimen/request_coins_qr_size\"\n                android:layout_height=\"@dimen/request_coins_qr_size\"\n                android:layout_gravity=\"center\"\n                android:contentDescription=\"@string/action_show_qr\"\n                android:padding=\"4dp\"\n                android:scaleType=\"fitXY\" />\n        </androidx.cardview.widget.CardView>\n    </LinearLayout>\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/restore_wallet_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:id=\"@+id/restore_wallet_dialog_message\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\" />\n\n        <EditText\n            android:id=\"@+id/restore_wallet_dialog_password\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:hint=\"@string/import_export_keys_dialog_password\"\n            android:inputType=\"textPassword\"\n            android:singleLine=\"true\" />\n\n        <CheckBox\n            android:id=\"@+id/restore_wallet_dialog_show\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:checked=\"false\"\n            android:text=\"@string/import_export_keys_dialog_show\" />\n\n        <TextView\n            android:id=\"@+id/restore_wallet_dialog_replace_warning\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n            android:text=\"@string/restore_wallet_dialog_replace_warning\"\n            android:textColor=\"@color/fg_less_significant\"\n            android:textSize=\"@dimen/font_size_small\" />\n\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n            android:text=\"@string/import_keys_dialog_warning\"\n            android:textColor=\"@color/fg_less_significant\"\n            android:textSize=\"@dimen/font_size_small\" />\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/row_separator.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TextView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@android:id/text1\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:background=\"@color/bg_level0\"\n    android:paddingBottom=\"3dp\"\n    android:paddingLeft=\"@dimen/list_entry_padding_horizontal\"\n    android:paddingRight=\"@dimen/list_entry_padding_horizontal\"\n    android:paddingTop=\"3dp\"\n    android:textColor=\"@color/fg_less_significant\"\n    android:textSize=\"@dimen/font_size_small\"\n    android:textStyle=\"bold\" />\n"
  },
  {
    "path": "wallet/res/layout/scan_activity.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<merge\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <TextureView\n        android:id=\"@+id/scan_activity_preview\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:keepScreenOn=\"true\" />\n\n    <de.schildbach.wallet.ui.scan.ScannerView\n        android:id=\"@+id/scan_activity_mask\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\" />\n</merge>\n"
  },
  {
    "path": "wallet/res/layout/send_coins_address_row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:paddingTop=\"@dimen/list_entry_padding_vertical\"\n    android:paddingBottom=\"@dimen/list_entry_padding_vertical\"\n    android:paddingLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n    android:paddingRight=\"@dimen/list_entry_padding_horizontal_lax\"\n    android:orientation=\"horizontal\">\n\n    <TextView\n        android:id=\"@+id/send_coins_address_row_label\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:ellipsize=\"end\"\n        android:singleLine=\"false\"\n        android:textStyle=\"bold\" />\n\n    <TextView\n        android:id=\"@+id/send_coins_address_row_address\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/send_coins_buttons_include.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    style=\"?android:attr/buttonBarStyle\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:measureWithLargestChild=\"true\"\n    android:orientation=\"horizontal\">\n\n    <Button\n        android:id=\"@+id/send_coins_cancel\"\n        style=\"?android:attr/buttonBarButtonStyle\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:background=\"?android:attr/selectableItemBackground\"\n        android:maxLines=\"2\"\n        android:textAllCaps=\"false\"\n        android:textSize=\"@dimen/font_size_small\" />\n\n    <Button\n        android:id=\"@+id/send_coins_go\"\n        style=\"?android:attr/buttonBarButtonStyle\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:background=\"?android:attr/selectableItemBackground\"\n        android:maxLines=\"2\"\n        android:textAllCaps=\"false\"\n        android:textSize=\"@dimen/font_size_small\"\n        android:textStyle=\"bold\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/send_coins_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <androidx.fragment.app.FragmentContainerView\n        android:id=\"@+id/send_coins_fragment\"\n        android:name=\"de.schildbach.wallet.ui.send.SendCoinsFragment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\" />\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/send_coins_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:divider=\"?android:attr/dividerHorizontal\"\n    android:dividerPadding=\"0dp\"\n    android:orientation=\"vertical\"\n    android:showDividers=\"middle\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0px\"\n        android:layout_weight=\"1\"\n        android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"vertical\">\n\n        <LinearLayout\n            android:id=\"@+id/send_coins_payee_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"8dp\"\n            android:orientation=\"vertical\">\n\n            <TextView\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:labelFor=\"@id/send_coins_payee_name\"\n                android:text=\"@string/send_coins_fragment_receiving_address_label\"\n                android:textSize=\"@dimen/font_size_small\"\n                android:textStyle=\"bold\" />\n\n            <TextView\n                android:id=\"@+id/send_coins_payee_name\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"8dp\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/send_coins_payee_verified_by\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:singleLine=\"true\"\n                android:textColor=\"@color/fg_less_significant\"\n                android:textSize=\"@dimen/font_size_small\" />\n\n            <AutoCompleteTextView\n                android:id=\"@+id/send_coins_receiving_address\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:completionThreshold=\"1\"\n                android:hint=\"@string/send_coins_fragment_receiving_address_hint\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:singleLine=\"true\" />\n\n            <LinearLayout\n                android:id=\"@+id/send_coins_receiving_static\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"6dp\"\n                android:orientation=\"horizontal\"\n                android:visibility=\"gone\">\n\n                <TextView\n                    android:id=\"@+id/send_coins_receiving_static_label\"\n                    android:layout_width=\"0px\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_gravity=\"left\"\n                    android:layout_weight=\"1\"\n                    android:ellipsize=\"end\"\n                    android:maxLines=\"3\"\n                    android:singleLine=\"false\"\n                    android:textStyle=\"bold\" />\n\n                <TextView\n                    android:id=\"@+id/send_coins_receiving_static_address\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\" />\n            </LinearLayout>\n        </LinearLayout>\n\n        <LinearLayout\n            android:id=\"@+id/send_coins_amount_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"8dp\"\n            android:orientation=\"vertical\">\n\n            <TextView\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"@string/send_coins_fragment_amount_label\"\n                android:textSize=\"@dimen/font_size_small\"\n                android:textStyle=\"bold\" />\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:divider=\"@drawable/divider_currency\"\n                android:orientation=\"horizontal\"\n                android:showDividers=\"middle\">\n\n                <de.schildbach.wallet.ui.CurrencyAmountView\n                    android:id=\"@+id/send_coins_amount_btc\"\n                    android:layout_width=\"0px\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_weight=\"1\">\n\n                    <EditText\n                        android:id=\"@+id/send_coins_amount_btc_edittext\"\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"wrap_content\"\n                        android:imeOptions=\"flagNoExtractUi\"\n                        android:textSize=\"@dimen/font_size_large\"\n                        tools:ignore=\"TextFields\" />\n                </de.schildbach.wallet.ui.CurrencyAmountView>\n\n                <de.schildbach.wallet.ui.CurrencyAmountView\n                    android:id=\"@+id/send_coins_amount_local\"\n                    android:layout_width=\"0px\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_weight=\"1\">\n\n                    <EditText\n                        android:id=\"@+id/send_coins_amount_local_edittext\"\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"wrap_content\"\n                        android:imeOptions=\"flagNoExtractUi\"\n                        android:textSize=\"@dimen/font_size_large\"\n                        tools:ignore=\"TextFields\" />\n                </de.schildbach.wallet.ui.CurrencyAmountView>\n            </LinearLayout>\n        </LinearLayout>\n\n        <CheckBox\n            android:id=\"@+id/send_coins_direct_payment_enable\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"8dp\"\n            android:text=\"@string/send_coins_fragment_direct_payment_enable\" />\n\n        <Space\n            android:layout_width=\"0px\"\n            android:layout_height=\"0px\"\n            android:layout_weight=\"1\" />\n\n        <TextView\n            android:id=\"@+id/send_coins_hint\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:textSize=\"@dimen/font_size_small\" />\n\n        <LinearLayout\n            android:id=\"@+id/send_coins_private_key_password_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\"\n            android:visibility=\"gone\">\n\n            <EditText\n                android:id=\"@+id/send_coins_private_key_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:hint=\"@string/private_key_password\"\n                android:imeOptions=\"flagNoExtractUi\"\n                android:inputType=\"numberPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/send_coins_private_key_bad_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/private_key_bad_password\"\n                android:textColor=\"@color/fg_error\"\n                android:textStyle=\"bold\"\n                android:visibility=\"invisible\" />\n        </LinearLayout>\n\n        <TextView\n            android:id=\"@+id/send_coins_direct_payment_message\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:visibility=\"gone\" />\n\n        <include layout=\"@layout/transaction_row\" />\n    </LinearLayout>\n\n    <include layout=\"@layout/send_coins_buttons_include\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/sending_addresses_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ViewAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/sending_addresses_list_group\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\">\n\n    <ProgressBar\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\" />\n\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:layout_gravity=\"center\"\n        android:gravity=\"center\"\n        android:text=\"@string/address_book_empty_text\"\n        android:textSize=\"@dimen/font_size_small\" />\n\n    <androidx.recyclerview.widget.RecyclerView\n        android:id=\"@+id/sending_addresses_list\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:scrollbars=\"vertical\" />\n</ViewAnimator>\n"
  },
  {
    "path": "wallet/res/layout/spinner_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TextView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@android:id/text1\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:paddingLeft=\"4dp\"\n    android:paddingRight=\"4dp\" />\n"
  },
  {
    "path": "wallet/res/layout/sweep_wallet_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\"\n    android:fillViewport=\"true\"\n    android:scrollbars=\"none\">\n\n    <androidx.fragment.app.FragmentContainerView\n        android:id=\"@+id/sweep_wallet_fragment\"\n        android:name=\"de.schildbach.wallet.ui.send.SweepWalletFragment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\" />\n</ScrollView>\n"
  },
  {
    "path": "wallet/res/layout/sweep_wallet_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:divider=\"?android:attr/dividerHorizontal\"\n    android:dividerPadding=\"0dp\"\n    android:orientation=\"vertical\"\n    android:showDividers=\"middle\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0px\"\n        android:layout_weight=\"1\"\n        android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"12dp\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginTop=\"8dp\"\n            android:text=\"@string/sweep_wallet_fragment_intro\" />\n\n        <TextView\n            android:id=\"@+id/sweep_wallet_fragment_message\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"12dp\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginTop=\"0dp\"\n            android:textStyle=\"bold\" />\n\n        <LinearLayout\n            android:id=\"@+id/sweep_wallet_fragment_password_group\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"12dp\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n            android:layout_marginTop=\"0dp\"\n            android:divider=\"@drawable/divider_field\"\n            android:orientation=\"horizontal\"\n            android:showDividers=\"middle\"\n            android:visibility=\"gone\">\n\n            <EditText\n                android:id=\"@+id/sweep_wallet_fragment_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:hint=\"@string/sweep_wallet_fragment_password\"\n                android:inputType=\"textPassword\"\n                android:singleLine=\"true\" />\n\n            <TextView\n                android:id=\"@+id/sweep_wallet_fragment_bad_password\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/sweep_wallet_fragment_bad_password\"\n                android:textColor=\"@color/fg_error\"\n                android:textStyle=\"bold\"\n                android:visibility=\"invisible\" />\n        </LinearLayout>\n\n        <TextView\n            android:id=\"@+id/sweep_wallet_fragment_balance\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginTop=\"8dp\" />\n\n        <Space\n            android:layout_width=\"0px\"\n            android:layout_height=\"0px\"\n            android:layout_weight=\"1\" />\n\n        <TextView\n            android:id=\"@+id/sweep_wallet_fragment_hint\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"16dp\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n            android:layout_marginTop=\"8dp\"\n            android:text=\"@string/sweep_wallet_fragment_hint\"\n            android:textColor=\"@color/fg_less_significant\"\n            android:textSize=\"@dimen/font_size_small\" />\n\n        <include layout=\"@layout/transaction_row\" />\n    </LinearLayout>\n\n    <include layout=\"@layout/send_coins_buttons_include\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/transaction_row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/transaction_row\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\">\n\n    <LinearLayout\n        android:id=\"@+id/transaction_row_extend_time\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:baselineAligned=\"true\"\n        android:orientation=\"horizontal\"\n        android:visibility=\"gone\">\n\n        <de.schildbach.wallet.ui.CircularProgressView\n            android:id=\"@+id/transaction_row_confidence_circular_selected\"\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"@dimen/symbol_size_normal\"\n            android:layout_marginRight=\"8dp\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_confidence_textual_selected\"\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginRight=\"8dp\"\n            android:ellipsize=\"none\"\n            android:gravity=\"center_horizontal|top\"\n            android:singleLine=\"true\"\n            android:textStyle=\"bold\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_full_time\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\" />\n    </LinearLayout>\n\n    <LinearLayout\n        android:id=\"@+id/transaction_row_extend_confidence_message_selected\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"horizontal\">\n\n        <Space\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"@dimen/symbol_size_normal\"\n            android:layout_marginRight=\"8dp\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_confidence_message_selected\"\n            android:layout_width=\"0px\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"left|top\"\n            android:layout_weight=\"1\"\n            android:textColor=\"@color/fg_insignificant\"\n            android:textSize=\"@dimen/font_size_small\" />\n    </LinearLayout>\n\n    <LinearLayout\n        android:id=\"@+id/transaction_row_extend_address\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n        android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:baselineAligned=\"true\"\n        android:orientation=\"horizontal\">\n\n        <de.schildbach.wallet.ui.CircularProgressView\n            android:id=\"@+id/transaction_row_confidence_circular\"\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"@dimen/symbol_size_normal\"\n            android:layout_marginRight=\"8dp\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_confidence_textual\"\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginRight=\"8dp\"\n            android:ellipsize=\"none\"\n            android:gravity=\"center_horizontal|top\"\n            android:singleLine=\"true\"\n            android:textStyle=\"bold\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_time\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginRight=\"10dp\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_address\"\n            android:layout_width=\"0px\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"left|top\"\n            android:layout_weight=\"1\"\n            android:singleLine=\"true\"\n            android:textStyle=\"bold\" />\n\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"right|top\"\n            android:layout_marginLeft=\"8dp\"\n            android:orientation=\"vertical\">\n\n            <de.schildbach.wallet.ui.CurrencyTextView\n                android:id=\"@+id/transaction_row_value\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"right\" />\n\n            <de.schildbach.wallet.ui.CurrencyTextView\n                android:id=\"@+id/transaction_row_fiat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"right\"\n                android:textColor=\"@color/fg_insignificant\"\n                android:visibility=\"gone\" />\n        </LinearLayout>\n    </LinearLayout>\n\n    <LinearLayout\n        android:id=\"@+id/transaction_row_extend_confidence_message\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"horizontal\">\n\n        <Space\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"@dimen/symbol_size_normal\"\n            android:layout_marginRight=\"8dp\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_confidence_message\"\n            android:layout_width=\"0px\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"left|top\"\n            android:layout_weight=\"1\"\n            android:textColor=\"@color/fg_insignificant\"\n            android:textSize=\"@dimen/font_size_small\" />\n    </LinearLayout>\n\n    <LinearLayout\n        android:id=\"@+id/transaction_row_extend_fee\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"horizontal\">\n\n        <Space\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"@dimen/symbol_size_normal\"\n            android:layout_marginRight=\"8dp\" />\n\n        <TextView\n            android:layout_width=\"0px\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:text=\"@string/transaction_row_fee\"\n            android:textColor=\"@color/fg_insignificant\" />\n\n        <de.schildbach.wallet.ui.CurrencyTextView\n            android:id=\"@+id/transaction_row_fee\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"right|top\"\n            android:layout_marginLeft=\"8dp\"\n            android:textColor=\"@color/fg_insignificant\" />\n    </LinearLayout>\n\n    <LinearLayout\n        android:id=\"@+id/transaction_row_extend_message\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:orientation=\"horizontal\">\n\n        <Space\n            android:layout_width=\"@dimen/symbol_size_normal\"\n            android:layout_height=\"@dimen/symbol_size_normal\"\n            android:layout_marginRight=\"8dp\" />\n\n        <TextView\n            android:id=\"@+id/transaction_row_message\"\n            android:layout_width=\"0px\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"left|top\"\n            android:layout_weight=\"1\"\n            android:singleLine=\"true\"\n            android:textColor=\"@color/fg_error\"\n            android:textSize=\"@dimen/font_size_small\" />\n    </LinearLayout>\n\n    <Toolbar\n        android:id=\"@+id/transaction_row_context_bar\"\n        android:theme=\"@style/My.ThemeOverlay.ContextBar\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:visibility=\"gone\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/transaction_row_card.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.cardview.widget.CardView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginBottom=\"@dimen/card_margin_vertical\"\n    android:layout_marginLeft=\"@dimen/card_margin_horizontal\"\n    android:layout_marginRight=\"@dimen/card_margin_horizontal\"\n    android:layout_marginTop=\"@dimen/card_margin_vertical\"\n    android:elevation=\"1dp\"\n    android:focusable=\"true\"\n    android:foreground=\"?android:attr/selectableItemBackground\"\n    app:cardElevation=\"0px\"\n    app:cardBackgroundColor=\"@color/bg_list_card_transaction\"\n    app:cardPreventCornerOverlap=\"false\"\n    app:cardUseCompatPadding=\"false\">\n\n    <include layout=\"@layout/transaction_row\" />\n</androidx.cardview.widget.CardView>\n"
  },
  {
    "path": "wallet/res/layout/transaction_row_warning.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TextView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/transaction_row_warning_message\"\n    style=\"@style/My.Widget.Button.Borderless\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:drawablePadding=\"@dimen/list_entry_padding_vertical_lax\"\n    android:gravity=\"left|center_vertical\"\n    android:paddingBottom=\"@dimen/list_entry_padding_vertical_lax\"\n    android:paddingLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n    android:paddingRight=\"@dimen/list_entry_padding_horizontal_lax\"\n    android:paddingTop=\"@dimen/list_entry_padding_vertical_lax\"\n    android:textAllCaps=\"false\"\n    android:textColor=\"@color/fg_less_significant\"\n    android:textSize=\"@dimen/font_size_small\" />\n"
  },
  {
    "path": "wallet/res/layout/wallet_actions_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    style=\"?android:attr/actionBarSplitStyle\"\n    android:theme=\"@android:style/ThemeOverlay.Material.Dark.ActionBar\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:measureWithLargestChild=\"true\"\n    android:orientation=\"horizontal\">\n\n    <Button\n        android:id=\"@+id/wallet_actions_request\"\n        style=\"@style/My.Widget.ActionButton\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:drawableLeft=\"@drawable/ic_send_flipped_white_24dp\"\n        android:text=\"@string/button_request_coins\" />\n\n    <Space\n        android:layout_width=\"0px\"\n        android:layout_height=\"0px\"\n        android:layout_weight=\"1\" />\n\n    <Button\n        android:id=\"@+id/wallet_actions_send\"\n        style=\"@style/My.Widget.ActionButton\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:drawableRight=\"@drawable/ic_send_white_24dp\"\n        android:text=\"@string/button_send_coins\" />\n\n    <ImageButton\n        android:id=\"@+id/wallet_actions_send_qr\"\n        style=\"@style/My.Widget.ActionButton.Floating\"\n        android:layout_width=\"42dp\"\n        android:layout_height=\"42dp\"\n        android:layout_gravity=\"center_vertical\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_cram\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_cram\"\n        android:backgroundTint=\"@color/fg_on_dark_bg_network_significant\"\n        android:contentDescription=\"@string/button_scan\"\n        android:src=\"@drawable/ic_photo_camera_white_24dp\"\n        android:tint=\"@color/bg_action_bar\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_activity_bottom_include.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:background=\"@color/bg_action_bar\"\n    android:divider=\"@drawable/divider_dark\"\n    android:animateLayoutChanges=\"true\"\n    android:orientation=\"vertical\"\n    android:showDividers=\"middle\">\n\n    <androidx.fragment.app.FragmentContainerView\n        android:id=\"@+id/wallet_actions_fragment\"\n        android:name=\"de.schildbach.wallet.ui.WalletActionsFragment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\" />\n\n    <androidx.fragment.app.FragmentContainerView\n        android:id=\"@+id/wallet_disclaimer_fragment\"\n        android:name=\"de.schildbach.wallet.ui.WalletDisclaimerFragment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_activity_onepane_horizontal.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0px\"\n        android:layout_weight=\"1\"\n        android:baselineAligned=\"false\"\n        android:orientation=\"horizontal\">\n\n        <FrameLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"match_parent\"\n            android:layout_gravity=\"top\"\n            android:background=\"@color/bg_level2\"\n            android:elevation=\"8dp\">\n\n            <androidx.fragment.app.FragmentContainerView\n                android:id=\"@+id/wallet_address_fragment\"\n                android:name=\"de.schildbach.wallet.ui.WalletAddressFragment\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n                android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n                android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n                android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n                android:tag=\"slide_in_left\" />\n        </FrameLayout>\n\n        <androidx.coordinatorlayout.widget.CoordinatorLayout\n            android:layout_width=\"0px\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\">\n\n            <FrameLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"top\"\n                android:background=\"@color/bg_level2\"\n                android:elevation=\"3dp\"\n                android:tag=\"levitate\">\n\n                <androidx.fragment.app.FragmentContainerView\n                    android:id=\"@+id/wallet_balance_fragment\"\n                    android:name=\"de.schildbach.wallet.ui.WalletBalanceFragment\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:tag=\"slide_in_top\" />\n            </FrameLayout>\n\n            <androidx.fragment.app.FragmentContainerView\n                android:id=\"@+id/wallet_transactions_fragment\"\n                android:name=\"de.schildbach.wallet.ui.WalletTransactionsFragment\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\"\n                android:tag=\"slide_in_bottom\" />\n        </androidx.coordinatorlayout.widget.CoordinatorLayout>\n    </LinearLayout>\n\n    <include layout=\"@layout/wallet_activity_bottom_include\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_activity_onepane_vertical.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n\n    <androidx.coordinatorlayout.widget.CoordinatorLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0px\"\n        android:layout_weight=\"1\">\n\n        <de.schildbach.wallet.util.FillGapsLinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"top\"\n            android:background=\"@color/bg_level2\"\n            android:baselineAligned=\"false\"\n            android:elevation=\"3dp\"\n            android:orientation=\"horizontal\"\n            android:tag=\"levitate\">\n\n            <androidx.fragment.app.FragmentContainerView\n                android:id=\"@+id/wallet_balance_fragment\"\n                android:name=\"de.schildbach.wallet.ui.WalletBalanceFragment\"\n                android:layout_width=\"0px\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:tag=\"slide_in_left\" />\n\n            <androidx.fragment.app.FragmentContainerView\n                android:id=\"@+id/wallet_address_fragment\"\n                android:name=\"de.schildbach.wallet.ui.WalletAddressFragment\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n                android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n                android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n                android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n                android:tag=\"slide_in_right\" />\n        </de.schildbach.wallet.util.FillGapsLinearLayout>\n\n        <androidx.fragment.app.FragmentContainerView\n            android:id=\"@+id/wallet_transactions_fragment\"\n            android:name=\"de.schildbach.wallet.ui.WalletTransactionsFragment\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:tag=\"slide_in_bottom\" />\n    </androidx.coordinatorlayout.widget.CoordinatorLayout>\n\n    <include layout=\"@layout/wallet_activity_bottom_include\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_activity_twopanes.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/wallet_main_twopanes\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0px\"\n        android:layout_weight=\"1\"\n        android:orientation=\"horizontal\"\n        android:baselineAligned=\"false\">\n\n        <FrameLayout\n            android:id=\"@+id/wallet_main_twopanes_exchange_rates\"\n            android:layout_width=\"@dimen/exchange_rate_pane_width\"\n            android:layout_height=\"match_parent\"\n            android:elevation=\"8dp\"\n            android:outlineProvider=\"bounds\">\n\n            <androidx.fragment.app.FragmentContainerView\n                android:id=\"@+id/exchange_rates_fragment\"\n                android:name=\"de.schildbach.wallet.ui.ExchangeRatesFragment\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\" />\n        </FrameLayout>\n\n        <LinearLayout\n            android:layout_width=\"0px\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:orientation=\"vertical\">\n\n            <de.schildbach.wallet.util.FillGapsLinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"@color/bg_level2\"\n                android:baselineAligned=\"false\"\n                android:elevation=\"3dp\"\n                android:orientation=\"horizontal\">\n\n                <androidx.fragment.app.FragmentContainerView\n                    android:id=\"@+id/wallet_balance_fragment\"\n                    android:name=\"de.schildbach.wallet.ui.WalletBalanceFragment\"\n                    android:layout_width=\"0px\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_weight=\"1\" />\n\n                <androidx.fragment.app.FragmentContainerView\n                    android:id=\"@+id/wallet_address_fragment\"\n                    android:name=\"de.schildbach.wallet.ui.WalletAddressFragment\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n                    android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n                    android:layout_marginRight=\"@dimen/list_entry_padding_horizontal\"\n                    android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\" />\n            </de.schildbach.wallet.util.FillGapsLinearLayout>\n\n            <androidx.fragment.app.FragmentContainerView\n                android:id=\"@+id/wallet_transactions_fragment\"\n                android:name=\"de.schildbach.wallet.ui.WalletTransactionsFragment\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"0px\"\n                android:layout_gravity=\"bottom|center_horizontal\"\n                android:layout_weight=\"1\" />\n        </LinearLayout>\n    </LinearLayout>\n\n    <include layout=\"@layout/wallet_activity_bottom_include\" />\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_address_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/wallet_address_dialog_group\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\">\n\n    <ImageView\n        android:id=\"@+id/wallet_address_dialog_image\"\n        android:layout_width=\"@dimen/bitmap_dialog_qr_size\"\n        android:layout_height=\"@dimen/bitmap_dialog_qr_size\"\n        android:background=\"@color/bg_qr_enlarged\"\n        android:contentDescription=\"@string/qr_code\"\n        android:keepScreenOn=\"true\"\n        android:padding=\"6dp\"\n        android:scaleType=\"fitXY\" />\n\n    <LinearLayout\n        android:id=\"@+id/wallet_address_dialog_label_button\"\n        style=\"?android:attr/borderlessButtonStyle\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n\n        <TextView\n            android:id=\"@+id/wallet_address_dialog_label\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical_lax\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical_lax\"\n            android:gravity=\"left\"\n            android:textSize=\"@dimen/font_size_normal\" />\n\n        <TextView\n            android:id=\"@+id/wallet_address_dialog_hint\"\n            android:layout_width=\"@dimen/bitmap_dialog_qr_size\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_horizontal\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:paddingLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:paddingRight=\"@dimen/list_entry_padding_horizontal\"\n            android:text=\"@string/wallet_address_dialog_fragment_hint\"\n            android:textColor=\"@color/fg_less_significant\"\n            android:textSize=\"@dimen/font_size_tiny\" />\n    </LinearLayout>\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_address_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.cardview.widget.CardView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:id=\"@+id/bitcoin_address_qr_card\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:elevation=\"2dp\"\n    android:foreground=\"?android:attr/selectableItemBackground\"\n    app:cardBackgroundColor=\"@color/bg_qr_thumb\">\n\n    <ImageView\n        android:id=\"@+id/bitcoin_address_qr\"\n        android:layout_width=\"@dimen/wallet_address_qr_size\"\n        android:layout_height=\"@dimen/wallet_address_qr_size\"\n        android:layout_gravity=\"center\"\n        android:contentDescription=\"@string/action_show_qr\"\n        android:focusable=\"true\"\n        android:padding=\"4dp\"\n        android:scaleType=\"fitXY\" />\n</androidx.cardview.widget.CardView>\n"
  },
  {
    "path": "wallet/res/layout/wallet_addresses_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ViewAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/wallet_addresses_list_group\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level1\">\n\n    <ProgressBar\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\" />\n\n    <androidx.recyclerview.widget.RecyclerView\n        android:id=\"@+id/wallet_addresses_list\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:scrollbars=\"vertical\" />\n</ViewAnimator>\n"
  },
  {
    "path": "wallet/res/layout/wallet_balance_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<FrameLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <LinearLayout\n        android:id=\"@+id/wallet_balance\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:gravity=\"center\"\n        android:orientation=\"vertical\"\n        android:foreground=\"?android:attr/selectableItemBackground\">\n\n        <de.schildbach.wallet.ui.CurrencyTextView\n            android:id=\"@+id/wallet_balance_btc\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:textSize=\"@dimen/font_size_huge\" />\n\n        <de.schildbach.wallet.ui.CurrencyTextView\n            android:id=\"@+id/wallet_balance_local\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:textSize=\"@dimen/font_size_small\" />\n\n        <TextView\n            android:id=\"@+id/wallet_balance_warning\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal\"\n            android:textColor=\"@color/fg_less_significant\"\n            android:textSize=\"@dimen/font_size_tiny\"\n            android:visibility=\"gone\" />\n    </LinearLayout>\n\n    <TextView\n        android:id=\"@+id/wallet_balance_progress\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:layout_marginLeft=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:layout_marginRight=\"@dimen/list_entry_padding_horizontal_lax\"\n        android:textColor=\"@color/fg_less_significant\"\n        android:textSize=\"@dimen/font_size_small\"\n        android:visibility=\"gone\" />\n</FrameLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_balance_widget_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/appwidget_background\"\n    android:orientation=\"horizontal\">\n\n    <ImageView\n        android:id=\"@+id/widget_app_icon\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"match_parent\"\n        android:layout_marginLeft=\"12dp\"\n        android:contentDescription=\"@string/app_name\"\n        android:src=\"@mipmap/ic_app_color_48dp\"\n        android:visibility=\"gone\" />\n\n    <LinearLayout\n        android:id=\"@+id/widget_button_balance\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"match_parent\"\n        android:layout_gravity=\"center\"\n        android:layout_weight=\"3\"\n        android:background=\"?android:attr/selectableItemBackgroundBorderless\"\n        android:animateLayoutChanges=\"true\"\n        android:focusable=\"true\"\n        android:gravity=\"left|center_vertical\"\n        android:orientation=\"vertical\">\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginLeft=\"12dp\"\n            android:orientation=\"horizontal\">\n\n            <ImageView\n                android:id=\"@+id/widget_wallet_prefix\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"center_vertical\"\n                android:tint=\"@color/fg_less_significant_darkdefault\"\n                android:tintMode=\"src_in\" />\n\n            <TextView\n                android:id=\"@+id/widget_wallet_balance_btc\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"4sp\"\n                android:ellipsize=\"none\"\n                android:fadingEdge=\"horizontal\"\n                android:fadingEdgeLength=\"12dp\"\n                android:singleLine=\"true\"\n                android:textColor=\"@color/fg_significant_darkdefault\"\n                android:textSize=\"@dimen/font_size_large\" />\n        </LinearLayout>\n\n        <TextView\n            android:id=\"@+id/widget_wallet_balance_local\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginLeft=\"12dp\"\n            android:ellipsize=\"none\"\n            android:fadingEdge=\"horizontal\"\n            android:fadingEdgeLength=\"12dp\"\n            android:singleLine=\"true\"\n            android:textColor=\"@color/fg_insignificant_darkdefault\"\n            android:textSize=\"@dimen/font_size_normal\" />\n    </LinearLayout>\n\n    <ImageButton\n        android:id=\"@+id/widget_button_request\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"match_parent\"\n        android:layout_weight=\"1\"\n        android:background=\"?android:attr/selectableItemBackgroundBorderless\"\n        android:contentDescription=\"@string/button_request_coins\"\n        android:src=\"@drawable/ic_send_flipped_white_24dp\"\n        android:tint=\"@color/fg_network_less_significant_darkdefault\" />\n\n    <ImageButton\n        android:id=\"@+id/widget_button_send\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"match_parent\"\n        android:layout_weight=\"1\"\n        android:background=\"?android:attr/selectableItemBackgroundBorderless\"\n        android:contentDescription=\"@string/button_send_coins\"\n        android:src=\"@drawable/ic_send_white_24dp\"\n        android:tint=\"@color/fg_network_less_significant_darkdefault\" />\n\n    <ImageButton\n        android:id=\"@+id/widget_button_send_qr\"\n        style=\"@style/My.Widget.ActionButton.Floating.DarkDefault\"\n        android:layout_width=\"0px\"\n        android:layout_height=\"match_parent\"\n        android:layout_weight=\"1\"\n        android:contentDescription=\"@string/button_scan\"\n        android:src=\"@drawable/ic_photo_camera_white_24dp\"\n        android:tint=\"@color/bg_level1_darkdefault\" />\n\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/layout/wallet_disclaimer_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TextView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:gravity=\"center\"\n    android:padding=\"4dp\"\n    android:textColor=\"@color/fg_on_dark_bg_network_significant\"\n    android:textSize=\"@dimen/font_size_tiny\" />\n"
  },
  {
    "path": "wallet/res/layout/wallet_transactions_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ViewAnimator\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/wallet_transactions_group\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/bg_level0\">\n\n    <TextView\n        android:id=\"@+id/wallet_transactions_empty\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:gravity=\"center\"\n        android:textSize=\"@dimen/font_size_small\" />\n\n    <androidx.recyclerview.widget.RecyclerView\n        android:id=\"@+id/wallet_transactions_list\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:clipToPadding=\"false\"\n        android:scrollbars=\"vertical\" />\n</ViewAnimator>\n"
  },
  {
    "path": "wallet/res/layout-land/request_coins_fragment.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:baselineAligned=\"false\"\n    android:orientation=\"horizontal\">\n\n    <include\n        android:layout_width=\"0px\"\n        android:layout_height=\"match_parent\"\n        android:layout_weight=\"1\"\n        layout=\"@layout/request_coins_form_include\" />\n\n    <LinearLayout\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@color/bg_level0\"\n        android:paddingBottom=\"@dimen/list_entry_padding_vertical\"\n        android:paddingLeft=\"@dimen/list_entry_padding_horizontal\"\n        android:paddingRight=\"@dimen/list_entry_padding_horizontal\"\n        android:paddingTop=\"@dimen/list_entry_padding_vertical\"\n        android:orientation=\"vertical\">\n\n        <androidx.cardview.widget.CardView\n            android:id=\"@+id/request_coins_qr_card\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_horizontal\"\n            android:layout_marginBottom=\"@dimen/list_entry_padding_vertical\"\n            android:layout_marginTop=\"@dimen/list_entry_padding_vertical\"\n            android:elevation=\"2dp\"\n            android:foreground=\"?android:attr/selectableItemBackground\">\n\n            <ImageView\n                android:id=\"@+id/request_coins_qr\"\n                android:layout_width=\"@dimen/request_coins_qr_size\"\n                android:layout_height=\"@dimen/request_coins_qr_size\"\n                android:contentDescription=\"@string/action_show_qr\"\n                android:padding=\"4dp\"\n                android:scaleType=\"fitXY\" />\n        </androidx.cardview.widget.CardView>\n\n        <TextView\n            android:id=\"@+id/request_coins_fragment_initiate_request\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"0px\"\n            android:layout_weight=\"1\" />\n    </LinearLayout>\n</LinearLayout>\n"
  },
  {
    "path": "wallet/res/menu/address_book_activity_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/sending_addresses_options_scan\"\n        android:icon=\"@drawable/ic_photo_camera_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/address_book_options_scan_title\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/blocks_context.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/blocks_context_browse\"\n        android:icon=\"@drawable/ic_open_in_browser_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/action_browse\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/exchange_rates_context.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/exchange_rates_context_set_as_default\"\n        android:title=\"@string/button_set_as_default\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/exchange_rates_fragment_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/exchange_rates_options_search\"\n        android:actionViewClass=\"android.widget.SearchView\"\n        android:icon=\"@drawable/ic_search_white_24dp\"\n        android:showAsAction=\"collapseActionView|ifRoom\"\n        android:title=\"@string/exchange_rates_options_search\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/request_coins_activity_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/request_coins_options_help\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/button_help\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/request_coins_fragment_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/request_coins_options_copy\"\n        android:enabled=\"false\"\n        android:icon=\"@drawable/ic_content_copy_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/button_copy\" />\n    <item\n        android:id=\"@+id/request_coins_options_share\"\n        android:enabled=\"false\"\n        android:icon=\"@drawable/ic_share_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/button_share\" />\n    <item\n        android:id=\"@+id/request_coins_options_local_app\"\n        android:enabled=\"false\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/request_coins_options_local_app_title\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/send_coins_activity_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/send_coins_options_help\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/button_help\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/send_coins_fragment_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/send_coins_options_scan\"\n        android:icon=\"@drawable/ic_photo_camera_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/button_scan\" />\n    <item\n        android:id=\"@+id/send_coins_options_fee_category\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/send_coins_options_fee_category\">\n        <menu>\n            <group android:checkableBehavior=\"single\">\n                <item\n                    android:id=\"@+id/send_coins_options_fee_category_economic\"\n                    android:title=\"@string/send_coins_options_fee_category_economic\" />\n                <item\n                    android:id=\"@+id/send_coins_options_fee_category_normal\"\n                    android:title=\"@string/send_coins_options_fee_category_normal\" />\n                <item\n                    android:id=\"@+id/send_coins_options_fee_category_priority\"\n                    android:title=\"@string/send_coins_options_fee_category_priority\" />\n            </group>\n        </menu>\n    </item>\n    <item\n        android:id=\"@+id/send_coins_options_empty\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/send_coins_options_empty\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/sending_addresses_context.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/sending_addresses_context_send\"\n        android:icon=\"@drawable/ic_send_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/address_book_context_send_title\"\n        android:titleCondensed=\"@string/button_send_coins\" />\n    <item\n        android:id=\"@+id/sending_addresses_context_edit\"\n        android:icon=\"@drawable/ic_create_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/address_book_context_edit_title\"\n        android:titleCondensed=\"@string/button_edit\" />\n    <item\n        android:id=\"@+id/sending_addresses_context_remove\"\n        android:icon=\"@drawable/ic_delete_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/address_book_context_remove_title\"\n        android:titleCondensed=\"@string/button_delete\" />\n    <item\n        android:id=\"@+id/sending_addresses_context_show_qr\"\n        android:icon=\"@drawable/ic_qrcode_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/action_show_qr\" />\n    <item\n        android:id=\"@+id/sending_addresses_context_copy_to_clipboard\"\n        android:icon=\"@drawable/ic_content_copy_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/address_book_context_copy_to_clipboard_title\"\n        android:titleCondensed=\"@string/button_copy\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/sweep_wallet_fragment_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/sweep_wallet_options_reload\"\n        android:icon=\"@drawable/ic_refresh_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/sweep_wallet_options_reload\" />\n    <item\n        android:id=\"@+id/sweep_wallet_options_scan\"\n        android:icon=\"@drawable/ic_photo_camera_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/button_scan\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/wallet_addresses_context.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/wallet_addresses_context_edit\"\n        android:icon=\"@drawable/ic_create_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/address_book_context_edit_title\"\n        android:titleCondensed=\"@string/button_edit\" />\n    <item\n        android:id=\"@+id/wallet_addresses_context_copy_to_clipboard\"\n        android:icon=\"@drawable/ic_content_copy_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/address_book_context_copy_to_clipboard_title\"\n        android:titleCondensed=\"@string/button_copy\" />\n    <item\n        android:id=\"@+id/wallet_addresses_context_show_qr\"\n        android:icon=\"@drawable/ic_qrcode_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/action_show_qr\" />\n    <item\n        android:id=\"@+id/wallet_addresses_context_browse\"\n        android:icon=\"@drawable/ic_open_in_browser_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/action_browse\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/wallet_balance_fragment_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/wallet_balance_options_donate\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/wallet_options_donate\"\n        android:visible=\"false\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/wallet_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/wallet_options_request\"\n        android:icon=\"@drawable/ic_send_flipped_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/request_coins_activity_title\"\n        android:titleCondensed=\"@string/button_request_coins\"\n        android:visible=\"@bool/wallet_actions_top\" />\n    <item\n        android:id=\"@+id/wallet_options_request_legacy\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/wallet_options_request_legacy\"\n        android:orderInCategory=\"998\"\n        android:visible=\"false\" />\n    <item\n        android:id=\"@+id/wallet_options_send\"\n        android:icon=\"@drawable/ic_send_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/send_coins_activity_title\"\n        android:titleCondensed=\"@string/button_send_coins\"\n        android:visible=\"@bool/wallet_actions_top\" />\n    <item\n        android:id=\"@+id/wallet_options_scan\"\n        android:icon=\"@drawable/ic_photo_camera_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/button_scan\"\n        android:visible=\"@bool/wallet_actions_top\" />\n    <item\n        android:id=\"@+id/wallet_options_address_book\"\n        android:icon=\"@drawable/ic_local_offer_white_24dp\"\n        android:showAsAction=\"ifRoom|withText\"\n        android:title=\"@string/address_book_activity_title\" />\n    <item\n        android:showAsAction=\"never\"\n        android:title=\"@string/wallet_options_safety_menu\">\n        <menu>\n            <item\n                android:id=\"@+id/wallet_options_safety\"\n                android:showAsAction=\"never\"\n                android:title=\"@string/wallet_options_safety\" />\n            <item\n                android:id=\"@+id/wallet_options_technical_notes\"\n                android:showAsAction=\"never\"\n                android:title=\"@string/wallet_options_technical_notes_title\" />\n            <item\n                android:id=\"@+id/wallet_options_backup_wallet\"\n                android:showAsAction=\"never\"\n                android:title=\"@string/export_keys_dialog_title\" />\n            <item\n                android:id=\"@+id/wallet_options_restore_wallet\"\n                android:showAsAction=\"never\"\n                android:title=\"@string/import_keys_dialog_title\" />\n            <item\n                android:id=\"@+id/wallet_options_encrypt_keys\"\n                android:showAsAction=\"never\"\n                android:title=\"@string/encrypt_keys_dialog_title\"\n                android:visible=\"false\" />\n        </menu>\n    </item>\n    <item\n        android:id=\"@+id/wallet_options_exchange_rates\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/exchange_rates_activity_title\" />\n    <item\n        android:id=\"@+id/wallet_options_sweep_wallet\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/sweep_wallet_activity_title\" />\n    <item\n        android:id=\"@+id/wallet_options_network_monitor\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/network_monitor_activity_title\" />\n    <item\n        android:id=\"@+id/wallet_options_preferences\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/preferences_activity_title\" />\n    <item\n        android:id=\"@+id/wallet_options_report_issue\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/preferences_report_issue_title\" />\n    <item\n        android:id=\"@+id/wallet_options_help\"\n        android:orderInCategory=\"999\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/button_help\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/wallet_transactions_context.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/wallet_transactions_context_edit_address\"\n        android:icon=\"@drawable/ic_create_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@null\"\n        android:titleCondensed=\"@string/button_edit\" />\n    <item\n        android:id=\"@+id/wallet_transactions_context_show_qr\"\n        android:icon=\"@drawable/ic_qrcode_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/action_show_qr\" />\n    <item\n        android:id=\"@+id/wallet_transactions_context_raise_fee\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/raise_fee_dialog_title\" />\n    <item\n        android:id=\"@+id/wallet_transactions_context_report_issue\"\n        android:showAsAction=\"never\"\n        android:title=\"@string/preferences_report_issue_title\"\n        android:visible=\"false\"/>\n    <item\n        android:id=\"@+id/wallet_transactions_context_browse\"\n        android:icon=\"@drawable/ic_open_in_browser_white_24dp\"\n        android:showAsAction=\"ifRoom\"\n        android:title=\"@string/action_browse\" />\n</menu>\n"
  },
  {
    "path": "wallet/res/menu/wallet_transactions_fragment_options.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n        android:id=\"@+id/wallet_transactions_options_filter\"\n        android:icon=\"@drawable/ic_filter_list_white_24dp\"\n        android:showAsAction=\"always|withText\"\n        android:title=\"@string/wallet_transactions_options_filter\">\n        <menu>\n            <group android:checkableBehavior=\"single\">\n                <item\n                    android:id=\"@+id/wallet_transactions_options_filter_all\"\n                    android:title=\"@string/wallet_transactions_options_filter_all\" />\n                <item\n                    android:id=\"@+id/wallet_transactions_options_filter_received\"\n                    android:title=\"@string/wallet_transactions_options_filter_received\" />\n                <item\n                    android:id=\"@+id/wallet_transactions_options_filter_sent\"\n                    android:title=\"@string/wallet_transactions_options_filter_sent\" />\n            </group>\n        </menu>\n    </item>\n</menu>\n"
  },
  {
    "path": "wallet/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- foreground -->\n    <color name=\"fg_significant\">#ff000000</color>\n    <color name=\"fg_significant_darkdefault\">#ffeceff4</color>\n    <color name=\"fg_less_significant\">#ff666666</color>\n    <color name=\"fg_less_significant_darkdefault\">#ffe5e9f0</color>\n    <color name=\"fg_insignificant\">#818181</color>\n    <color name=\"fg_insignificant_darkdefault\">#ffd8dee9</color>\n    <color name=\"fg_value_positive\">#ff009800</color>\n    <color name=\"fg_value_negative\">#ffb90000</color>\n    <color name=\"fg_error\">#ffff0000</color>\n    <color name=\"fg_on_dark_bg_network_significant\">#ffffffff</color>\n    <color name=\"fg_on_dark_bg_network_insignificant\">#ffa0a0a0</color>\n    <color name=\"fg_network_significant\">#ff000000</color>\n    <color name=\"fg_network_significant_darkdefault\">#ffeceff4</color>\n    <color name=\"fg_network_less_significant\">#cc000000</color>\n    <color name=\"fg_network_less_significant_darkdefault\">#cceceff4</color>\n    <color name=\"fg_shortcut\">#ffa0a0a0</color>\n\n    <!-- background -->\n    <color name=\"bg_level3\">#ffffffff</color>\n    <color name=\"bg_level2\">#ffdbd2a9</color>\n    <color name=\"bg_level1\">#ffeaeaf0</color>\n    <color name=\"bg_level1_darkdefault\">#ff1a1e24</color>\n    <color name=\"bg_level0\">#ffe0e0e8</color>\n    <color name=\"bg_action_bar\">#ff181c22</color>\n    <color name=\"bg_qr_thumb\">@android:color/white</color>\n    <color name=\"bg_qr_enlarged\">@android:color/white</color>\n    <color name=\"bg_dialog_title\">@android:color/transparent</color>\n    <color name=\"bg_shortcut\">#fff5f5f5</color>\n\n    <!-- password strength -->\n    <color name=\"fg_password_strength_weak\">#ff0000</color>\n    <color name=\"fg_password_strength_fair\">#c06000</color>\n    <color name=\"fg_password_strength_good\">#666666</color>\n    <color name=\"fg_password_strength_strong\">#00a000</color>\n\n    <!-- scanner -->\n    <color name=\"scan_mask\">#60000000</color>\n    <color name=\"scan_laser\">#cc0000</color>\n    <color name=\"scan_dot\">#ff6600</color>\n    <color name=\"scan_result_view\">#b0000000</color>\n    <color name=\"scan_result_dots\">#c099cc00</color>\n\n    <!-- app icon -->\n    <color name=\"appicon_gradient_start\">#bbbbbb</color>\n    <color name=\"appicon_gradient_end\">#999999</color>\n</resources>\n"
  },
  {
    "path": "wallet/res/values/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <dimen name=\"font_size_tiny\">11sp</dimen>\n    <dimen name=\"font_size_small\">14sp</dimen>\n    <dimen name=\"font_size_normal\">16sp</dimen>\n    <dimen name=\"font_size_large\">20sp</dimen>\n    <dimen name=\"font_size_huge\">30sp</dimen>\n    <dimen name=\"symbol_size_normal\">14sp</dimen>\n    <dimen name=\"list_entry_padding_horizontal_cram\">6dp</dimen>\n    <dimen name=\"list_entry_padding_horizontal\">12dp</dimen>\n    <dimen name=\"list_entry_padding_horizontal_lax\">18dp</dimen>\n    <dimen name=\"list_entry_padding_vertical_cram\">3dp</dimen>\n    <dimen name=\"list_entry_padding_vertical\">6dp</dimen>\n    <dimen name=\"list_entry_padding_vertical_lax\">10dp</dimen>\n    <dimen name=\"card_margin_horizontal\">8dp</dimen>\n    <dimen name=\"card_margin_vertical\">5dp</dimen>\n    <dimen name=\"card_elevation_selected\">3dp</dimen>\n    <dimen name=\"exchange_rate_pane_width\">352sp</dimen>\n    <dimen name=\"divider_currency_padding\">0dp</dimen>\n    <dimen name=\"wallet_address_qr_size\">72dp</dimen>\n    <dimen name=\"request_coins_qr_size\">128dp</dimen>\n    <dimen name=\"bitmap_dialog_qr_size\">224dp</dimen>\n    <dimen name=\"scan_laser_width\">4dp</dimen>\n    <dimen name=\"scan_dot_size\">8dp</dimen>\n    <dimen name=\"shortcut_padding\">2dp</dimen>\n    <dimen name=\"shortcut_size\">48dp</dimen>\n    <dimen name=\"shortcut_icon_size\">32dp</dimen>\n</resources>\n"
  },
  {
    "path": "wallet/res/values/drawables.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <drawable name=\"ic_app_color\">@mipmap/ic_app_color_48dp</drawable>\n</resources>\n"
  },
  {
    "path": "wallet/res/values/ids.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <item name=\"action_bar_fragment\" type=\"id\" />\n</resources>\n"
  },
  {
    "path": "wallet/res/values/layouts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <item name=\"wallet_content\" type=\"layout\">@layout/wallet_activity_onepane_vertical</item>\n    <item name=\"wallet_actions_top\" type=\"bool\">false</item>\n    <item name=\"show_local_balance\" type=\"bool\">false</item>\n    <bool name=\"show_wallet_address_dialog_hint\">false</bool>\n    <item name=\"address_book_two_panes\" type=\"bool\">false</item>\n    <item name=\"network_monitor_two_panes\" type=\"bool\">false</item>\n    <item name=\"show_exchange_rates_option\" type=\"bool\">true</item>\n</resources>\n"
  },
  {
    "path": "wallet/res/values/strings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"toast_wallet_reset\">Your wallet was reset!\\nIt will take some time to recover.</string>\n    <string name=\"toast_start_external_document_failed\">There is no web browser installed to open the external document.</string>\n    <string name=\"toast_start_storage_provider_selector_failed\">No suitable cloud storage provider is installed.\\nYou need something like \\\"Nextcloud\\\" or \\\"Google Drive\\\".</string>\n    <string name=\"wallet_disclaimer_fragment_remind_safety\">Use at your own risk. Read the &lt;u&gt;safety notes&lt;/u&gt;.</string>\n    <string name=\"wallet_disclaimer_fragment_remind_backup\">You need to &lt;u&gt;back up your wallet&lt;/u&gt;!</string>\n    <string name=\"blockchain_state_progress_hours\">%1$s, %2$d hours behind</string>\n    <string name=\"blockchain_state_progress_days\">%1$s, %2$d days behind</string>\n    <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d weeks behind</string>\n    <string name=\"blockchain_state_progress_months\">%1$s, %2$d months behind</string>\n    <string name=\"blockchain_state_progress_downloading\">Synchronizing with network</string>\n    <string name=\"blockchain_state_progress_stalled\">Synchronization stalled</string>\n    <string name=\"blockchain_state_progress_problem_storage\">Problem with synchronization: Low storage space</string>\n    <string name=\"blockchain_state_progress_problem_network\">Problem with synchronization: No network connectivity</string>\n    <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin address copied to clipboard</string>\n    <string name=\"wallet_address_dialog_fragment_hint\">To protect your privacy, your address will change once it receives a payment.</string>\n    <string name=\"wallet_balance_fragment_insecure_device\">Your device is old and insecure. Please only use for small amounts.</string>\n    <string name=\"wallet_balance_fragment_too_much\">This amount is quite high for carrying in your pocket. Please move some to a safer place.</string>\n    <string name=\"wallet_balance_fragment_replaying\">Balance is unavailable during replay.</string>\n    <string name=\"exchange_rates_activity_title\">Exchange rates</string>\n    <string name=\"exchange_rates_fragment_empty_search\">Could not find exchange rate.</string>\n    <string name=\"exchange_rates_fragment_default\">(default)</string>\n    <string name=\"exchange_rates_fragment_rate\">rate</string>\n    <string name=\"exchange_rates_fragment_balance\">balance</string>\n    <string name=\"exchange_rates_fragment_source\">Price from %s</string>\n    <string name=\"exchange_rates_options_search\">Search exchange rate</string>\n    <string name=\"wallet_transactions_fragment_empty_text_received\">No Bitcoins received so far.</string>\n    <string name=\"wallet_transactions_fragment_empty_text_sent\">No Bitcoins sent so far.</string>\n    <string name=\"wallet_transactions_fragment_empty_text_howto\">How to get Bitcoins?\\nTrade for traditional money,\\nsell goods or services or\\nearn by working.</string>\n    <string name=\"wallet_transactions_fragment_empty_text_warning\">Do not use this wallet for many transactions with lots of small outputs like for example mining pool or faucet payouts. These can slow down the wallet to a halt and make your coins inaccessible!</string>\n    <string name=\"wallet_transactions_fragment_empty_remind_backup\">Please back up your wallet\\nbefore receiving any Bitcoins!</string>\n    <string name=\"wallet_transactions_row_warning_backup\">Congratulations, you received your first payment! Have you already &lt;u&gt;backed up your wallet&lt;/u&gt;, to protect against loss?</string>\n    <string name=\"wallet_transactions_row_warning_storage_encryption\">Hint: to increase the safety of your wallet, you can &lt;u&gt;encrypt your device&lt;/u&gt;. This also protects data of other apps.</string>\n    <string name=\"wallet_transactions_row_warning_chain_forking\">The Bitcoin network is undergoing maintenance. You\\'re advised to not send or receive any coins until maintenance is finished. &lt;u&gt;More information.&lt;/u&gt;</string>\n    <string name=\"wallet_transactions_fragment_coinbase\">mined</string>\n    <string name=\"wallet_transactions_fragment_internal\">internal</string>\n    <string name=\"wallet_transactions_options_filter\">Filter</string>\n    <string name=\"wallet_transactions_options_filter_all\">All payments</string>\n    <string name=\"wallet_transactions_options_filter_received\">Received payments</string>\n    <string name=\"wallet_transactions_options_filter_sent\">Sent payments</string>\n    <string name=\"wallet_options_request_legacy\">Request to legacy address</string>\n    <string name=\"wallet_options_safety_menu\">Safety</string>\n    <string name=\"wallet_options_encrypt_keys_set\">Set spending PIN</string>\n    <string name=\"wallet_options_encrypt_keys_change\">Change spending PIN</string>\n    <string name=\"wallet_options_safety\">Safety notes</string>\n    <string name=\"wallet_options_technical_notes_title\">Technical notes</string>\n    <string name=\"wallet_options_donate\">Tip / donate</string>\n    <string name=\"wallet_donate_address_label\">Donation for Bitcoin Wallet</string>\n    <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Security alert</string>\n    <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Your device\\'s Bluetooth component is vulnerable. Your Bitcoins on this device are at risk, regardless of the app you\\'re using to store them!\\n\\nWe suggest to switch off Bluetooth immediately and check with your device manufacturer for an Android OS update that implements security patch level \\'%s\\' or later.</string>\n    <string name=\"wallet_low_storage_dialog_title\">Internal device storage space low!</string>\n    <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet uses internal storage for remembering transactions and blocks. If it runs out of space, it will stop working and your Bitcoins will be at risk!\\n\\nDo you want to open the Application Manager to uninstall unneeded apps?</string>\n    <string name=\"wallet_low_storage_dialog_button_apps\">Manage apps</string>\n    <string name=\"wallet_timeskew_dialog_title\">Check date &amp; time settings</string>\n    <string name=\"wallet_timeskew_dialog_msg\">Your device time is off by %d minutes. You probably cannot send or receive Bitcoins due to this problem.\\n\\nYou should check and if necessary correct your date, time and timezone settings.</string>\n    <string name=\"wallet_version_dialog_title\">A new version is available!</string>\n    <string name=\"wallet_version_dialog_msg\">This version fixes important bugs. For details, see the change log on %s.</string>\n    <string name=\"wallet_version_dialog_msg_deprecated\">If you don\\'t see an update, this probably means your version of Android isn\\'t supported any more.</string>\n    <string name=\"wallet_version_dialog_button_binary\">Download</string>\n    <string name=\"wallet_old_sdk_dialog_title\">Android version is out of date</string>\n    <string name=\"wallet_old_sdk_dialog_message\">Chances are that one of the next releases of Bitcoin Wallet will not support your device any more. In some cases, it can get difficult to spend coins on this device.\\n\\nUnless you know what you are doing, it is recommended to move out your coins soon.</string>\n    <string name=\"alert_dialogs_fragment_settings_failed_title\">Problem with opening of settings</string>\n    <string name=\"send_coins_activity_title\">Send Bitcoins</string>\n    <string name=\"send_coins_fragment_request_payment_request_progress\">Fetching signature from %s…</string>\n    <string name=\"send_coins_fragment_request_payment_request_failed_title\">Fetching payment request failed</string>\n    <string name=\"send_coins_fragment_request_payment_request_failed_message\">The payee (%1$s) is using an incompatible payment protocol (reason: %2$s).</string>\n    <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Wrong signature!</string>\n    <string name=\"send_coins_fragment_payee_verified_by\">verified by: %s</string>\n    <string name=\"send_coins_fragment_payee_verified_by_unknown\">unknown</string>\n    <string name=\"send_coins_fragment_receiving_address_label\">Pay to</string>\n    <string name=\"send_coins_fragment_receiving_address_hint\">type address or name</string>\n    <string name=\"send_coins_fragment_receiving_address_error\">Invalid Bitcoin address!</string>\n    <string name=\"send_coins_fragment_receiving_address_own\">You\\'re about to send to yourself!</string>\n    <string name=\"send_coins_fragment_receiving_address_complex\">complex\\naddress</string>\n    <string name=\"send_coins_fragment_pending\">(%s waiting for confirmation)</string>\n    <string name=\"send_coins_fragment_amount_label\">Amount to pay</string>\n    <string name=\"send_coins_fragment_hint_fee_economic\">An economic fee of %s will be paid. Important: Use \\'economic\\' only if you don\\'t care about confirmation time.</string>\n    <string name=\"send_coins_fragment_hint_fee\">A network fee of %s will be paid.</string>\n    <string name=\"send_coins_fragment_hint_fee_priority\">A priority fee of %s will be paid. If you care about low fees, use \\'priority\\' only if you need confirmation as soon as possible.</string>\n    <string name=\"send_coins_fragment_hint_dusty_send\">The amount is too small to send.</string>\n    <string name=\"send_coins_fragment_hint_insufficient_money\">Not enough available coins. You\\'re missing %s. This may also be due to the network fee.</string>\n    <string name=\"send_coins_fragment_hint_empty_wallet_failed\">The amount of tiny payments in your wallet doesn\\'t add up to a sendable value.</string>\n    <string name=\"send_coins_fragment_hint_replaying\">Currently payments are not possible because a replay is in progress.</string>\n    <string name=\"send_coins_fragment_direct_payment_enable\">Send payment directly to the payee.</string>\n    <string name=\"send_coins_fragment_direct_payment_ack\">Your payment was successfully sent directly.</string>\n    <string name=\"send_coins_fragment_direct_payment_nack\">Your payment was rejected via direct connection.</string>\n    <string name=\"send_coins_fragment_direct_payment_failed_title\">Direct payment failed</string>\n    <string name=\"send_coins_fragment_direct_payment_failed_msg\">Your payment will still be broadcasted via the P2P network.</string>\n    <string name=\"send_coins_fragment_button_send\">Send</string>\n    <string name=\"send_coins_fragment_button_back\">Back</string>\n    <string name=\"send_coins_fragment_significant_fee_title\">Significant network fee</string>\n    <string name=\"send_coins_fragment_significant_fee_message\">The network fee for this payment (%1$s) is high in relation to the amount (%2$s). Do you want to send anyway?</string>\n    <string name=\"send_coins_fragment_insufficient_money_title\">Not enough available coins</string>\n    <string name=\"send_coins_fragment_insufficient_money_msg1\">You\\'re missing %s.</string>\n    <string name=\"send_coins_fragment_insufficient_money_msg2\">Do you want to pay with all you have?</string>\n    <string name=\"send_coins_fragment_empty_wallet_failed_title\">Emptying of wallet failed</string>\n    <string name=\"send_coins_fragment_state_decrypting\">Decrypting…</string>\n    <string name=\"send_coins_preparation_msg\">Signing…</string>\n    <string name=\"send_coins_sending_msg\">Sending…</string>\n    <string name=\"send_coins_sent_msg\">Sent!</string>\n    <string name=\"send_coins_failed_msg\">Failed!</string>\n    <string name=\"send_coins_error_msg\">Problem sending coins!</string>\n    <string name=\"send_coins_options_fee_category\">Fee</string>\n    <string name=\"send_coins_options_fee_category_economic\">Economic</string>\n    <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n    <string name=\"send_coins_options_fee_category_priority\">Priority</string>\n    <string name=\"send_coins_options_empty\">Empty wallet</string>\n    <string name=\"raise_fee_dialog_title\">Raise network fee</string>\n    <string name=\"raise_fee_dialog_message\">Do you want to raise the network fee of this payment by %s? It will make the payment confirm quicker.</string>\n    <string name=\"raise_fee_dialog_determining_fee\">Determining network fee…</string>\n    <string name=\"raise_fee_dialog_cant_raise\">The network fee of this payment can\\'t be raised.</string>\n    <string name=\"raise_fee_dialog_state_decrypting\">Decrypting…</string>\n    <string name=\"raise_fee_dialog_state_done\">Done.</string>\n    <string name=\"raise_fee_dialog_button_raise\">Raise</string>\n    <string name=\"sweep_wallet_activity_title\">Sweep paper wallet</string>\n    <string name=\"sweep_wallet_fragment_intro\">You are about to sweep a paper wallet or coupon. This will move all coins from that paper to your wallet on this device. When the transaction is confirmed, the paper will be worthless and should not be re-used for safety reasons.</string>\n    <string name=\"sweep_wallet_fragment_hint\">Paper wallets are most commonly used for cold storage. Some ATMs print them on their paper slip rather than sending the coins to your mobile device directly. People sometimes use pre-charged paper wallets to pass value around (not recommended).</string>\n    <string name=\"sweep_wallet_fragment_wallet_unknown\">Start by scanning the private key of a paper wallet. Use the camera action button.</string>\n    <string name=\"sweep_wallet_fragment_encrypted\">This private key is protected with a password.</string>\n    <string name=\"sweep_wallet_fragment_password\">password</string>\n    <string name=\"sweep_wallet_fragment_bad_password\">bad password!</string>\n    <string name=\"sweep_wallet_fragment_balance\">Balance to sweep</string>\n    <string name=\"sweep_wallet_fragment_button_decrypt\">Decrypt</string>\n    <string name=\"sweep_wallet_fragment_button_sweep\">Sweep</string>\n    <string name=\"sweep_wallet_fragment_decrypt_progress\">Decrypting…\\nTakes up to 2 minutes.</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Loading balance…</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Loading wallet balance failed</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">You\\'ve got a bad connection to the Electrum network.</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">The paper wallet is empty.</string>\n    <string name=\"sweep_wallet_fragment_insufficient_money_title\">Not enough coins</string>\n    <string name=\"sweep_wallet_fragment_insufficient_money_msg\">The amount of coins in the wallet is too small for sweeping.</string>\n    <string name=\"sweep_wallet_options_reload\">Reload balance</string>\n    <string name=\"maintenance_dialog_title\">Maintenance recommended</string>\n    <string name=\"maintenance_dialog_message\">You received %1$s to unsecure addresses. Would you like to move these coins to secure addresses? A small network fee of %2$s will be paid.</string>\n    <string name=\"maintenance_dialog_state_decrypting\">Decrypting…</string>\n    <string name=\"maintenance_dialog_state_done\">Done.</string>\n    <string name=\"maintenance_dialog_button_move\">Move</string>\n    <string name=\"request_coins_activity_title\">Request Bitcoins</string>\n    <string name=\"request_coins_fragment_amount_label\">Requested amount (optional)</string>\n    <string name=\"request_coins_fragment_accept_bluetooth_payment\">Accept payment via Bluetooth for more reliable processing</string>\n    <string name=\"request_coins_fragment_initiate_request_qr\">Have this code scanned by the sender.</string>\n    <string name=\"request_coins_fragment_initiate_request_nfc\">Or tap an NFC enabled device.</string>\n    <string name=\"request_coins_clipboard_msg\">Bitcoin request copied to clipboard</string>\n    <string name=\"request_coins_share_dialog_title\">Share request for Bitcoins…</string>\n    <string name=\"request_coins_no_local_app_msg\">No other Bitcoin app found</string>\n    <string name=\"request_coins_options_local_app_title\">Request from local app</string>\n    <string name=\"address_book_activity_title\">Address book</string>\n    <string name=\"address_book_list_receiving_title\">Your addresses</string>\n    <string name=\"address_book_list_receiving_random\">Old addresses</string>\n    <string name=\"address_book_list_sending_title\">Sending addresses</string>\n    <string name=\"address_book_empty_text\">No entries in address book</string>\n    <string name=\"address_book_context_send_title\">Send Bitcoins to address</string>\n    <string name=\"address_book_context_edit_title\">Edit address</string>\n    <string name=\"address_book_context_remove_title\">Remove address</string>\n    <string name=\"address_book_context_copy_to_clipboard_title\">Copy to clipboard</string>\n    <string name=\"address_book_options_scan_title\">Scan address</string>\n    <string name=\"address_book_options_scan_invalid\">Scanned data is unrecognizable</string>\n    <string name=\"address_book_options_scan_own_address\">The scanned address is your own.</string>\n    <string name=\"address_book_row_current_address\">This is your current address for receiving.</string>\n    <string name=\"address_book_row_message_compromised_key\">This address might be compromised. You should not use it any more for receiving coins.</string>\n    <string name=\"edit_address_book_entry_dialog_title_add\">Add sending address</string>\n    <string name=\"edit_address_book_entry_dialog_title_edit\">Edit label of sending address</string>\n    <string name=\"edit_address_book_entry_dialog_title_add_receive\">Add label to your address</string>\n    <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Edit label of your address</string>\n    <string name=\"edit_address_book_entry_dialog_address_label\">Address</string>\n    <string name=\"edit_address_book_entry_dialog_label_label\">Label</string>\n    <string name=\"edit_address_book_entry_dialog_button_edit\">Save</string>\n    <string name=\"transaction_row_fee\">Network fee</string>\n    <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">This payment has not been transmitted yet.</string>\n    <string name=\"transaction_row_confidence_message_received_successful\">This payment has been credited to your wallet.</string>\n    <string name=\"transaction_row_confidence_message_sent_successful\">Your payment was successful. It has reached the payee.</string>\n    <string name=\"transaction_row_confidence_message_received_failed\">This payment has failed.</string>\n    <string name=\"transaction_row_confidence_message_sent_failed\">Your payment has failed.</string>\n    <string name=\"transaction_row_message_purpose_key_rotation\">This transaction strengthens your wallet against theft. &lt;u&gt;More info.&lt;/u&gt;</string>\n    <string name=\"transaction_row_message_purpose_raise_fee\">This transaction raises the network fee for a previous payment.</string>\n    <string name=\"transaction_row_message_received_direct\">This payment has been received directly. There is a risk it might never become spendable.</string>\n    <string name=\"transaction_row_message_received_unconfirmed_delayed\">The confirmation of this payment is delayed, likely due to an overload of the Bitcoin network.</string>\n    <string name=\"transaction_row_message_received_unconfirmed_unlocked\">This payment should become spendable in a few minutes.</string>\n    <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Due to maintenance on the Bitcoin network, this transaction should not be trusted until it is fully confirmed.</string>\n    <string name=\"transaction_row_message_received_in_conflict\">This payment has an increased risk of being reversed by the sender! If you can, wait for confirmation.</string>\n    <string name=\"transaction_row_message_received_dead\">This payment has been reversed by the sender.</string>\n    <string name=\"transaction_row_message_received_dust\">This small amount can probably never be spent economically.</string>\n    <string name=\"transaction_row_message_received_pay_to_many\">This payment pays to many wallets besides yours, which makes the app slow down over time. If you can, try receiving payments which pay only to you.</string>\n    <string name=\"transaction_row_message_received_rbf\">This payment was delayed because the sender used an insecure transaction type.</string>\n    <string name=\"network_monitor_activity_title\">Network monitor</string>\n    <string name=\"network_monitor_peer_list_title\">Peers</string>\n    <string name=\"network_monitor_block_list_title\">Blocks</string>\n    <string name=\"block_row_mining_difficulty_adjustment\">Mining difficulty adjustment</string>\n    <string name=\"block_row_mining_reward_adjustment\">Mining reward halving</string>\n    <string name=\"block_row_now\">just now</string>\n    <string name=\"peer_list_fragment_empty\">No peers connected</string>\n    <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n    <string name=\"import_keys_dialog_title\">Restore wallet</string>\n    <string name=\"restore_wallet_dialog_replace_warning\">You are about to replace your current wallet. Any coins in the current wallet will be lost unless you\\'ve got a separate backup of that.</string>\n    <string name=\"import_keys_dialog_warning\">Important: Do not load private keys from dubious sources! Others can gain control over your funds if you do.</string>\n    <string name=\"import_keys_dialog_button_import\">Restore</string>\n    <string name=\"restore_wallet_dialog_success\">Wallet was restored.</string>\n    <string name=\"restore_wallet_dialog_success_replay\">Your wallet was successfully restored. Its balance will be determined next. This will take some time.</string>\n    <string name=\"restore_wallet_dialog_success_encrypted\">Warning: Your wallet is protected by a spending PIN. Make sure you still remember it before you receive to this wallet.</string>\n    <string name=\"import_keys_dialog_failure\">Wallet could not be restored:\\n\\n%s\\n\\nBad password?</string>\n    <string name=\"export_keys_dialog_title\">Back up wallet</string>\n    <string name=\"backup_wallet_dialog_message\">Your backup will be encrypted with the chosen password and written to external storage.</string>\n    <string name=\"backup_wallet_dialog_warning_encrypted\">Your wallet is protected by a spending PIN. Make sure you remember the PIN in addition to the backup password!</string>\n    <string name=\"export_keys_dialog_button_export\">Back up</string>\n    <string name=\"export_keys_dialog_success\"><![CDATA[<p>Your wallet has been backed up to <tt>%s</tt></p><p><b>If the only place your backup exists is on your device, you run the risk of losing both at the same time!</b></p><p>In any case, make sure you remember your backup password.</p>]]></string>\n    <string name=\"export_keys_dialog_failure\">Your wallet could not be backed up:\\n%s</string>\n    <string name=\"import_export_keys_dialog_password\">password</string>\n    <string name=\"backup_wallet_dialog_password_again\">again</string>\n    <string name=\"backup_wallet_dialog_password_mismatch\">mismatch!</string>\n    <string name=\"import_export_keys_dialog_show\">Show password</string>\n    <string name=\"import_export_keys_dialog_failure_title\">Error</string>\n    <string name=\"import_keys_intent_filter_action\">Restore wallet</string>\n    <string name=\"encrypt_keys_dialog_title\">Spending PIN</string>\n    <string name=\"encrypt_keys_dialog_message\">Spending from your wallet will be protected with the chosen PIN.</string>\n    <string name=\"encrypt_keys_dialog_warning\">Important: You need to remember your PIN! Do not use common numbers (like birthdates).</string>\n    <string name=\"encrypt_keys_dialog_password_old\">Old PIN</string>\n    <string name=\"encrypt_keys_dialog_password_strength_weak\">weak</string>\n    <string name=\"encrypt_keys_dialog_password_strength_fair\">fair</string>\n    <string name=\"encrypt_keys_dialog_password_strength_good\">good</string>\n    <string name=\"encrypt_keys_dialog_password_strength_strong\">strong</string>\n    <string name=\"encrypt_keys_dialog_show\">Show PIN</string>\n    <string name=\"encrypt_keys_dialog_state_encrypting\">Encrypting…</string>\n    <string name=\"encrypt_keys_dialog_state_decrypting\">Decrypting…</string>\n    <string name=\"encrypt_keys_dialog_state_done\">Done.</string>\n    <string name=\"scan_camera_problem_dialog_title\">Sorry</string>\n    <string name=\"scan_camera_problem_dialog_message\">The camera has a problem. You probably need to restart the device.</string>\n    <string name=\"scan_camera_permission_dialog_title\">Camera permission</string>\n    <string name=\"scan_camera_permission_dialog_message\">In order to scan QR codes, you need to grant permission to use the camera.</string>\n    <string name=\"input_parser_io_error\">Cannot read data:\\n%s</string>\n    <string name=\"input_parser_cannot_classify\">Cannot recognize input:\\n%s</string>\n    <string name=\"input_parser_invalid_bitcoin_uri\">Invalid Bitcoin URI:\\n%s</string>\n    <string name=\"input_parser_invalid_address\">Got invalid bitcoin address!\\n(Mixing up mainnet/testnet?)</string>\n    <string name=\"input_parser_unverifyable_paymentrequest\">Cannot verify payment request:\\n%s</string>\n    <string name=\"input_parser_invalid_paymentrequest\">Invalid payment request:\\n%s</string>\n    <string name=\"input_parser_invalid_transaction\">Invalid transaction:\\n%s</string>\n    <string name=\"preferences_activity_title\">Settings</string>\n    <string name=\"preferences_category_general\">General</string>\n    <string name=\"preferences_category_privacy\">Privacy control</string>\n    <string name=\"preferences_category_merchants\">Merchants</string>\n    <string name=\"preferences_category_diagnostics\">Diagnostics</string>\n    <string name=\"preferences_category_labs\">Labs</string>\n    <string name=\"preferences_precision_title\">Denomination and precision</string>\n    <string name=\"preferences_precision_summary\">Unit to show amounts in. This does not affect computations.</string>\n    <string name=\"preferences_precision_labels_8\">BTC, 8 decimal places</string>\n    <string name=\"preferences_precision_labels_6\">BTC, 6 decimal places</string>\n    <string name=\"preferences_precision_labels_4\">BTC, 4 decimal places</string>\n    <string name=\"preferences_precision_labels_2_3\">mBTC, 2 decimal places</string>\n    <string name=\"preferences_precision_labels_0_6\">µBTC, no decimal places</string>\n    <string name=\"preferences_own_name_title\">Own name</string>\n    <string name=\"preferences_own_name_summary\">Your name or your company\\'s name, to be added to payment requests you issue to your customers.</string>\n    <string name=\"preferences_own_name_dialog_message\">Keep it short.</string>\n    <string name=\"preferences_send_coins_autoclose_title\">Auto-close send coins dialog</string>\n    <string name=\"preferences_send_coins_autoclose_summary\">When the payment is made, the send dialog will close automatically.</string>\n    <string name=\"preferences_sync_mode_title\">Data Usage vs. Privacy</string>\n    <string name=\"preferences_sync_mode_summary\">Choose between low data usage and improved privacy when synchronizing with the network.</string>\n    <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>Low data usage:</b> Use network filtering to read only transactions relevant to your wallet. It will use about 500 MB per month, but will disclose the filter to the network.]]></string>\n    <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>Improved privacy:</b> Will not disclose any information about your wallet to the network. Be aware that because all transactions are read, this will use a hefty 10 GB per month. Before using this please check your data allowance.]]></string>\n    <string name=\"preferences_trusted_peer_title\">Trusted peer</string>\n    <string name=\"preferences_trusted_peer_summary\">IP or hostname of single peer to connect to.</string>\n    <string name=\"preferences_trusted_peer_dialog_message\">Please enter a valid IP address or hostname. If you have Tor set up, you can use an onion address here, too.</string>\n    <string name=\"preferences_trusted_peer_dialog_message_multiple\">You can specify multiple trusted peers by separating them with a space character.</string>\n    <string name=\"preferences_trusted_peer_resolve_progress\">Resolving…</string>\n    <string name=\"preferences_trusted_peer_resolve_unknown_host\">Unknown hostname!</string>\n    <string name=\"preferences_trusted_peer_only_title\">Skip regular peer discovery</string>\n    <string name=\"preferences_trusted_peer_only_summary\">Prevents connecting to any peers besides the trusted peer.</string>\n    <string name=\"preferences_block_explorer_title\">Block explorer</string>\n    <string name=\"preferences_block_explorer_summary\">External block explorer to use for browsing transactions, addresses and blocks.</string>\n    <string name=\"preferences_data_usage_title\">Data usage</string>\n    <string name=\"preferences_data_usage_summary\">Show options to restrict data usage on mobile networks.</string>\n    <string name=\"preferences_notifications_title\">Notifications</string>\n    <string name=\"preferences_notifications_summary\">Show options to disable or enable specific notifications.</string>\n    <string name=\"preferences_remind_balance_title\">Balance reminder</string>\n    <string name=\"preferences_remind_balance_summary\">After a couple of weeks of not being used, the app will notify if there are still coins in the wallet.</string>\n    <string name=\"preferences_show_disclaimer_title\">Show disclaimer</string>\n    <string name=\"preferences_show_disclaimer_summary\">Have you really read the safety notes? Did you already back up your wallet to a safe place?</string>\n    <string name=\"preferences_bluetooth_address_title\">Bluetooth address</string>\n    <string name=\"preferences_bluetooth_address_summary\">Manually configure your own Bluetooth address so you can receive payments from payers without connectivity.</string>\n    <string name=\"preferences_bluetooth_address_dialog_message\">Unfortunately Android is preventing the automatic detection of your device\\'s Bluetooth address. You need to look it up in the Android Bluetooth settings and enter it here.\\n\\nPlease make sure that every character is correct. Colons can be omitted, and case is not important.</string>\n    <string name=\"preferences_report_issue_title\">Report issue</string>\n    <string name=\"preferences_initiate_reset_title\">Reset block chain</string>\n    <string name=\"preferences_initiate_reset_summary\">Reset block chain, transactions and wallet balance. Replay will take a while, so only do this if you know why.</string>\n    <string name=\"preferences_initiate_reset_dialog_message\">Would you like to reset and replay the block chain?\\n\\nThis will temporarily hide your wallet balance and remove transactions. Both will recover as block chain sync progresses. Make sure you\\'ve got a reliable connection to the internet.</string>\n    <string name=\"preferences_initiate_reset_dialog_positive\">Reset</string>\n    <string name=\"preferences_extended_public_key_title\">Show extended public key</string>\n    <string name=\"preferences_extended_public_key_summary\">View the extended public key of your wallet, so it can be imported into other apps and services. Be careful: doing so will disclose your monetary privacy to that app.</string>\n    <string name=\"bitmap_fragment_share\">Share…</string>\n    <string name=\"extended_public_key_fragment_title\">Extended Public Key</string>\n    <string name=\"extended_public_key_fragment_share\">Share extended public key…</string>\n    <string name=\"report_issue_dialog_title_issue\">Report issue</string>\n    <string name=\"report_issue_dialog_title_crash\">Previous crash detected</string>\n    <string name=\"report_issue_dialog_title_transaction\">Report issue with selected payment</string>\n    <string name=\"report_issue_dialog_message_issue\">Please describe your issue precisely enough to be reproduced. Use English language if you can.</string>\n    <string name=\"report_issue_dialog_message_crash\">Would you like to send a crash report, helping to fix this issue in the future?</string>\n    <string name=\"report_issue_dialog_description\">issue description</string>\n    <string name=\"report_issue_dialog_report\">Report</string>\n    <string name=\"report_issue_dialog_collect_device_info\">Append device information</string>\n    <string name=\"report_issue_dialog_collect_application_log\">Append application log</string>\n    <string name=\"report_issue_dialog_collect_wallet_dump\">Append wallet dump</string>\n    <string name=\"report_issue_dialog_mail_intent_chooser\">Send report using…</string>\n    <string name=\"about_title\">About</string>\n    <string name=\"about_version_title\">Version</string>\n    <string name=\"about_version_apk_hash_title\">SHA256 hash of the APK</string>\n    <string name=\"about_copyright_title\">Copyright</string>\n    <string name=\"about_license_title\">License</string>\n    <string name=\"about_privacy_title\">Privacy Policy</string>\n    <string name=\"about_source_title\">Source code</string>\n    <string name=\"about_category_credits\">This app is using…</string>\n    <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, a Bitcoin protocol implementation</string>\n    <string name=\"about_credits_zxing_title\">ZXing, a QR-code processing library</string>\n    <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, a cryptography library</string>\n    <string name=\"about_credits_okhttp_title\">OkHttp, an HTTP client library</string>\n    <string name=\"about_credits_moshi_title\">Moshi, a JSON library</string>\n    <string name=\"about_credits_guava_title\">Guava, a collection of useful helpers</string>\n    <string name=\"about_credits_slf4j_title\">SLF4J, a logging framework</string>\n    <string name=\"about_market_app_title\">%s page</string>\n    <string name=\"about_market_app_summary\">Review or rate the app</string>\n    <string name=\"about_faq_title\">FAQ</string>\n    <string name=\"about_faq_summary\">Frequently asked questions about the app</string>\n    <string name=\"notification_coins_received_msg\">Received %s</string>\n    <string name=\"notification_connectivity_syncing_message\">Synchronizing with the network…</string>\n    <string name=\"notification_connectivity_syncing_trusted_peer\">Synchronizing with your trusted peer…</string>\n    <string name=\"notification_peers_connected_msg\">%d peers connected</string>\n    <string name=\"notification_peer_connected\">connected</string>\n    <string name=\"notification_peer_not_connected\">not connected</string>\n    <string name=\"notification_inactivity_title\">You\\'ve still got Bitcoins on this device!</string>\n    <string name=\"notification_inactivity_message\">Remember your balance of %s will be lost if you uninstall the Bitcoin Wallet app without sending it away first.</string>\n    <string name=\"notification_inactivity_message_donate\">If you don\\'t care about your coins, you could also donate them to the Bitcoin Wallet project.</string>\n    <string name=\"notification_inactivity_action_dismiss\">Remind me later</string>\n    <string name=\"notification_inactivity_action_dismiss_forever\">Don\\'t remind me</string>\n    <string name=\"notification_bluetooth_service_listening\">Ready to receive payments via Bluetooth</string>\n    <string name=\"notification_channel_received_name\">Received payments</string>\n    <string name=\"notification_channel_ongoing_name\">Background activity</string>\n    <string name=\"notification_channel_important_name\">Important alerts</string>\n    <string name=\"appwidget_wallet_balance_title\">Bitcoin balance</string>\n\n    <!-- generic buttons -->\n    <string name=\"button_ok\">OK</string>\n    <string name=\"button_dismiss\">Dismiss</string>\n    <string name=\"button_cancel\">Cancel</string>\n    <string name=\"button_retry\">Retry</string>\n    <string name=\"button_help\">Help</string>\n    <string name=\"button_add\">Add</string>\n    <string name=\"button_delete\">Delete</string>\n    <string name=\"button_set\">Set</string>\n    <string name=\"button_remove\">Remove</string>\n    <string name=\"button_edit\">Edit</string>\n    <string name=\"button_copy\">Copy</string>\n    <string name=\"button_paste\">Paste</string>\n    <string name=\"button_share\">Share</string>\n    <string name=\"button_set_as_default\">Set as default</string>\n    <string name=\"button_request_coins\">Request coins</string>\n    <string name=\"button_send_coins\">Send coins</string>\n    <string name=\"button_scan\">Scan</string>\n    <string name=\"button_settings\">Settings</string>\n    <string name=\"action_show_qr\">Show QR code</string>\n    <string name=\"action_browse\">Browse</string>\n\n    <!-- generic strings -->\n    <string name=\"time_today\">today</string>\n    <string name=\"address_unlabeled\">(unlabeled)</string>\n    <string name=\"private_key_password\">PIN</string>\n    <string name=\"private_key_bad_password\">bad PIN!</string>\n    <string name=\"qr_code\">QR code</string>\n\n    <!-- generic error messages -->\n    <string name=\"error_io\">I/O error: %s</string>\n    <string name=\"error_parse\">Parse error: %s</string>\n    <string name=\"error_http\">HTTP error %1$s:\\n%2$s</string>\n    <string name=\"error_bluetooth\">Bluetooth error: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values/strings_help.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tThe upper left part of the screen displays your balance in Bitcoins and one selected national currency.\n\t\t\tTap to go to the list of national currencies, and tap on one of the currencies to select it as default.\n\t\t</p>\n\t\t<p>\n\t\t\tThe QR code in the upper right contains your current bitcoin address and can be used for scanning by a payer.\n\t\t\tTap on the QR code to get a larger version of it.\n\t\t</p>\n\t\t<p>\n\t\t\tThe bottom of the screen is covered by your transactions list.\n\t\t\tIt is empty at the beginning and will fill up as you receive and send payments.\n\t\t\tReceived payments will be marked in green and sent payments in red.\n\t\t</p>\n\t\t<p>\n\t\t\tYou can send or request coins by tapping the buttons in the action bar.\n\t\t\tMore options are available in the options menu.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tUsing this dialog, you can request coins from a payer.\n\t\t\tThe payer should already have installed a Bitcoin wallet.\n\t\t</p>\n\t\t<p>\n\t\t\tFirst, you can enter an amount of Bitcoins to request.\n\t\t</p>\n\t\t<p>\n\t\t\tThen, you either have the generated QR code scanned by the payer.\n\t\t\tOr, you can send your request to a remote person with the share button in the action bar.\n\t\t\tIf both phones have NFC enabled, you can also tap them together.\n\t\t</p>\n\t\t<p>\n\t\t\tEither way, the payer will be presented a dialog for sending coins with all fields pre-populated.\n\t\t\tIf the payer agrees, he or she can execute the payment easily.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tYou have initiated the process of sending coins.\n\t\t</p>\n\t\t<p>\n\t\t\tFirst, you enter the Bitcoin address to pay to.\n\t\t\tThe address will autocomplete from known entries in your address book.\n\t\t\tYou can also scan a QR code being presented by the payee by pressing the camera button.\n\t\t</p>\n\t\t<p>\n\t\t\tNext, you enter the amount to pay.\n\t\t</p>\n\t\t<p>\n\t\t\tLast, the spending PIN must be entered if one was set up beforehand.\n\t\t</p>\n\t\t<p>\n\t\t\tYou can enter a payment while being offline.\n\t\t\tIt will be sent on next restart of Bitcoin Wallet.\n\t\t\tIf you want a payment to be processed as fast as possible, make sure you are well connected (i.e. on a WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tNote:\n\t\t\tPayments are irreversible!\n\t\t\tAlways check the receiving address.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Important safety notes:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoins are stored on the device.\n\t\t\t<b>If you lose it, you\\'ll lose your Bitcoins.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tThis means you need to <b>back up your wallet</b>!\n\t\t\tUse the in-app backup facility for this, rather than a third party backup app.\n\t\t\tKeep your backup safe and remember the password.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Before uninstalling</b> (or clearing app data/wiping your device), <b>transfer your Bitcoins to another wallet</b>.\n\t\t\tRemaining Bitcoins will be lost.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Payments are irreversible</b>.\n\t\t\tIf you send your Bitcoins into the void, there is almost no way to get them back.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Keep your mobile device safe!</b>\n\t\t\tDo not root your device.\n\t\t\tDo only install apps you fully trust.\n\t\t\tMalicious apps could be trying to steal your wallet.\n\t\t</p>\n\t\t<p>\n\t\t\tKeep the risk low!\n\t\t\t<b>Store only a reasonable amount</b> for day use.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Technical notes:</b>\n        </p>\n        <p>\n            As an SPV/light wallet, Bitcoin Wallet follows the chain of the most proof-of-work (sometimes also called the \\\"longest chain\\\", the \\\"winning chain\\\" or the \\\"Bitcoin block chain\\\").\n            You will only receive incoming payments and be able to pay on that chain.\n            No guarantees can be made about Bitcoins on minority chains, that is chains with less proof-of-work.\n        </p>\n        <p>\n            In the past, minority chains have always become irrelevant very quickly.\n            If you desire to follow a minority chain anyway, you are advised to use the \\\"trusted peer\\\" feature to exclusively connect to a bitcoind implementation which enforces your desired chain.\n            If the network between your wallet and the trusted peer is not to be trusted, use a VPN to authenticate that connection.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <style name=\"My.Theme\" parent=\"@android:style/Theme.Material.Light.DarkActionBar\">\n        <item name=\"android:actionBarTheme\">@style/My.ThemeOverlay.ActionBar</item>\n        <item name=\"android:actionBarStyle\">@style/My.Widget.ActionBar</item>\n        <item name=\"android:actionMenuTextColor\">@color/fg_on_dark_bg_network</item>\n        <item name=\"android:actionButtonStyle\">@style/My.Widget.ActionButton</item>\n        <item name=\"android:actionOverflowButtonStyle\">@style/My.Widget.ActionButton.Overflow</item>\n        <item name=\"android:actionOverflowMenuStyle\">@style/My.Widget.PopupMenu.Overflow</item>\n        <item name=\"android:textViewStyle\">@style/My.Widget.TextView</item>\n        <item name=\"android:editTextStyle\">@style/My.Widget.EditText</item>\n        <item name=\"android:autoCompleteTextViewStyle\">@style/My.Widget.AutoCompleteTextView</item>\n        <item name=\"android:checkboxStyle\">@style/My.Widget.CompoundButton.CheckBox</item>\n        <item name=\"android:spinnerStyle\">@style/My.Widget.Spinner</item>\n        <item name=\"android:popupMenuStyle\">@style/My.Widget.PopupMenu</item>\n        <item name=\"android:windowBackground\">@color/bg_level1</item>\n    </style>\n\n    <style name=\"My.Theme.WithSplash\" parent=\"@style/My.Theme\">\n        <item name=\"android:windowBackground\">@drawable/background_splash</item>\n    </style>\n\n    <style name=\"My.Theme.ChildActivity\" parent=\"@style/My.Theme\">\n        <item name=\"android:actionBarStyle\">@style/My.Widget.ActionBar.ChildActivity</item>\n    </style>\n\n    <style name=\"My.Theme.Fullscreen\" parent=\"@android:style/Theme.Material.NoActionBar\">\n        <item name=\"android:windowIsTranslucent\">true</item>\n        <item name=\"android:windowBackground\">@android:color/black</item>\n    </style>\n\n    <style name=\"My.Theme.Dialog\" parent=\"@android:style/Theme.Material.Light.Dialog.Alert\">\n        <item name=\"android:background\">@color/bg_level3</item>\n    </style>\n\n    <style name=\"My.ThemeOverlay.ActionBar\" parent=\"@android:style/ThemeOverlay.Material.ActionBar\">\n        <item name=\"android:colorControlNormal\">@color/fg_on_dark_bg_network_significant</item>\n    </style>\n\n    <style name=\"My.Widget.ActionBar\" parent=\"@android:style/Widget.Material.Light.ActionBar.Solid\">\n        <item name=\"android:background\">@color/bg_action_bar</item>\n        <item name=\"android:titleTextStyle\">@style/My.TextAppearance.Widget.ActionBar.Title</item>\n        <item name=\"android:subtitleTextStyle\">@style/My.TextAppearance.Widget.ActionBar.Subtitle</item>\n        <item name=\"android:displayOptions\">showTitle</item>\n    </style>\n\n    <style name=\"My.Widget.ActionBar.ChildActivity\" parent=\"@style/My.Widget.ActionBar\">\n        <item name=\"android:displayOptions\">homeAsUp|showTitle</item>\n    </style>\n\n    <style name=\"My.TextAppearance.Widget.ActionBar.Title\" parent=\"@android:style/TextAppearance.Material.Widget.ActionBar.Title\">\n        <item name=\"android:textColor\">@color/fg_on_dark_bg_network_significant</item>\n        <item name=\"android:textStyle\">bold</item>\n    </style>\n\n    <style name=\"My.TextAppearance.Widget.ActionBar.Subtitle\" parent=\"@android:style/TextAppearance.Material.Widget.ActionBar.Subtitle\">\n        <item name=\"android:textColor\">@color/fg_on_dark_bg_network_insignificant</item>\n        <item name=\"android:textStyle\">normal</item>\n    </style>\n\n    <style name=\"My.Widget.ActionButton\" parent=\"@android:style/Widget.Material.ActionButton\">\n        <item name=\"android:minHeight\">?android:attr/actionBarSize</item>\n        <item name=\"android:minWidth\">48dp</item>\n        <item name=\"android:drawablePadding\">4dp</item>\n        <item name=\"android:drawableTint\">@color/fg_on_dark_bg_network_significant</item>\n        <item name=\"android:singleLine\">true</item>\n        <item name=\"android:textAllCaps\">true</item>\n        <item name=\"android:textColor\">@color/fg_on_dark_bg_network</item>\n        <item name=\"android:textSize\">@dimen/font_size_tiny</item>\n        <item name=\"android:textStyle\">bold</item>\n    </style>\n\n    <style name=\"My.Widget.ActionButton.Overflow\" parent=\"@android:style/Widget.Material.ActionButton.Overflow\">\n        <item name=\"android:minHeight\">?android:attr/actionBarSize</item>\n        <item name=\"android:minWidth\">48dp</item>\n        <item name=\"android:tint\">@color/fg_on_dark_bg_network_significant</item>\n    </style>\n\n    <style name=\"My.Widget.ActionButton.Floating\" parent=\"@android:style/Widget.Material.ActionButton\">\n        <item name=\"android:background\">@drawable/floating_action_button_background</item>\n        <item name=\"android:backgroundTint\">@color/fg_network_significant</item>\n    </style>\n\n    <style name=\"My.Widget.ActionButton.Floating.DarkDefault\" parent=\"@android:style/Widget.Material.ActionButton\">\n        <item name=\"android:background\">@drawable/floating_action_button_background</item>\n        <item name=\"android:backgroundTint\">@color/fg_network_significant_darkdefault</item>\n    </style>\n\n    <style name=\"My.ThemeOverlay.ContextBar\" parent=\"@android:style/ThemeOverlay.Material.ActionBar\">\n        <item name=\"android:actionButtonStyle\">@style/My.Widget.ActionButton.Context</item>\n        <item name=\"android:actionOverflowButtonStyle\">@style/My.Widget.ActionButton.Context.Overflow</item>\n    </style>\n\n    <style name=\"My.Widget.ActionButton.Context\" parent=\"@android:style/Widget.Material.ActionButton\">\n        <item name=\"android:drawableTint\">@color/fg_insignificant</item>\n    </style>\n\n    <style name=\"My.Widget.ActionButton.Context.Overflow\" parent=\"@android:style/Widget.Material.ActionButton.Overflow\">\n        <item name=\"android:tint\">@color/fg_insignificant</item>\n    </style>\n\n    <style name=\"My.Widget.TextView\" parent=\"@android:style/Widget.Material.Light.TextView\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.EditText\" parent=\"@android:style/Widget.Material.Light.EditText\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.AutoCompleteTextView\" parent=\"@android:style/Widget.Material.Light.AutoCompleteTextView\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.Button.Borderless\" parent=\"@android:style/Widget.Material.Button.Borderless\">\n        <item name=\"android:paddingLeft\">8dp</item>\n        <item name=\"android:paddingRight\">8dp</item>\n        <item name=\"android:drawablePadding\">8dp</item>\n    </style>\n\n    <style name=\"My.Widget.CompoundButton.CheckBox\" parent=\"@android:style/Widget.Material.Light.CompoundButton.CheckBox\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.Spinner\" parent=\"@android:style/Widget.Material.Light.Spinner\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.PopupMenu\" parent=\"@android:style/Widget.Material.Light.PopupMenu\">\n        <item name=\"android:popupBackground\">@color/bg_level3</item>\n    </style>\n\n    <style name=\"My.Widget.PopupMenu.Overflow\" parent=\"@android:style/Widget.Material.Light.PopupMenu.Overflow\">\n        <item name=\"android:overlapAnchor\">false</item>\n        <item name=\"android:popupBackground\">@color/bg_level3</item>\n    </style>\n</resources>\n"
  },
  {
    "path": "wallet/res/values/values.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"symbol_to\">→</string>\n    <string name=\"symbol_from\">←</string>\n    <string name=\"symbol_internal\">⇄</string>\n    <string name=\"app_name\">Dogecoin Wallet [testnet]</string>\n    <string name=\"app_name_short\">Testnet</string>\n\n    <string-array name=\"preferences_precision_values\">\n        <item>8</item>\n        <item>6</item>\n        <item>4</item>\n        <item>2/3</item>\n    </string-array>\n    <string-array name=\"preferences_precision_labels\">\n        <item>@string/preferences_precision_labels_8</item>\n        <item>@string/preferences_precision_labels_6</item>\n        <item>@string/preferences_precision_labels_4</item>\n        <item>@string/preferences_precision_labels_2_3</item>\n    </string-array>\n    <string-array name=\"preferences_block_explorer_values\">\n        <item>https://sochain.com/%s/DOGETEST/</item>\n    </string-array>\n    <string-array name=\"preferences_block_explorer_labels\">\n        <item>SoChain</item>\n    </string-array>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ar/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">تم اعادة تعيين محفظتك!\\nهذا سيستغرق بضع الوقت.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">استخدم على مسؤوليتك الخاصة. يرجى قراءة ملاحظات السلامة.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">يجب عليك القيام بإجراء حفظ احتياطي لمحفظتك!</string>\n  <string name=\"blockchain_state_progress_hours\">متأخر %1$s, %2$d ساعات</string>\n  <string name=\"blockchain_state_progress_days\">متأخر %1$s, %2$d أيام</string>\n  <string name=\"blockchain_state_progress_weeks\">متأخر %1$s, %2$d أسابيع</string>\n  <string name=\"blockchain_state_progress_months\">متأخر %1$s, %2$d أشهر</string>\n  <string name=\"blockchain_state_progress_downloading\">مزامنة البيانات مع الشبكة</string>\n  <string name=\"blockchain_state_progress_stalled\">مزامنة البيانات متوقفة</string>\n  <string name=\"blockchain_state_progress_problem_storage\">مزامنة بيانات: توجد مشكلة بوحدة التخزين</string>\n  <string name=\"blockchain_state_progress_problem_network\">مزامنة بيانات: توجد مشكلة بالشبكة</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">تم نسخ عنوان محفظتك إلى الحافظة</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">لحماية خصوصيتك, عنوانك سيتغير في حال استقبالك لدفعة.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">جهازك قديم وغير امن. نرجوا منك استعماله لحفظ كمية مال قليلة.</string>\n  <string name=\"wallet_balance_fragment_too_much\">هذه كمية مال عالية قليلة لحفظها في جيبك. نرجوا نقلها لمكان اكثر اماناً.</string>\n  <string name=\"wallet_balance_fragment_replaying\">الرصيد غير متاح في حالة إعادة التشغيل.</string>\n  <string name=\"exchange_rates_activity_title\">اسعار الصرف</string>\n  <string name=\"exchange_rates_fragment_empty_search\">لا يمكن إيجاد اسعار الصرف.</string>\n  <string name=\"exchange_rates_fragment_default\">(افتراضي)</string>\n  <string name=\"exchange_rates_fragment_rate\">نسبة</string>\n  <string name=\"exchange_rates_fragment_balance\">رصيد</string>\n  <string name=\"exchange_rates_fragment_source\">السعر من %s</string>\n  <string name=\"exchange_rates_options_search\">البحث في اسعار الصرف</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">لم يتم استلام مبالغ بيتكوين إلى الآن</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">لم يتم ارسال مبالغ بيتكوين إلى الآن</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">تودّ معرفة طريقة الحصول على البيتكوين ؟ تاجر بالعملة العادية أو إعرض سلعا و خدمات أو تحصّل عليها بفضل العمل.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">تهانينا، لقد تلقيت أول دفعة خاصة بك! قل قمت بحفظ احتياطي لمحفظتك لحمايتها من الضياع؟</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">نصيحة : يمكنك تعمية جهازك لتعزيز أمان محفظتك. ذلك يؤدي أيضا إلى تأمين بيانات التطبيقات الأخرى المُنصّبة.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">محفور</string>\n  <string name=\"wallet_transactions_fragment_internal\">داخلي</string>\n  <string name=\"wallet_transactions_options_filter\">فلتر</string>\n  <string name=\"wallet_transactions_options_filter_all\">كل الدفعات</string>\n  <string name=\"wallet_transactions_options_filter_received\">الدفعات المُسْتَقْبَلَة</string>\n  <string name=\"wallet_transactions_options_filter_sent\">الدفعات المبعوثة</string>\n  <string name=\"wallet_options_safety_menu\">الأمان</string>\n  <string name=\"wallet_options_encrypt_keys_set\">أعِد PIN الإنفاق</string>\n  <string name=\"wallet_options_encrypt_keys_change\">غير PIN الإنفاق</string>\n  <string name=\"wallet_options_safety\">ملاحظات السلامة</string>\n  <string name=\"wallet_options_technical_notes_title\">ملاحظات تقنية</string>\n  <string name=\"wallet_options_donate\">أترك بقشيش/ تبرع</string>\n  <string name=\"wallet_donate_address_label\">تبرع للبرنامج</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">إنذار أمني</string>\n  <string name=\"wallet_low_storage_dialog_title\">مساحة الذاكرة الداخلية مُتقلّصَة جدا !</string>\n  <string name=\"wallet_low_storage_dialog_msg\">تستخدم محفظة البيتكوين وحدة التخزين الداخلية لتذكر المعاملات والكتل. إذا نفدت مساحة التخزين تلك، فإنها سوف تتوقف عن العمل، وسوف تكن البيتكوين الخاصة بك في خطر!\\n\\nهل تريد فتح برنامج مدير التطبيقات لحذف التطبيقات غير الضرورية؟</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">إدارة التطبيقات</string>\n  <string name=\"wallet_timeskew_dialog_title\">تحقق من صحة تاريخ اليوم و إعدادت الوقت</string>\n  <string name=\"wallet_timeskew_dialog_msg\">إن إعدادت الوقت لجهازك منحرفة ب%d دقائق، لا يمكنك ارسال ولا استلام مبالغ بيتكوين بسبب هذه المشكلة.\\nيجب أن تتأكد وتصحح إعدادات الوقت توقيت timezone.</string>\n  <string name=\"wallet_version_dialog_title\">يوجد إصدار جديد الآن!</string>\n  <string name=\"wallet_version_dialog_msg\">يقوم هذ الإصدار بإصلاح أعطال مهمة. للمزيد من التفاصيل، يرجى مراجعة سجل التغييرات في متجر جوجل بلاي %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">إن لم تتلقى أي إشعار بالتحديث فمِن المحتمل أنّ نسخة نظام الأندرويد الخاصة بك لم تعد مدعومة قط.</string>\n  <string name=\"wallet_version_dialog_button_binary\">تنزيل</string>\n  <string name=\"wallet_old_sdk_dialog_title\">إصدار نظام الأندرويد الخاص بك قديم أو غير محدث</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">هناك مشكلة عند فتح الإعدادات</string>\n  <string name=\"send_coins_activity_title\">أرسل بيتكوين</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">جلب التوقيع من %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">فشل جلب التوقيع</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">التوقيع غير صحيح!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">تمت التدقيق من قبل: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">مجهول</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">إدفع إلى</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">أدخِل عنوانا أو إسما</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">عنوان بيتكوين غير صالح !</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">أنت بصدد إرسال مبلغ إلى عنوانك الخاص !</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">عنوان\\nمعقّد</string>\n  <string name=\"send_coins_fragment_pending\">(%s في انتظار التأكيد)</string>\n  <string name=\"send_coins_fragment_amount_label\">المبلغ المطلوب دفعه</string>\n  <string name=\"send_coins_fragment_hint_fee\">سوف يتم دفع %s كخصم لمصاريف الشبكة.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">المبلغ صغير جدا للإرسال.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">إرسال الدفعة مباشرة إلى المستفيد.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">تم بنجاح إرسال الدفعة مباشرة.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">تم رفض دفعتك بواسطة الاتصال المباشر.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">فشل الدفع المباشر</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">سيظل بث الدفع الخاص بك عبر شبكة بين الأقران P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">أرسل</string>\n  <string name=\"send_coins_fragment_button_back\">رجوع</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">ليس لديك رصيد كاف من البيتكوين</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">لقد فقدت %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">هل تود الدفع بكل ما تملك من رصيد؟</string>\n  <string name=\"send_coins_fragment_state_decrypting\">فك التعمية ...</string>\n  <string name=\"send_coins_preparation_msg\">جاري توقيع الدخول</string>\n  <string name=\"send_coins_sending_msg\">جاري الإرسال…</string>\n  <string name=\"send_coins_sent_msg\">تم الإرسال!</string>\n  <string name=\"send_coins_failed_msg\">فشلت العملية!</string>\n  <string name=\"send_coins_error_msg\">تمت مواجهة مشكلة خلال الإرسال!</string>\n  <string name=\"send_coins_options_fee_category\">التكلفة</string>\n  <string name=\"send_coins_options_fee_category_economic\">إقتصادي</string>\n  <string name=\"send_coins_options_fee_category_normal\">عادي</string>\n  <string name=\"send_coins_options_fee_category_priority\">أولويّ</string>\n  <string name=\"send_coins_options_empty\">تفريغ المحفظة</string>\n  <string name=\"raise_fee_dialog_title\">رفع تكلفة الشبكة</string>\n  <string name=\"raise_fee_dialog_determining_fee\">جارٍ حساب مصاريف الشبكة ...</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">فك التعمية ...</string>\n  <string name=\"raise_fee_dialog_state_done\">تم.</string>\n  <string name=\"raise_fee_dialog_button_raise\">رفع</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">إبدأ بمسح المفتاح الخاص لمحفظة ورقية باستخدام زر آلة التصوير.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">هذا المفتاح الخاص مؤمَّن بكلمة سرية.</string>\n  <string name=\"sweep_wallet_fragment_password\">كلمة المرور</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">كلمة السر غير صالحة !</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">فك التعمية</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">جارٍ تحميل الميزانية ...</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">فشلت عملية تحميل ميزانية المحفظة</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">ليس هناك قدر كاف من النقود</string>\n  <string name=\"sweep_wallet_options_reload\">إعادة تحميل الميزانية</string>\n  <string name=\"maintenance_dialog_state_decrypting\">فك التعمية ...</string>\n  <string name=\"maintenance_dialog_state_done\">تم.</string>\n  <string name=\"maintenance_dialog_button_move\">نقل</string>\n  <string name=\"request_coins_activity_title\">طلب مبلغ بيتكوين</string>\n  <string name=\"request_coins_fragment_amount_label\">المبلغ المطلوب (اختياري)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">قبول الدفع بواسطة البلوتوث.</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">اطلب من المرسل بمسح لهذا الرمز بصريا Scan.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">أو أنقر جهازا مزودا بتقنية اتصال المدى القريب NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">تم نسخ طلب المبلغ إلى الحافظة</string>\n  <string name=\"request_coins_share_dialog_title\">نشر طلب مبلغ البيتكوين…</string>\n  <string name=\"request_coins_no_local_app_msg\">لم يتم العثور على أي تطبيق بيتكوين آخر</string>\n  <string name=\"request_coins_options_local_app_title\">طلب من البرنامج المحلي</string>\n  <string name=\"address_book_activity_title\">دفتر العناوين</string>\n  <string name=\"address_book_list_receiving_title\">عناوينك</string>\n  <string name=\"address_book_list_receiving_random\">العناوين القديمة</string>\n  <string name=\"address_book_list_sending_title\">إرسال العناوين</string>\n  <string name=\"address_book_empty_text\">لا توجد مدخلات في دفتر العناوين</string>\n  <string name=\"address_book_context_send_title\">أرسل بيتكوين إلى عنوان</string>\n  <string name=\"address_book_context_edit_title\">تعديل العنوان</string>\n  <string name=\"address_book_context_remove_title\">حذف العنوان</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">نسخ إلى الحافظة</string>\n  <string name=\"address_book_options_scan_title\">مسح عنوان</string>\n  <string name=\"address_book_options_scan_invalid\">البيانات الممسوحة بصريا لا يمكن التعرف عليها</string>\n  <string name=\"address_book_options_scan_own_address\">العنوان الذي تم مسحه هو ملكك.</string>\n  <string name=\"address_book_row_message_compromised_key\">قد يكون هذا العنوان في خطر. يجب عدم استخدامه لاستلام البيتكوين بعد الآن.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">إضافة عنوان للإرسال</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">عنوان</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">حفظ</string>\n  <string name=\"transaction_row_fee\">تكلفة الشبكة</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">لم يتم إرسال هذه الدفعة بعد.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">هذه المعاملة تعزز محفظتك ضد السرقة. مزيد من المعلومات.</string>\n  <string name=\"transaction_row_message_received_direct\">تم استلام هذه الدفعة مباشرة. توجد خطورة عدم القدرة على إنفاقها.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">سيمكنك دفع هذه الدفعة في غضون دقائق.</string>\n  <string name=\"transaction_row_message_received_dead\">تم إرجاع هذه الدفعة من قبل المرسل.</string>\n  <string name=\"transaction_row_message_received_dust\">قد لايمكن  إنفاق هذا المبلغ صغير اقتصاديا.</string>\n  <string name=\"network_monitor_activity_title\">مراقبة الشبكة</string>\n  <string name=\"network_monitor_peer_list_title\">أقران Peers</string>\n  <string name=\"network_monitor_block_list_title\">كتل</string>\n  <string name=\"block_row_now\">الآن</string>\n  <string name=\"peer_list_fragment_empty\">لا توجد أقران متصلة peers</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d ms </string>\n  <string name=\"import_keys_dialog_title\">إستعادة المحفظة</string>\n  <string name=\"import_keys_dialog_warning\">تنبيه: لا تقم بتحميل المفاتيح الخاصة من مصادر مشكوك فيها! يمكن للآخرين السيطرة على البيتكوين الخاصة بك إذا قمت بذلك.</string>\n  <string name=\"import_keys_dialog_button_import\">استعادة</string>\n  <string name=\"restore_wallet_dialog_success\">تمت عملية استعادة المحفظة.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">تمت عملية استيراد و استرجاع محفظتك بنجاح. سوف يتم تحديث ميزانيتها لاحقا. هذة العملية تتطلب بعضا من الوقت.</string>\n  <string name=\"import_keys_dialog_failure\">تعذرت عملية استرجاع المحفظة :\\n\\n%s\\n\\nهل كلمة السر خاطئة ؟</string>\n  <string name=\"export_keys_dialog_title\">النسخ الإحتياطي للمحفظة</string>\n  <string name=\"backup_wallet_dialog_message\">سيتم تشفير مفاتيحك الخاصة مع كلمة المرور الخاصة  بك  وتسجيلها في وحدة تخزين خارجية.</string>\n  <string name=\"export_keys_dialog_button_export\">حفظ احتياطي</string>\n  <string name=\"export_keys_dialog_success\">تم الحفظ الاحتياطي للمفاتيح الخاصة بك إلى\\n\\n%s\\n\\nيرجى الاحتفاظ بها بشكل آمن، والحفاظ على كلمة المرور الخاصة بك بشكل آمن!</string>\n  <string name=\"export_keys_dialog_failure\">تعذر الحفظ الاحتياطي للمفاتيح الخاصة بك:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">كلمة المرور</string>\n  <string name=\"backup_wallet_dialog_password_again\">مجددا</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">غير متطابقين !</string>\n  <string name=\"import_export_keys_dialog_show\">إظهار كلمة المرور</string>\n  <string name=\"import_export_keys_dialog_failure_title\">خطأ</string>\n  <string name=\"import_keys_intent_filter_action\">إستعادة المحفظة</string>\n  <string name=\"encrypt_keys_dialog_password_old\">رمز الأمان PIN القديم</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">ضعيف</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">حسن</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">جيّد</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">قوي</string>\n  <string name=\"encrypt_keys_dialog_show\">إظهار رمز الأمان PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">عملية التعمية جارية ...</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">فك التعمية ...</string>\n  <string name=\"encrypt_keys_dialog_state_done\">تم.</string>\n  <string name=\"scan_camera_problem_dialog_title\">عذرا</string>\n  <string name=\"scan_camera_problem_dialog_message\">هناك مشكلة في الكاميرا. ربما تحتاج إلى إعادة تشغيل الجهاز.</string>\n  <string name=\"input_parser_io_error\">تعذر قراءة البيانات:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">تعذر تصنيف المدخل:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">عنوان بيتكوين غير صالح:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">لقد حصلت على عنوان بيتكوين غير صالح! \\n(هل يحتمل وجود خلط بين Mainnet / Testnet؟)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">تعذر التحقق من طلب الدفع:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">طلب دفع غير صالح:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">معاملة غير صالحة:\\n%s</string>\n  <string name=\"preferences_activity_title\">الإعدادات</string>\n  <string name=\"preferences_category_diagnostics\">التشخيصات</string>\n  <string name=\"preferences_category_labs\">المختبرات</string>\n  <string name=\"preferences_precision_title\">وحدات القياس والدقة</string>\n  <string name=\"preferences_precision_summary\">الوحدة المستخدمة لإظهار المبالغ. هذا لا يؤثر على العمليات الحسابية.</string>\n  <string name=\"preferences_own_name_title\">إسمك</string>\n  <string name=\"preferences_trusted_peer_title\">الأقران الموثوق فيها</string>\n  <string name=\"preferences_trusted_peer_summary\">عنوان IP أو عنوان مضيف لقرن واحد Peer للاتصال به</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">إسم المضيف مجهول !</string>\n  <string name=\"preferences_trusted_peer_only_title\">تخطي الإكتشاف العادي للأقران</string>\n  <string name=\"preferences_trusted_peer_only_summary\">منع الاتصال بأي أقران غير الموثوق بها</string>\n  <string name=\"preferences_block_explorer_title\">مكتشف الكتل</string>\n  <string name=\"preferences_block_explorer_summary\">مكتشف الكتل الخارجي الذي سيتم إستخدامه لعرض التعاملات و العناوين و الكتل.</string>\n  <string name=\"preferences_data_usage_title\">استخدام البيانات</string>\n  <string name=\"preferences_data_usage_summary\">إظهار الخيارات لتقييد استخدام البيانات على شبكات الانترنت المحمول اللاسلكية</string>\n  <string name=\"preferences_remind_balance_title\">تذكير بالميزانية</string>\n  <string name=\"preferences_show_disclaimer_title\">عرض التنبيه</string>\n  <string name=\"preferences_show_disclaimer_summary\">هل قمت بقراءة ملاحظات السلامة ؟ و هل عمدت إلى حفظ نسخة إحتياطية لمحفظتك في مكان آمن ؟</string>\n  <string name=\"preferences_report_issue_title\">الإبلاغ عن مشكلة</string>\n  <string name=\"preferences_initiate_reset_title\">إعادة تعيين سلسلة الكُتل</string>\n  <string name=\"preferences_initiate_reset_summary\">إعادة تعيين Blockchain و المعاملات و رصيد المحفظة. الرد سيستغرق بعض الوقت.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">هل تود إعادة تعيين وإعادة تشغيل blockchain؟\\n\\nسيتم إخفاء رصيد محفظتك  مؤقتا وإزالة المعاملات. كلاهما سوف يسترجعان مع دم مزامنة بيانات blockchain.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">إعادة تعيين</string>\n  <string name=\"preferences_extended_public_key_title\">إظهار extended public key</string>\n  <string name=\"bitmap_fragment_share\">شارك ...</string>\n  <string name=\"extended_public_key_fragment_share\">شارك extended public key ...</string>\n  <string name=\"report_issue_dialog_title_issue\">الإبلاغ عن مشكلة</string>\n  <string name=\"report_issue_dialog_title_crash\">تم الكشف عن  حصول عطل للنظام مؤخرا</string>\n  <string name=\"report_issue_dialog_title_transaction\">الإبلاغ عن خلل في المعاملة التي تم تحديدها</string>\n  <string name=\"report_issue_dialog_message_issue\">يرجى شرح المشكلة التي تواجهها وكيفية وقوعها بالتفصيل لكي يقوم المطور بإعادة إنتاجها لتشخيصها. إستعمل اللغة الإنجليزية بقدر الإمكان.</string>\n  <string name=\"report_issue_dialog_message_crash\">هل ترغب في إرسال تقرير العَطل، مما قد يساعد على إصلاح هذا الخلل في المستقبل؟</string>\n  <string name=\"report_issue_dialog_description\">وصف المشكلة</string>\n  <string name=\"report_issue_dialog_report\">إبلاغ</string>\n  <string name=\"report_issue_dialog_collect_device_info\">إرفاق معلومات الجهاز</string>\n  <string name=\"report_issue_dialog_collect_application_log\">إرفاق سجل البرنامج</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">إرفاق مهملات المحفظة</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">إرسال التقرير بواسطة…</string>\n  <string name=\"about_title\">تعليمات</string>\n  <string name=\"about_version_title\">الإصدار</string>\n  <string name=\"about_copyright_title\">حقوق التأليف</string>\n  <string name=\"about_license_title\">رخصة</string>\n  <string name=\"about_source_title\">الشيفرة المصدرية</string>\n  <string name=\"about_category_credits\">هذا التطبيق يَستخدم ...</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s، هو إدخال و دعم لبروتوكول بتكوين</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_summary\">إعداد تقرير أو تقييم للتطبيق</string>\n  <string name=\"about_faq_title\">الأسئلة الشائعة</string>\n  <string name=\"about_faq_summary\">الأسئلة الشائعة عن التطبيق</string>\n  <string name=\"notification_coins_received_msg\">تم إستلام %s</string>\n  <string name=\"notification_peers_connected_msg\">الأقران المتصلة peers %d </string>\n  <string name=\"notification_inactivity_title\">لا يزال عندك بعضا من البيتكوين على هذا الجهاز !</string>\n  <string name=\"notification_inactivity_message_donate\">إن كنت لا تكترث بنقودك فيمكنك التبرع بها إلى مشروع محفظة البتكوين.</string>\n  <string name=\"notification_inactivity_action_dismiss\">ذكِّرني لاحقا</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">لا تُذكِّرني</string>\n  <string name=\"notification_channel_received_name\">الدفعات المُسْتَقْبَلَة</string>\n  <string name=\"notification_channel_ongoing_name\">النشاط في الخلفية</string>\n  <string name=\"notification_channel_important_name\">التنبيهات الهامة</string>\n  <string name=\"appwidget_wallet_balance_title\">ميزانية البتكوين</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">حسنا</string>\n  <string name=\"button_dismiss\">إقالة</string>\n  <string name=\"button_cancel\">إلغاء</string>\n  <string name=\"button_retry\">إعادة المحاولة</string>\n  <string name=\"button_help\">مساعدة</string>\n  <string name=\"button_add\">إضافة</string>\n  <string name=\"button_delete\">حذف</string>\n  <string name=\"button_set\">تطبيق</string>\n  <string name=\"button_remove\">إزالة</string>\n  <string name=\"button_edit\">تحرير</string>\n  <string name=\"button_copy\">نسخ</string>\n  <string name=\"button_paste\">لصق</string>\n  <string name=\"button_share\">نشر</string>\n  <string name=\"button_set_as_default\">تعيين كافتراضي</string>\n  <string name=\"button_request_coins\">طلب بيتكوين</string>\n  <string name=\"button_send_coins\">إرسال بيتكوين</string>\n  <string name=\"button_scan\">مسح بصري</string>\n  <string name=\"button_settings\">الإعدادات</string>\n  <string name=\"action_show_qr\">عرض رمز الاستجابة السريعة QR-code</string>\n  <string name=\"action_browse\">تصفح</string>\n  <!--generic strings-->\n  <string name=\"time_today\">اليوم</string>\n  <string name=\"address_unlabeled\">(غير مسمى)</string>\n  <string name=\"private_key_password\">رمز الأمان PIN</string>\n  <string name=\"private_key_bad_password\">رمز الأمان PIN خاطئ !</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">خطأ مدخلات/مخرجات: %s</string>\n  <string name=\"error_http\">خطأ HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">خطأ في البلوتوث : %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ar/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tالجزء الأيسر العلوي من الشاشة يعرض عنوان البيتكوين الذي اخترته لكي يستخدمه الآخرون من أجل إرسال البيتكوين إليك.\n\t\t\tانقر لتغيير العنوان.\n\t\t</p>\n\t\t<p>\n\t\t\tرمز الاستجابة السريعة على يمين الشاشة يحتوي على عنوان البيتكوين الخاص بك ، ويمكن استخدامه من قبل الطرف آخر بمسحه بصريا.\n\t\t\tاضغط على رمز الاستجابة السريعة لتكبيره.\n\t\t</p>\n\t\t<p>\n\t\t\tيتم عرض رصيدك في منتصف الشاشة.\n\t\t\tتظهر قيمة محفظتك أيضا بالعملة المحلية المختارة .\n\t\t\tاضغط على الرصيد لعرض قائمة بجميع العملات المحلية ، و انقر على واحدة من العملات لتحديدها كعملة افتراضية.\n\t\t</p>\n\t\t<p>\n\t\t\tيتم تغطية الجزء السفلي من الشاشة  بقائمة المعاملات الخاصة بك ، تكون فارغة في البداية.\n\t\t\tوالمعاملات الرمادية هي معاملات معلقة حتى يتم تأكيدها.\n\t\t\tاضغط على أحد المعاملات لإضافة عناوين المرسلين أو المستفيدين إلى دفتر العناوين.\n\t\t</p>\n\t\t<p>\n\t\t\tيمكنك إرسال أو طلب البيتكوين من خلال النقر على أزرار شريط العمل.\n\t\t\tتوجد خيارات أكثر في قائمة الخيارات.\n\t\t</p>\n]]>\n\t</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ca/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">La teva cartera s\\'ha reiniciat, trigarà uns instants en tornar a recuperar-se</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Utilitzar sota la teva responsabilitat. Llegeix les &lt;u&gt;advertències de seguretat&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Necessites &lt;u&gt;fer una còpia de seguretat de la cartera&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d hores restants</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dies restants</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d setmanes restants</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d mesos restants</string>\n  <string name=\"blockchain_state_progress_downloading\">Sincronitzant amb la xarxa</string>\n  <string name=\"blockchain_state_progress_stalled\">Sincronització encallada</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Sincronitzant: problema d\\'emmagatzematge</string>\n  <string name=\"blockchain_state_progress_problem_network\">Sincronitzant: problema de xarxa</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">L\\'adreça Bitcoin s\\'ha copiat al porta-retalls.</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Per protegir la teva privacitat, la teva adreça canviarà quan rebi un pagament.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">El dispositiu és vell i insegur. Només es apropiat per a utilitzar pocs fons.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Aquesta quantitat de diners és molt elevada per portar-la a la butxaca, mou una part a un lloc segur.</string>\n  <string name=\"wallet_balance_fragment_replaying\">El saldo no està disponible durant la repetició.</string>\n  <string name=\"exchange_rates_activity_title\">Preus de canvi</string>\n  <string name=\"exchange_rates_fragment_empty_search\">No es pot trobar el preu de canvi.</string>\n  <string name=\"exchange_rates_fragment_default\">(per defecte)</string>\n  <string name=\"exchange_rates_fragment_rate\">taxa</string>\n  <string name=\"exchange_rates_fragment_balance\">balanç</string>\n  <string name=\"exchange_rates_fragment_source\">Preu des de %s</string>\n  <string name=\"exchange_rates_options_search\">Cercar preu de canvi</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Cap bitcoin rebut fins ara.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Cap Bitcoin enviat fins ara.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Com aconseguir bitcoins?\\nCanvia\\'ls per diner tradicional,\\nven béns o serveis o bé\\nguanyen treballant.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Enhorabona, has rebut el teu primer pagament! Tens a punt &lt;u&gt;una còpia de seguretat de la teva cartera&lt;/u&gt;, per protegir-te contra la pèrdua?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Consell: per augmentar la seguretat de la teva cartera, pots&lt;u&gt;xifrar el teu dispositiu&lt;/u&gt;. Això també protegeix les dades d\\'altres aplicacions.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">La xarxa de Bitcoin està en manteniment. És aconsellable no enviar ni rebre cap moneda fins que finalitzi el manteniment. &lt;u&gt;Més informació.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">minat</string>\n  <string name=\"wallet_transactions_fragment_internal\">intern</string>\n  <string name=\"wallet_transactions_options_filter\">Filtre</string>\n  <string name=\"wallet_transactions_options_filter_all\">Ambdós</string>\n  <string name=\"wallet_transactions_options_filter_received\">Rebut</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Enviats</string>\n  <string name=\"wallet_options_safety_menu\">Seguretat</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Posa un PIN de despesa</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Modifica el PIN de despesa</string>\n  <string name=\"wallet_options_safety\">Avisos de seguretat</string>\n  <string name=\"wallet_options_technical_notes_title\">Notes tècniques</string>\n  <string name=\"wallet_options_donate\">Propina / donar</string>\n  <string name=\"wallet_donate_address_label\">Donar a Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Alerta de seguretat</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">El component Bluetooth del teu dispositiu és vulnerable. Els teus bitcoins en aquest dispositiu estàn en risc, independentment de l\\'aplicació que utilitzeu per emmagatzamar-los!\\n\\nEt suggerim que apaguis el Bluetooth immediatament i comprobis si el fabricant del teu dispositiu ha llançat una actualització que implementi un parche de seguretat nivell \\\"%s\\\" o superior.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Espai d\\'emmagatzematge intern baix!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">La Cartera de Bitcoin utilitza emmagatzematge intern per a recordar els blocs i les transaccions. Si es queda sense espai, deixara de funcionar i els teus bitcoins estaran en risc!\\n\\nVols obrir el Gestor d\\'Aplicacions per a desinstal·lar aplicacions innecessàries?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Gestiona les aplicacions</string>\n  <string name=\"wallet_timeskew_dialog_title\">Comprova la teva configuració horària</string>\n  <string name=\"wallet_timeskew_dialog_msg\">El teu dispositiu està en deshora per %d minuts. Probablement no podràs enviar o rebre bitcoins degut a aquest problema.\\n\\nCal comprovar i corregir tant l\\'hora com la configuració de la zona horària.</string>\n  <string name=\"wallet_version_dialog_title\">Hi ha una nova versió disponible!</string>\n  <string name=\"wallet_version_dialog_msg\">Aquesta versió corregeix errors importants. Per a més detalls, consulta l\\'informe de canvis a %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Si no veus cap actualització, segurament voldrà dir que la teva versió Android ha deixat de ser suportada.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Descarrega</string>\n  <string name=\"wallet_old_sdk_dialog_title\">La versió Android està des-actualitzada.</string>\n  <string name=\"wallet_old_sdk_dialog_message\">El risc és que algun dels següents llançaments de la Cartera Bitcoin no siguin compatibles amb el teu dispositiu. En alguns casos, et pot ser difícil gastar les monedes en aquest dispositiu.\\n\\nA no ser que sàpigues el que estàs fent, es recomana treure aviat les teves monedes.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">S\\'ha produit un error en obrir configuració</string>\n  <string name=\"send_coins_activity_title\">Envia bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Important signatura des de %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">S\\'ha produit un error en obtenir la sol·licitud de pagament</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">El beneficiari (%1$s) està utilitzant un protocol de pagament no incompatible (motiu: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Signatura errònia!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">verificat per: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">desconegut</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Pagar a</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">escriu l\\'adreça o nom</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Adreça Bitcoin no vàlida!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Estàs a punt d\\'enviar-ho a tu mateix!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">complex\\nadreça</string>\n  <string name=\"send_coins_fragment_pending\">(%s esperant confirmació)</string>\n  <string name=\"send_coins_fragment_amount_label\">Total a pagar</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Una tarifa econòmica %s serà pagada. Important: Utilitza \\\"econòmic\\\" si no et preocupa el temps de confirmació.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Es pagarà una comissió de xarxa de %s.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Es pagarà una comissió de prioritat de %s. Si et preocupes per les comissions baixes, utilitza \\'prioritat\\' només si necessites confirmació tan aviat com sigui possible.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">La quantitat per enviar és massa petita.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Fons insuficients. És necessari %s més. Això es pot deure a la tarifa de la xarxa.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">L\\'import dels petits pagaments de la teva cartera no es sumen a la quantitat que es pot enviar.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Els pagaments no estan disponibles actualment a causa d\\'una repetició en curs.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Enviar el pagament directament al beneficiari.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">El teu pagament directe s\\'ha enviat correctament.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">El teu pagament ha segut refusat durant la connexió directa.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Pagament directe fallat</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">El teu pagament encara ha de ser retransmès a través de la xarxa P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Envia</string>\n  <string name=\"send_coins_fragment_button_back\">Enrere</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Tarfa de la xarxa significativa</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">La tarifa de la xarxa per aquest pagament (%1$s) és alta en relació a la quantitat (%2$s). Enviar igualment?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">No hi ha suficients monedes disponibles</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Et falten %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Vols pagar amb tot el que tens?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Fallada en el buidament de la cartera.</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Desencriptant…</string>\n  <string name=\"send_coins_preparation_msg\">Signant…</string>\n  <string name=\"send_coins_sending_msg\">Enviant…</string>\n  <string name=\"send_coins_sent_msg\">Enviat!</string>\n  <string name=\"send_coins_failed_msg\">Fallada!</string>\n  <string name=\"send_coins_error_msg\">Hi ha un problema enviant les monedes!</string>\n  <string name=\"send_coins_options_fee_category\">Comissió</string>\n  <string name=\"send_coins_options_fee_category_economic\">Econòmic</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioritat</string>\n  <string name=\"send_coins_options_empty\">Cartera buida</string>\n  <string name=\"raise_fee_dialog_title\">Augmentar la comissió de xarxa</string>\n  <string name=\"raise_fee_dialog_message\">Vols augmentar la comissió d\\'aquest pagament per %s? Això farà que el pagament es confirmi més ràpid.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Determinant la comissió de xarxa…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">La comissió de xarxa d\\'aquest pagament no es pot augmentar.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Desxifrant…</string>\n  <string name=\"raise_fee_dialog_state_done\">Fet.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Augmentar</string>\n  <string name=\"sweep_wallet_activity_title\">Incorpora una cartera de paper</string>\n  <string name=\"sweep_wallet_fragment_intro\">Estàs a punt d\\'incorporar una cartera de paper o un cupó. Això mourà totes les monedes d\\'aquest paper a la cartera del dispositiu. Quan la transacció es confirmi, el paper no valdrà res i no deurà ser reutilitzat per qüestions de seguretat.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Les carteres de paper són utilitzades normalment per a un emmagatzematge en fred. Alguns caixers les imprimeixen en un paperet en comptes d\\'enviar les monedes directament al teu dispositiu. La gent a vegades, utilitza carteres de paper per donar-li valor (no es recomana).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Comença escanejant la clau privada de la cartera de paper. Utilitza el botó d\\'acció de la càmera.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Aquesta clau està protegida amb una paraula de pas</string>\n  <string name=\"sweep_wallet_fragment_password\">paraula de pas</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">Paraula de pas incorrecta!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Balanç a incorporar</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Desencriptació</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Incorpora</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">La desencriptació \\nTrigarà uns 2 minuts aproximadament</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Carregant balanç…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Carregant balanç de la cartera fallat</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">No hi ha suficients monedes</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">La quantitat de monedes a la cartera és massa petita per incorporar-les.</string>\n  <string name=\"sweep_wallet_options_reload\">Recarrega el balanç</string>\n  <string name=\"maintenance_dialog_title\">Es recomana manteniment</string>\n  <string name=\"maintenance_dialog_message\">Has rebut %1$s a una adreça no segura. Vols moure aquests monedes a una adreça segura? Es pagarà una comissió de xarxa de %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Desencriptant…</string>\n  <string name=\"maintenance_dialog_state_done\">Fet.</string>\n  <string name=\"maintenance_dialog_button_move\">Moure</string>\n  <string name=\"request_coins_activity_title\">Demana bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Quantitat demanada (opcional)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Accepta el pagament a través de Bluetooth per a un procés més confiable.</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Agafa aquest codi escanejat per el qui envia. </string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">O prem un dispositiu amb NFC activat.</string>\n  <string name=\"request_coins_clipboard_msg\">Sol·licitud de bitcoins copiada al porta-retalls.</string>\n  <string name=\"request_coins_share_dialog_title\">Compartir sol·licitud de bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">No s\\'ha trobat cap altra aplicació Bitcoin</string>\n  <string name=\"request_coins_options_local_app_title\">Sol·licitud des de aplicació local</string>\n  <string name=\"address_book_activity_title\">Llibreta d\\'adreces</string>\n  <string name=\"address_book_list_receiving_title\">La teva adreça</string>\n  <string name=\"address_book_list_receiving_random\">Adreces antigues</string>\n  <string name=\"address_book_list_sending_title\">Enviant adreces</string>\n  <string name=\"address_book_empty_text\">Sense entrades a la llibreta d\\'adreces</string>\n  <string name=\"address_book_context_send_title\">Envia bitcoins a l\\'adreça</string>\n  <string name=\"address_book_context_edit_title\">Edita l\\'adreça</string>\n  <string name=\"address_book_context_remove_title\">Esborra l\\'adreça</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Copia al porta-retalls</string>\n  <string name=\"address_book_options_scan_title\">Escaneja l\\'adreça</string>\n  <string name=\"address_book_options_scan_invalid\">No es reconeixen les dades escanejades</string>\n  <string name=\"address_book_options_scan_own_address\">L\\'adreça escanejada és la teva.</string>\n  <string name=\"address_book_row_message_compromised_key\">Aquesta adreça podria estar compromesa. No l\\'hauries d\\'utilitzar mai mes per a rebre monedes.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Afegir adreça</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Edita l\\'adreça</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Afegeix una etiqueta a la teva adreça</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Edita l\\'etiqueta de la teva adreça</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adreça</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Nom</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Desa</string>\n  <string name=\"transaction_row_fee\">Comissió de xarxa</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Aquest pagament encara no s\\'ha transferit.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Aquesta transacció reforça la teva cartera contra robatori. &lt;u&gt;Més informació.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Aquesta transacció augmenta la comissió de xarxa per a un pagament anterior.</string>\n  <string name=\"transaction_row_message_received_direct\">Aquest pagament s\\'ha rebut directament. Hi ha risc de que mai es pugui gastar.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">La confirmació d\\'aquest pagament està retardada, probablement a causa d\\'una sobrecàrrega de la xarxa Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Aquest pagament deuria estar disponible en pocs minuts.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">A causa del manteniment de la xarxa de Bitcoin, no s\\'hauria de confiar en aquesta transacció fins que sigui totalment confirmada.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Aquest pagament té un major risc de ser revertit pel remitent! Si pots, espera la confirmació.</string>\n  <string name=\"transaction_row_message_received_dead\">Aquest pagament ha sigut revertit per qui l\\'ha enviat.</string>\n  <string name=\"transaction_row_message_received_dust\">Aquesta petita quantitat probablement mai podrà ser econòmicament gastada.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Aquest pagament es realitza a molts moneders a part del teu el qual fa que l\\'aplicació vagi cada vegada més lenta. Si pots, intenta rebre pagaments només dirigits a tu.</string>\n  <string name=\"transaction_row_message_received_rbf\">Aquest pagament es va retardar perquè l\\'emissor va utilitzar un tipus de transacció insegura.</string>\n  <string name=\"network_monitor_activity_title\">Monitor de xarxa</string>\n  <string name=\"network_monitor_peer_list_title\">Parells</string>\n  <string name=\"network_monitor_block_list_title\">Blocs</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Ajust de la dificultat de mineria</string>\n  <string name=\"block_row_mining_reward_adjustment\">Reducció de la recompensa de mineria</string>\n  <string name=\"block_row_now\">ara mateix</string>\n  <string name=\"peer_list_fragment_empty\">Cap parell connectat</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Recuperar cartera</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Estàs a punt de reemplaçar la teva cartera actual. Qualsevol saldo a l\\'actual cartera es perdrà a no ser que en tinguis una còpia de seguretat a part. </string>\n  <string name=\"import_keys_dialog_warning\">Important: No carreguis claus privades de fonts desconegudes! Si ho fas, et poden prendre el control dels teus fons.</string>\n  <string name=\"import_keys_dialog_button_import\">Restaura</string>\n  <string name=\"restore_wallet_dialog_success\">La cartera s\\'ha restaurat.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">La teva cartera s\\'ha restaurat correctament. El balanç es determinara seguidament. Pot trigar una estona.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">El teu moneder és protegit per un PIN de despesa. Estigues segur de recordar aquest PIN a més de la contrsenya per la còpia de seguretat!</string>\n  <string name=\"import_keys_dialog_failure\">La cartera no es pot restaurar:\\n\\n%s\\n\\nClau de pas errònia?</string>\n  <string name=\"export_keys_dialog_title\">Còpia de seguretat de la cartera</string>\n  <string name=\"backup_wallet_dialog_message\">La teva còpia de seguretat s\\'encriptarà amb la paraula clau triada i s\\'escriurà a un emmagatzematge extern.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">El teu moneder és protegit per un PIN de despesa. Estigues segur de recordar aquest PIN a més del password per la còpia de seguretat!</string>\n  <string name=\"export_keys_dialog_button_export\">Còpia de seguretat.</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>S\\'ha guardat una copia de seguretat en <tt>%s</tt><p><b>Si l\\'unic lloc on conserver la còpia és al dispositiu, corres el risc de perdre ambdues al mateix temps!</b></p><p>En qualsevol cas, recorda la contrasenya.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">La cartera no pot ser bloquejada:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">paraula de pas</string>\n  <string name=\"backup_wallet_dialog_password_again\">una altra vegada</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">desajust!</string>\n  <string name=\"import_export_keys_dialog_show\">Mostra paraula de pas.</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Error</string>\n  <string name=\"import_keys_intent_filter_action\">Recuperar cartera</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN de despesa</string>\n  <string name=\"encrypt_keys_dialog_message\">Gastar des del teu moneder estarà protegit amb el PIN triat.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Important: No utilitzis números comuns (com dates d\\'aniversari) als teus PINs.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">PIN Antic</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">fluix</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">justet</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">bo</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">fort</string>\n  <string name=\"encrypt_keys_dialog_show\">Mostra el PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Encriptant…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Desencriptant…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Fet.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Disculpes</string>\n  <string name=\"scan_camera_problem_dialog_message\">La càmera té un problema. Probablement necessites reiniciar el dispositiu.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Permís de càmera</string>\n  <string name=\"scan_camera_permission_dialog_message\">Per poder escanejar codis QR, cal concedir el permís d\\'utilitzar la càmera.</string>\n  <string name=\"input_parser_io_error\">No es poden llegir les dades:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">No es pot reconèixer l\\'entrada:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Adreça de Bitcoin no vàlida:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Direcció rebuda de Bitcoin no vàlida.!\\n(Mixing up mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">No es pot verificar la petició de pagament:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Petició de pagament no vàlida:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Transacció no vàlida:\\n%s</string>\n  <string name=\"preferences_activity_title\">Ajustaments</string>\n  <string name=\"preferences_category_diagnostics\">Diagnosi</string>\n  <string name=\"preferences_category_labs\">Laboratoris</string>\n  <string name=\"preferences_precision_title\">Denominació i exactitud</string>\n  <string name=\"preferences_precision_summary\">Unitat en que es mostren els imports. No afecta al còmput.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 xifres decimals</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 xifres decimals</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 xifres decimals</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 xifres decimals</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, sense decimals</string>\n  <string name=\"preferences_own_name_title\">Nom propi</string>\n  <string name=\"preferences_own_name_summary\">El teu propi nom, que s\\'afegeix a les sol·licituds de pagament. Intenta que sigui breu.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Tancar de manera automàtica el diàleg d\\'enviament de monedes</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Quan s\\'efectuï el pagament, el diàleg d\\'enviament es tancarà automàticament.</string>\n  <string name=\"preferences_trusted_peer_title\">Parell de confiança</string>\n  <string name=\"preferences_trusted_peer_summary\">IP o nom de host del parell per connectar-hi</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Resolent…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Nom de host desconegut!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Omet la cerca regular de parells</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Evita de connectar a qualsevol parell que no sigui un parell de confiança.</string>\n  <string name=\"preferences_block_explorer_title\">Explorador de blocs</string>\n  <string name=\"preferences_block_explorer_summary\">Explorador de blocs extern a utilitzar per cercar transaccions, adreces i blocs.</string>\n  <string name=\"preferences_data_usage_title\">Ús de dades</string>\n  <string name=\"preferences_data_usage_summary\">Mostra opcions per a restringir l\\'ús de dades en xarxes mòbils. </string>\n  <string name=\"preferences_remind_balance_title\">Recordatori de balanç</string>\n  <string name=\"preferences_remind_balance_summary\">Després de no ser utilitzat durant un parell de setmanes, l\\'aplicació us avisarà si encara hi ha monedes a la cartera.</string>\n  <string name=\"preferences_show_disclaimer_title\">Ensenyar renúncies</string>\n  <string name=\"preferences_show_disclaimer_summary\">Has llegit les notes de seguretat? Ja has fet una còpia de seguretat i l\\'has guardat en un lloc segur?</string>\n  <string name=\"preferences_report_issue_title\">Avisa d\\'un problema</string>\n  <string name=\"preferences_initiate_reset_title\">Reinicialitza la cadena de blocs</string>\n  <string name=\"preferences_initiate_reset_summary\">Restablir la cadena de blocs, les transaccions i el balanç de la cartera. Aquesta repetició prendrà un temps, per tant fes-ho només si saps perquè.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Vols reiniciar i tornar a reproduir la cadena de blocs?\\n\\nAixò amagarà temporalment el balanç de la teva cartera i eliminarà les transaccions. Tots dos es recuperaran a mesura que la sincronització de la cadena de blocs avanci. Assegura\\'t que tens una connexió a Internet fiable.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Reinicia</string>\n  <string name=\"preferences_extended_public_key_title\">Mostra extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Visualitza la clau pública extesa de la teva butxaca, per poder ser importades per altes aplicacions o serveis. Tingues compte: Si ho fa, revelar la seva privacitat monetària per a aquesta aplicació.</string>\n  <string name=\"bitmap_fragment_share\">Compartir…</string>\n  <string name=\"extended_public_key_fragment_title\">Clau pública extesa</string>\n  <string name=\"extended_public_key_fragment_share\">Comparteix extended public key</string>\n  <string name=\"report_issue_dialog_title_issue\">Reportar problema</string>\n  <string name=\"report_issue_dialog_title_crash\">Bloqueig previ detectat.</string>\n  <string name=\"report_issue_dialog_title_transaction\">Informa d\\'un problema amb el pagament sel·leccionat</string>\n  <string name=\"report_issue_dialog_message_issue\">Descriu el problema amb la suficient precisió per a ser reproduït. Utilitza l\\'Anglès si és possible.</string>\n  <string name=\"report_issue_dialog_message_crash\">T\\'agradaria enviar un report de bloqueig, ajudant a reparar aquest problema en el futur?</string>\n  <string name=\"report_issue_dialog_description\">descripció del problema</string>\n  <string name=\"report_issue_dialog_report\">Reportar</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Adjuntar informació de dispositiu</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Adjuntar registre d\\'aplicació</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Adjuntar buidat de dades de cartera.</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Enviant report utilitzant…</string>\n  <string name=\"about_title\">Quant a</string>\n  <string name=\"about_version_title\">Versió</string>\n  <string name=\"about_copyright_title\">Drets de còpia</string>\n  <string name=\"about_license_title\">Llicència</string>\n  <string name=\"about_source_title\">Codi font</string>\n  <string name=\"about_category_credits\">Aquesta aplicació utilitza…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_title\">Pàgina de %s</string>\n  <string name=\"about_market_app_summary\">Analitza o puntua l\\'aplicació</string>\n  <string name=\"about_faq_title\">Preguntes freqüents</string>\n  <string name=\"about_faq_summary\">Preguntes freqüents sobre l\\'aplicació</string>\n  <string name=\"notification_coins_received_msg\">Rebuts%s</string>\n  <string name=\"notification_peers_connected_msg\">%d parells connectats</string>\n  <string name=\"notification_inactivity_title\">Encara tens Bitcoins en aquest dispositiu!</string>\n  <string name=\"notification_inactivity_message\">Recorda que el teu balanç de %s es perdrà si es desinstal·la l\\'aplicació Bitcoin Wallet sense enviar-los primer.</string>\n  <string name=\"notification_inactivity_message_donate\">Si no et preocupen les teves monedes, també pots donar-les al projecte Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Recorda més tard</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">No m\\'ho recordis</string>\n  <string name=\"notification_channel_received_name\">Pagaments rebuts</string>\n  <string name=\"notification_channel_ongoing_name\">Activitat de fons</string>\n  <string name=\"notification_channel_important_name\">Alertes importants</string>\n  <string name=\"appwidget_wallet_balance_title\">Balanç Bitcoin</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">D\\'acord</string>\n  <string name=\"button_dismiss\">Descarta</string>\n  <string name=\"button_cancel\">Cancel·la</string>\n  <string name=\"button_retry\">Re-intenta</string>\n  <string name=\"button_help\">Ajuda</string>\n  <string name=\"button_add\">Afegeix</string>\n  <string name=\"button_delete\">Esborra</string>\n  <string name=\"button_set\">Aplica</string>\n  <string name=\"button_remove\">Elimina</string>\n  <string name=\"button_edit\">Edita</string>\n  <string name=\"button_copy\">Copia</string>\n  <string name=\"button_paste\">Enganxa</string>\n  <string name=\"button_share\">Comparteix</string>\n  <string name=\"button_set_as_default\">Configura per defecte</string>\n  <string name=\"button_request_coins\">Demana monedes</string>\n  <string name=\"button_send_coins\">Envia monedes</string>\n  <string name=\"button_scan\">Escanejar</string>\n  <string name=\"button_settings\">Ajustaments</string>\n  <string name=\"action_show_qr\">Mostra codi QR</string>\n  <string name=\"action_browse\">Navega</string>\n  <!--generic strings-->\n  <string name=\"time_today\">avui</string>\n  <string name=\"address_unlabeled\">(no etiquetat)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">PIN incorrecte!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Error I/O: %s</string>\n  <string name=\"error_parse\">Anàlisis d\\'errors: %s</string>\n  <string name=\"error_http\">Error HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Error Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ca/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tLa part superior esquerra de la pantalla mostra l\\'adreça Bitcoin que has seleccionat, que és la que ha de conèixer l\\'altra gent per a poder enviar-te bitcoins.\n\t\t\tPrem per canviar l\\'adreça.\n\t\t</p>\n\t\t<p>\n\t\t\tEl codi QR de la dreta conté la teva adreça Bitcoin i pot ser utilitzada si es escanejada per l\\'altra persona.\n\t\t\tPrem sobre el codi QR per obtenir-ne una versió més gran.\n\t\t</p>\n\t\t<p>\n\t\t\tAl mig de la pantalla, es mostra el teu balanç.\n\t\t\tEl valor de la teva cartera també és mostrat amb la teva divisa local.\n\t\t\tPrem sobre balanç per a mostrar la llista de totes les divises locals, seguidament prem una de les divises per a seleccionar-la per defecte.\n\t\t</p>\n\t\t<p>\n\t\t\tA la part baixa de la pantalla és on es mostra la teva llista de transaccions, la qual estarà buida al principi.\n\t\t\tLes transaccions pendents es mantenen grisenques fins que estiguin confirmades.\n\t\t\tPrem sobre una entrada per afegir l\\'adreça del que envia o rep a la llibrera d\\'adreces.\n\t\t</p>\n\t\t<p>\n\t\t\tPots enviar o demanar monedes prement els botons de la barra d\\'accions.\n\t\t\tAl menú d\\'opcions hi ha disponibles més opcions.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tUtilitzant aquest guió, pots demanar monedes a una altra persona (que també ha de tenir la Cartera Bitcoin instal·lada).\n\t\t</p>\n\t\t<p>\n\t\t\tPrimer, hauràs d\\'anotar la quantitat de bitcoins a sol·licitar.\n\t\t</p>\n\t\t<p>\n\t\t\tLlavors, els dos tindreu el codi QR que haurà d\\'escanejar l\\'altra persona.\n\t\t\tO bé, pots enviar la teva sol·licitud a una persona que es troba lluny, mitjançant el botó de compartir a la barra d\\'accions.\n\t\t\tL\\'altra persona tindrà que prémer l\\'enllaç Bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tDe totes dos maneres, l\\'altra persona rebrà un diàleg per a enviar monedes amb tots els camps pre-omplerts.\n\t\t\tSi accepta, tot el que haurà de fer és enviar el pagament.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tHas començat el procés per a enviar monedes.\n\t\t\tHas arribat aquí a través de la pantalla principal o prement una adreça Bitcoin del navegador del mòbil.\n\t\t</p>\n\t\t<p>\n\t\t\tPrimerament, entra l\\'adreça Bitcoin a la que vols pagar.\n\t\t\tL\\'adreça es completarà automàticament si ja hi ha entrades coincidents a la teva llibreta d\\'adreces.\n\t\t\tTambé pots escanejar codis QR que continguin adreces bitcoin o demanar bitcoins prement el botó QR de la barra d\\'acció.\n\t\t</p>\n\t\t<p>\n\t\t\tSeguidament, pots veure quants bitcoins pots gastar en aquest moment.\n\t\t\tQualsevol diferencia de balanç sobre la pantalla principal, significa que no està confirmat i per això encara no pot ser gastat.\n\t\t</p>\n\t\t<p>\n\t\t\tPer últim, introdueix la quantitat a pagar.\n\t\t</p>\n\t\t<p>\n\t\t\tPots introduir un pagament mentre estiguis fora de línia.\n\t\t\tS\\'enviarà la següent vegada que s\\'iniciï la Cartera Bitcoin.\n\t\t\tSi vols que un pagament sigui processat tant ràpid com sigui possible, assegura\\'t que estàs ben connectat. (per ex. en una WLAN)\n\t\t</p>\n\t\t<p>\n\t\t\tAvís:\n\t\t\tEls pagaments són irreversibles!\n\t\t\tComprova sempre l\\'adreça de recepció.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Avisos importants de seguretat:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tEls bitcoins estan emmagatzemats al dispositiu.\n\t\t\t<b>Si el perds, perdràs tots els teus bitcoins.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tAixò vol dir que necessites <b>fer una còpia de seguretat de la teva cartera</b>!\n\t\t\tUtilitza el servei de còpia de seguretat de l\\'aplicació per fer-la, en comptes d\\'una aplicació de còpies de seguretat de tercers.\n\t\t\tConserva la teva còpia de seguretat segura i recorda la teva paraula de pas.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Abans de desinstal·lar</b> (o esborrar les dades de l\\'aplicació/formatar el teu dispositiu), <b>transfereix els teus Bitcoins cap a una altra cartera</b>.\n\t\t\tEls bitcoins que es quedin es perdran.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Els pagaments són irreversibles</b>.\n\t\t\tSi envies els teus Bitcoins al buit, no hi ha forma de fer-los tornar.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Conserva el teu dispositiu mòbil segur!</b>\n\t\t\tNo facis un root al teu dispositiu.\n\t\t\tInstal·la solament aplicacions en que confiïs totalment.\n\t\t\tLes aplicacions malicioses poden intentar robar la teva cartera.\n\t\t</p>\n\t\t<p>\n\t\t\tMantingues el risc baix!\n\t\t\t<b>Utilitza solament petites quantitats </b> per al dia a dia.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-cs/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Vaše peněženka byla zresetována!\\nObnova chvíli potrvá.</string>\n  <string name=\"toast_start_external_document_failed\">K otevření externího dokumentu není nainstalován žádný webový prohlížeč.</string>\n  <string name=\"toast_start_storage_provider_selector_failed\">Není nainstalován žádný vhodný poskytovatel cloudového úložiště.\\nPotřebujete něco jako „Nextcloud“ nebo „Google disk“.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Použití na vlastní riziko. Přečtěte si &lt;u&gt;bezpečnostní pokyny&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Musíte si &lt;u&gt;zazálohovat svou peněženku&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d hodin pozadu</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dnů pozadu</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d týdnů pozadu</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d měsíců pozadu</string>\n  <string name=\"blockchain_state_progress_downloading\">Synchronizace se sítí</string>\n  <string name=\"blockchain_state_progress_stalled\">Synchronizace pozastavena</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Problém se synchronizací: Nízký úložný prostor</string>\n  <string name=\"blockchain_state_progress_problem_network\">Problém se synchronizací: Žádné připojení k síti</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Adresa zkopírována do schránky</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Z důvodu ochrany soukromí dojde ke změně této adresy po každé přijaté platbě.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Vaše zařízení je staré a nezajištěné. Prosím používejte jej pouze pro malé částky</string>\n  <string name=\"wallet_balance_fragment_too_much\">Tato částka je poměrně vysoká na nosení v kapse. Převeďte ji prosím na bezpečnější místo.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Bilance je nedostupná během synchronizace.</string>\n  <string name=\"exchange_rates_activity_title\">Směnné kurzy</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Nelze najít směnný kurz.</string>\n  <string name=\"exchange_rates_fragment_default\">(výchozí)</string>\n  <string name=\"exchange_rates_fragment_rate\">kurz</string>\n  <string name=\"exchange_rates_fragment_balance\">bilance</string>\n  <string name=\"exchange_rates_fragment_source\">Cena z %s</string>\n  <string name=\"exchange_rates_options_search\">Vyhledat směnný kurz</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Zatím nebyly žádné bitcoiny obdrženy.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Zatím nebyly žádné bitcoiny odeslány.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Jak získat Bitcoiny?\\nSměnou za klasické peníze,\\nprodejem zboží nebo služeb\\nnebo vyděláním prací.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Před přijetím bitcoinů prosím\\nzálohujte svou peněženku!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Gratulujeme, přijal jste svou první platbu! Už jste si &lt;u&gt;zazálohovali tuto peněženku&lt;/u&gt;, abyste se ochránil proti ztrátě?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Tip: pokud chcete zvýšit bezpečnost své peněženky, můžete &lt;u&gt;šifrovat data svého přístroje&lt;/u&gt;. Toto také chrání data ostatních aplikací.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Bitcoin připojení prochází údržbou. Doporučujeme vám, abyste mince neposílali ani nepřijímali, dokud nedokončíme údržbu.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">vytěženo</string>\n  <string name=\"wallet_transactions_fragment_internal\">interní</string>\n  <string name=\"wallet_transactions_options_filter\">Filtr</string>\n  <string name=\"wallet_transactions_options_filter_all\">Všechny platby</string>\n  <string name=\"wallet_transactions_options_filter_received\">Přijaté platby</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Odeslané platby</string>\n  <string name=\"wallet_options_request_legacy\">Žádost o starší adresu</string>\n  <string name=\"wallet_options_safety_menu\">Bezpečnost</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Nastavit PIN pro utrácení</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Změnit PIN pro utrácení.</string>\n  <string name=\"wallet_options_safety\">Bezpečnost</string>\n  <string name=\"wallet_options_technical_notes_title\">Technické informace</string>\n  <string name=\"wallet_options_donate\">Přispěj</string>\n  <string name=\"wallet_donate_address_label\">Dar pro Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Bezpečnostní ohrožení</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Vaš zařízení s Bluetooth je zranitelné. Vaše Bitcoiny na tomto zařízení nejsou zabezpečené, bezohledu na to jakou používáte applikaci! Doporučujeme vám okamžitě vypnout funkci Bluetooth a u výrobce vašeho zařízení zkontrolovat systém Android pro aktualizaci která implementuje úroveň opravy zabezpečení \\'%s\\' nebo vyšší.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Na vnitřním úložišti není dostatek místa!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet používá vnitřní úložiště pro ukládání transakcí a bloků. Pokud dojde místo v ůložišti, přestane fungovat a vaše Bitcoiny budou vystaveny riziku ztráty!\\n\\nChcete otevřít Správu Aplikací a odinstalovat nepotřebné aplikace?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Spravovat aplikace</string>\n  <string name=\"wallet_timeskew_dialog_title\">Ověřit nastavení data &amp; času</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Čas na tomto přístroji se rozchází o %d minut. Kvůli tomuto problému pravděpodobně nemůžete posílat a přijímat Bitcoiny.\\n\\nZkontrolujte a pokud třeba opravte nastavení data, času a časové zóny.</string>\n  <string name=\"wallet_version_dialog_title\">Je k dispozici nová verze!</string>\n  <string name=\"wallet_version_dialog_msg\">Tato verze opravuje důležité chyby. Podrobnosti naleznete v seznamu změn na %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Pokud nevidíte aktualizaci, znamená to, že verze vašeho operačního systému Android již není podporována.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Stáhnout</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Verze systému Android je příliš stará</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Je pravděpodobné, že jedna z následujících verzí Bitcoin Wallet nebude podporovat vaše zařízení. V některých případech může být v takové situaci komplikované utratit Bitcoiny na tomto zařízení.\\n\\nPokud si nejste jistí co dělat, tak doporučujeme tyto Bitcoiny přemístit brzy do jiného zařízení.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problém s otevřením nastavení.</string>\n  <string name=\"send_coins_activity_title\">Zaslat Bitcoiny</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Stahuji podpis z %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Načítání žádosti o platbu se nezdařilo</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Příjemce (%1$s) používá nekompatibilní platební protokol (důvod: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Špatný podpis!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">ověřeno kým: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">neznámý</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Příjemce</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">napište adresu či jméno</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Neplatná bitcoinová adresa!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Chystáte se poslat sami sobě!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">komplex\\nadresa</string>\n  <string name=\"send_coins_fragment_pending\">(%s čeká na potvrzení)</string>\n  <string name=\"send_coins_fragment_amount_label\">Částka k zaplacení</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Bude vyplacen ekonomický poplatek %s. Důležité: Použijte „ekonomický“, pouze pokud vám nezáleží na době potvrzení.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Poplatek za připojení %s bude započítán.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Bude vyplacen prioritní poplatek %s. Důležité: Pokud vám záleží na nízkých poplatcích, použijte „prioritní“, pouze pokud potřebujete potvrzení co nejdříve.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Částka je příliš nízká pro odeslání.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Nemáte dostatek mincí. Chybí vám %s.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Množství malých plateb ve vaší peněžence neumožňuje v součtu zaslání platby.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">V současné době nejsou platby možné, protože probíhá přehrávání.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Pošli platbu přímo příjemci.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Vaše platba byla úspěšně zaslána přímo.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Vaše platba byla odmítnuta přímým spojením.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Přímá platba selhala</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Vaše platba bude stejně odeslána pomocí P2P sítě.</string>\n  <string name=\"send_coins_fragment_button_send\">Odeslat</string>\n  <string name=\"send_coins_fragment_button_back\">Zpět</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Významný síťový poplatek</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Síťový poplatek za tuto platbu (%1$s) je vysoký ve srovnání s částkou (%2$s). Chcete přesto poslat?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Nedostatek mincí.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Chybí vám %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Přejete si zaplatit vším co máte?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Vyprázdnění peněženky selhalo</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Dešifrování…</string>\n  <string name=\"send_coins_preparation_msg\">Podepisuji…</string>\n  <string name=\"send_coins_sending_msg\">Posílám…</string>\n  <string name=\"send_coins_sent_msg\">Odesláno!</string>\n  <string name=\"send_coins_failed_msg\">Chyba!</string>\n  <string name=\"send_coins_error_msg\">Problém při zasílání!</string>\n  <string name=\"send_coins_options_fee_category\">Poplatek</string>\n  <string name=\"send_coins_options_fee_category_economic\">Ekonomický</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normální</string>\n  <string name=\"send_coins_options_fee_category_priority\">Priorita</string>\n  <string name=\"send_coins_options_empty\">Vyprázdnit peněženku</string>\n  <string name=\"raise_fee_dialog_title\">Navýšit poplatek</string>\n  <string name=\"raise_fee_dialog_message\">Chcete navýšit poplatek síti pro tuto platbu o %s? To urychlí potvrzení platby.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Určování poplatku sítě…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Poplatek síti pro tuto platbu nelze navýšit.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Dešifrování…</string>\n  <string name=\"raise_fee_dialog_state_done\">Hotovo.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Navýšit</string>\n  <string name=\"sweep_wallet_activity_title\">Načíst papírovou peněženku</string>\n  <string name=\"sweep_wallet_fragment_intro\">Chystáte se načíst papírovou peněženku nebo kupón. Tato akce přemístí veškeré mince z papíru do peněženky na toto zařízení. Poté co bude transakce potvrzena už papír nepotřebujete a neměl by být z bezpečnostních důvodů dále používán.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Papírové peněženky se nejčastěji používají jako cold storage. Některé bitcoinmaty je tisknou na lístcích, než aby je poslali přímo do vašeho zařízení. Lidé také někdy používají přednabité papírové peněženky pro směnu bitcoinů (což ale není doporučeno).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Začněte načtením privátního klíče z papírové peněženky. Použijte tlačítko kamery z menu.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Tento soukromý klíč je chráněn heslem.</string>\n  <string name=\"sweep_wallet_fragment_password\">heslo</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">špatné heslo!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Bilance k načtení</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Dešifrovat</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Načtení</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Dešifruji…\\nTato operace může trvat až 2 minuty.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Načítám bilanci…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Načtení bilance peněženky selhalo</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Máte špatné připojení k síti Electrum.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Papírová peněženka je prázdná.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Nemáte dostatek mincí</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Počet mincí v peněžence je příliš nízký pro načtení.</string>\n  <string name=\"sweep_wallet_options_reload\">Znovu načíst bilanci</string>\n  <string name=\"maintenance_dialog_title\">Údržba doporučena.</string>\n  <string name=\"maintenance_dialog_message\">Přijal jste %1$s na nezabezpečenou adresu. Přejete si převést tyto mince na zabezpečenou adresu? Bude vyplacen malý poplatek síti ve výši %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Dešifrování…</string>\n  <string name=\"maintenance_dialog_state_done\">Hotovo.</string>\n  <string name=\"maintenance_dialog_button_move\">Přemístit</string>\n  <string name=\"request_coins_activity_title\">Vyžádat Bitcoiny</string>\n  <string name=\"request_coins_fragment_amount_label\">Vyžadovaná částka (volitelně)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Přijmout platbu pomocí Bluetooth</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Nabídněte odesilateli tento kód k oskenování.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Nebo poklepejte na zařízení vybavené NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">Požadavek na platbu zkopírován do schránky</string>\n  <string name=\"request_coins_share_dialog_title\">Sdílet požadavek na Bitcoiny…</string>\n  <string name=\"request_coins_no_local_app_msg\">Žádná další Bitcoin aplikace nebyla nalezena</string>\n  <string name=\"request_coins_options_local_app_title\">Požadavek z místní aplikace</string>\n  <string name=\"address_book_activity_title\">Adresář</string>\n  <string name=\"address_book_list_receiving_title\">Vlastní adresy</string>\n  <string name=\"address_book_list_receiving_random\">Staré adresy</string>\n  <string name=\"address_book_list_sending_title\">Odchozí adresy</string>\n  <string name=\"address_book_empty_text\">Žádný záznam v adresáři</string>\n  <string name=\"address_book_context_send_title\">Odeslat Bitcoiny na adresu</string>\n  <string name=\"address_book_context_edit_title\">Změnit adresu</string>\n  <string name=\"address_book_context_remove_title\">Odebrat adresu</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopírovat do schránky</string>\n  <string name=\"address_book_options_scan_title\">Skenovat adresu</string>\n  <string name=\"address_book_options_scan_invalid\">Naskenovaná data jsou nerozpoznatelná</string>\n  <string name=\"address_book_options_scan_own_address\">Naskenovaná adresa je vaše vlastní.</string>\n  <string name=\"address_book_row_current_address\">Toto je vaše aktuální adresa pro příjem.</string>\n  <string name=\"address_book_row_message_compromised_key\">Tato adresa byla nejspíše kompromitována. Neměla by být již nikdy používána pro příjem plateb.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Přidat odesílací adresu</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Upravit popisek odesílací adresy</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Přidat popisek k vaší adrese</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Upravit popisek vaší adresy</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adresa</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Popisek</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Uložit</string>\n  <string name=\"transaction_row_fee\">Poplatek síti</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Tato platba nebyla ještě odeslána.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Tato platba byla připsána na vaši peněženku.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Vaše platba byla úspěšná. Došla k příjemci platby.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Tato platba selhala.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Vaše platba selhala.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Tato transakce zvýší ochranu vaší peněženky proti krádeži. &lt;u&gt;Více informací.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Tato transakce navyšuje poplatek pro předcházející platbu.</string>\n  <string name=\"transaction_row_message_received_direct\">Tato platba byla přijata přímo. Je zde riziko, že prostředky nebude možno nikdy utratit.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Potvrzení této platby je pozdrženo, nejspíše z důvodu přetížení Bitcoin sítě.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Tuto platbu bude možné utratit během několika minut.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Z důvodu údržby v bitcoinové síti by neměla být tato transakce důvěryhodná, dokud nebude plně potvrzena.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Tato platba vykazuje zvýšené riziko odvolání jejím odesilatelem! Pokud můžete, počkejte na její potvrzení.</string>\n  <string name=\"transaction_row_message_received_dead\">Tato platba byla odvolána odesílatelem.</string>\n  <string name=\"transaction_row_message_received_dust\">Takto malá částka pravděpodobně nikdy nebude utracena ekonomicky.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Tato platba byla provedena na vícero peněženek než jen na tu vaši. To může zpomalit běh této aplikace. Pokud to půjde pokuste se přijímat platby určené pouze a přímo vám.</string>\n  <string name=\"transaction_row_message_received_rbf\">Tato platba byla pozdržena, protože odesilatel použil nezabezpečený typ transakce.</string>\n  <string name=\"network_monitor_activity_title\">Monitor sítě</string>\n  <string name=\"network_monitor_peer_list_title\">Peeři</string>\n  <string name=\"network_monitor_block_list_title\">Bloky</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Úprava obtížnosti těžení</string>\n  <string name=\"block_row_mining_reward_adjustment\">Půlení odměny za těžení</string>\n  <string name=\"block_row_now\">právě teď</string>\n  <string name=\"peer_list_fragment_empty\">Žádný peer připojen.</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Obnovit peněženku</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Chystáte se nahradit svou současnou peněženku. Veškeré prostředky v současné peněžence budou ztraceny, pokud ji však nemáte zazálohovanou.</string>\n  <string name=\"import_keys_dialog_warning\">Důležité: Nenahrávejte privátní klíče z pochybných zdrojů! Pokud tak činíte, někdo jiný může manipulovat s vašimi penězmi.</string>\n  <string name=\"import_keys_dialog_button_import\">Obnovit</string>\n  <string name=\"restore_wallet_dialog_success\">Peněženka obnovena.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Vaše peněženka byla úspěšně obnovena. Její bilance bude vypočtena následně. To nějaký čas zabere.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Varování: Vaše peněženka je chráněna PINem při utrácení. Než do této peněženky příjmete platbu, nezapomeňte si PIN ještě zopakovat.</string>\n  <string name=\"import_keys_dialog_failure\">Peněženka nemohla být obnovena:\\n\\n%s\\n\\nŠpatné heslo?</string>\n  <string name=\"export_keys_dialog_title\">Zálohovat peněženku</string>\n  <string name=\"backup_wallet_dialog_message\">Vaše peněženka bude zašifrována zvoleným heslem a zapsána do externího úložiště.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Vaše peněženka je zabezpečena PINem pro utrácení. Ujistěte se, že si pamatujete nejenom PIN ale také heslo k záloze.</string>\n  <string name=\"export_keys_dialog_button_export\">Zálohovat</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Vaše peněženka byla zazálohována do <tt>%s</tt></p><p><b>Pokud je záloha pouze na tomto zařízení tak se vystavujete riziku že ztratíte oboje zároveň!</b></p><p>Každopádně se ujistěte, že si pamatujete heslo.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Vaše peněženka nemohla být zazálohována:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">heslo</string>\n  <string name=\"backup_wallet_dialog_password_again\">znovu</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">nesouhlasí!</string>\n  <string name=\"import_export_keys_dialog_show\">Ukázat heslo</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Chyba</string>\n  <string name=\"import_keys_intent_filter_action\">Obnovit peněženku</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN k utrácení</string>\n  <string name=\"encrypt_keys_dialog_message\">Útrata z vaší peněženky bude chráněna zvoleným PINem.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Důležité: Musíte si zapamatovat svůj PIN! Nepoužívejte uhádnutelné kombinace (jako data narození).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Starý PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">slabý</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">ujde</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">dobrý</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">silný</string>\n  <string name=\"encrypt_keys_dialog_show\">Zobrazit PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Šifruji…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Dešifruji…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Hotovo.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Omlouváme se</string>\n  <string name=\"scan_camera_problem_dialog_message\">Problém s kamerou. Pravděpodobně je potřeba restartovat zařízení.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Oprávnění používat kameru</string>\n  <string name=\"scan_camera_permission_dialog_message\">Skenování QR kódů vyžaduje oprávnění používat kameru.</string>\n  <string name=\"input_parser_io_error\">Nelze přečíst data:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Nelze rozpoznat vstup:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Neplatná Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Obdržená neplatná bitcoinová adresa!\\n(Nemícháte mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Nelze ověřit požadavek na platbu:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Neplatný požadavek na platbu:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Neplatná transakce:\\n%s</string>\n  <string name=\"preferences_activity_title\">Nastavení</string>\n  <string name=\"preferences_category_general\">Obecné</string>\n  <string name=\"preferences_category_privacy\">Kontrola soukromí</string>\n  <string name=\"preferences_category_merchants\">Obchodníci</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostika</string>\n  <string name=\"preferences_category_labs\">Laboratoř</string>\n  <string name=\"preferences_precision_title\">Denominace a přesnost</string>\n  <string name=\"preferences_precision_summary\">Jednotka pro zobrazování částek. Neovlivňuje výpočty.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 desetinných míst</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 desetinných míst</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 desetinná místa</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 desetinná místa</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, bez desetinných míst</string>\n  <string name=\"preferences_own_name_title\">Vlastní jméno</string>\n  <string name=\"preferences_own_name_summary\">Vaše jméno nebo název vaší společnosti, který bude přidán k žádostem o platbu, které vystavíte svým zákazníkům.</string>\n  <string name=\"preferences_own_name_dialog_message\">Snažte se to zkrátit.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Automaticky zavírat dialog odeslání platby</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Pokud je provedena platba, dialog odesílání bude zavřen automaticky.</string>\n  <string name=\"preferences_sync_mode_title\">Využití dat vs. soukromí</string>\n  <string name=\"preferences_sync_mode_summary\">Při synchronizaci se sítí si můžete vybrat mezi nízkým využitím dat a vylepšeným ochranou soukromí.</string>\n  <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>Nízké využití dat:</b> Filtrování sítě použijte ke čtení pouze transakcí souvisejících s vaší peněženkou. Bude používat přibližně 500 MB za měsíc, ale zpřístupní filtr síti.]]></string>\n  <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>Vylepšené soukromí</b> Nezveřejní žádné informace o vaší peněžence do sítě. Uvědomte si, že protože jsou čteny všechny transakce, bude to používat 10 GB za měsíc. Před použitím si prosím ověřte svůj datový limit.]]></string>\n  <string name=\"preferences_trusted_peer_title\">Důvěryhodný peer</string>\n  <string name=\"preferences_trusted_peer_summary\">IP nebo hostname jednoho peera ke kterému se chcete připojit.</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">Zadejte platnou IP adresu nebo název hostitele. Pokud máte nastavený Tor, můžete zde také použít onion adresu.</string>\n  <string name=\"preferences_trusted_peer_dialog_message_multiple\">Můžete určit více důvěryhodných partnerů jejich oddělením znakem mezery.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Vyhledávání…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Neznámé hostname!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Přeskočit všeobecné hledání peerů</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Připojovat pouze k peerům označeným za důvěryhodné.</string>\n  <string name=\"preferences_block_explorer_title\">Prohlížeč bloků</string>\n  <string name=\"preferences_block_explorer_summary\">Externí prohlížeč bloků použitý pro procházení transakcí, adres a bloků.</string>\n  <string name=\"preferences_data_usage_title\">Využití dat</string>\n  <string name=\"preferences_data_usage_summary\">Otevřít nastavení pro omezení datového toku na mobilní síti.</string>\n  <string name=\"preferences_notifications_title\">Oznámení</string>\n  <string name=\"preferences_notifications_summary\">Zobrazit možnosti pro zakázání nebo povolení konkrétních oznámení.</string>\n  <string name=\"preferences_remind_balance_title\">Připomínka bilance</string>\n  <string name=\"preferences_remind_balance_summary\">Upozornění po několika týdnech nepoužití aplikace, pokud jsou v peněžence stále peníze.</string>\n  <string name=\"preferences_show_disclaimer_title\">Zobrazit odmítnutí odpovědnosti</string>\n  <string name=\"preferences_show_disclaimer_summary\">Opravdu jste si přečetli bezpečnostní pokyny? Už jste zálohovali peněženku na bezpečné místo?</string>\n  <string name=\"preferences_bluetooth_address_title\">Bluetooth adresa</string>\n  <string name=\"preferences_bluetooth_address_summary\">Ručně nakonfigurujte svou vlastní adresu Bluetooth, abyste mohli přijímat platby od plátců bez připojení.</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">Android bohužel brání automatické detekci adresy Bluetooth vašeho zařízení. Musíte to vyhledat v nastavení Bluetooth v systému Android a zadat je sem.\\n\\nZkontrolujte, zda jsou všechny znaky správné. Dvojtečky lze vynechat a velikost písmen není důležitá.</string>\n  <string name=\"preferences_report_issue_title\">Nahlásit problém</string>\n  <string name=\"preferences_initiate_reset_title\">Obnovit řětězec bloků</string>\n  <string name=\"preferences_initiate_reset_summary\">Obnovit blokchain, transakce a stav peněženky. Nové nahrání bude chvíli trvat.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Opravdu chcete obnovit a znovu nahrát blokchain?\\n\\nToto dočasně skryje stav peněženky a odstraní transakce. Obojí bude obnoveno, jakmile se blokchain synchronizuje.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Obnovit</string>\n  <string name=\"preferences_extended_public_key_title\">Zobrazit extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Zobrazit rozšířený veřejný klíč této peněženky za účelem jejího importu do dalších aplikací a služeb. Buďte opatrní: nové aplikace budou mít přístup k vašim platebním informacím.</string>\n  <string name=\"bitmap_fragment_share\">Sdílet…</string>\n  <string name=\"extended_public_key_fragment_title\">Rozšířený veřejný klíč</string>\n  <string name=\"extended_public_key_fragment_share\">Sdílet extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Nahlásit problém</string>\n  <string name=\"report_issue_dialog_title_crash\">Detekován předchozí pád aplikace</string>\n  <string name=\"report_issue_dialog_title_transaction\">Nahlásit problém s vybranou platbou</string>\n  <string name=\"report_issue_dialog_message_issue\">Popište prosím svůj problém dostatečně detailně, aby ho bylo možno reprodukovat.</string>\n  <string name=\"report_issue_dialog_message_crash\">Přejete si odeslat report o pádu aplikace a tím pomoct opravě tohoto problému v budoucnosti?</string>\n  <string name=\"report_issue_dialog_description\">popis problému</string>\n  <string name=\"report_issue_dialog_report\">Nahlásit</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Připojit informace o zařízení</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Připojit aplikační log</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Připojit dump peněženky</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Odeslat hlášení pomocí…</string>\n  <string name=\"about_title\">O aplikaci</string>\n  <string name=\"about_version_title\">Verze</string>\n  <string name=\"about_version_apk_hash_title\">SHA256 hash APK</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">Licence</string>\n  <string name=\"about_source_title\">Zdrojový kód</string>\n  <string name=\"about_category_credits\">Aplikace používá…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, implementace Bitcoin protokolu</string>\n  <string name=\"about_credits_zxing_title\">ZXing, knihovna pro zpracování QR-kódů</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, kryptografická knihovna</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, klientská knihovna HTTP</string>\n  <string name=\"about_credits_moshi_title\">Moshi, knihovna JSON</string>\n  <string name=\"about_credits_guava_title\">Guava, sbírka užitečných pomocníků</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, logovací framework</string>\n  <string name=\"about_market_app_title\">Stránka %s</string>\n  <string name=\"about_market_app_summary\">Zrecenzujte aplikaci nebo ji ohodnoťte</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Nejčastější dotazy týkající se aplikace</string>\n  <string name=\"notification_coins_received_msg\">Obdrženo %s</string>\n  <string name=\"notification_connectivity_syncing_message\">Synchronizace se sítí…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Synchronizace s důvěryhodným partnerem…</string>\n  <string name=\"notification_peers_connected_msg\">%d peerů připojeno</string>\n  <string name=\"notification_peer_connected\">připojeno</string>\n  <string name=\"notification_peer_not_connected\">nepřipojeno</string>\n  <string name=\"notification_inactivity_title\">Na tomto přístroji jsou ještě nějaké Bitcoiny!</string>\n  <string name=\"notification_inactivity_message\">Pamatujte si, že vaše prostředky ve výši %s budou ztraceny, pokud odinstalujete Bitcoin Wallet aplikaci a neodešlete nejdříve své prostředky jinam.</string>\n  <string name=\"notification_inactivity_message_donate\">Pokud jste ztratili zájem dále využívat své Bitcoiny, můžete je darovat projektu Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Připomeň později</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Nepřipomínat</string>\n  <string name=\"notification_bluetooth_service_listening\">Jste připraveni přijímat platby přes Bluetooth</string>\n  <string name=\"notification_channel_received_name\">Přijaté platby</string>\n  <string name=\"notification_channel_ongoing_name\">Aktivita na pozadí</string>\n  <string name=\"notification_channel_important_name\">Důležitá upozornění</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin bilance</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Zavřít</string>\n  <string name=\"button_cancel\">Zrušit</string>\n  <string name=\"button_retry\">Opakovat</string>\n  <string name=\"button_help\">Nápověda</string>\n  <string name=\"button_add\">Přidat</string>\n  <string name=\"button_delete\">Smazat</string>\n  <string name=\"button_set\">Nastavit</string>\n  <string name=\"button_remove\">Odebrat</string>\n  <string name=\"button_edit\">Upravit</string>\n  <string name=\"button_copy\">Kopírovat</string>\n  <string name=\"button_paste\">Vložit</string>\n  <string name=\"button_share\">Sdílet</string>\n  <string name=\"button_set_as_default\">Nastavit jako výchozí</string>\n  <string name=\"button_request_coins\">Vyžádat Bitcoiny</string>\n  <string name=\"button_send_coins\">Zaslat Bitcoiny</string>\n  <string name=\"button_scan\">Skenovat</string>\n  <string name=\"button_settings\">Nastavení</string>\n  <string name=\"action_show_qr\">Zobrazit QR kód</string>\n  <string name=\"action_browse\">Prohlédnout</string>\n  <!--generic strings-->\n  <string name=\"time_today\">dnes</string>\n  <string name=\"address_unlabeled\">(nepojmenováno)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">špatný PIN!</string>\n  <string name=\"qr_code\">QR kód</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O chyba: %s</string>\n  <string name=\"error_parse\">Chyba při načítání: %s</string>\n  <string name=\"error_http\">HTTP chyba %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Chyba Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-cs/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tHorní levá strana obrazovky ukazuje dostupné prostředky v Bitcoinech a v jedné vybrané národní měně.\n\t\t\tDotykem přejdete k seznamu národních měn, a ťuknutím na vybranou měnu ji zvolíte jako svou výchozí.\n\t\t</p>\n\t\t<p>\n\t\t\tQR kód vpravo obsahuje vaši bitcoinovou adresu a může být naskenována plátcem.\n\t\t\tDotykem na QR kód se zobrazí jeho zvětšená verze.\n\t\t</p>\n\t\t<p>\n\t\t\tSpodní část obrazovky zobrazuje seznam vašich transakcí, který je před prvním použitím prázdný.\n\t\t\tČekající transakce jsou až do jejich potvrzení v síti zašedlé.\n\t\t\tDotykem na záznam přidáte odesilatele nebo příjemce do svého adresáře.\n\t\t</p>\n\t\t<p>\n\t\t\tOdesílat nebo přijímat platby můžete dotykem na tlačítka ve spodním panelu.\n\t\t\tDalší možnosti jsou dostupné v menu nastavení.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tPomocí tohoto dialogu můžete vyžádat Bitcoiny od někoho jiného (kdo by měl již také mít aplikaci Bitcoin Wallet).\n\t\t</p>\n\t\t<p>\n\t\t\tNejprve zadejte množství Bitcoinů, které požadujete.\n\t\t</p>\n\t\t<p>\n\t\t\tPotom můžete protistraně nabídnout vygenerovaný QR kód k oskenování,\n\t\t\tnebo můžete požadavek zaslat pomocí tlačítka sdílet v rychlé nabídce.\n\t\t\tDruhá strana potom klikne na Bitcoin URL.\n\t\t</p>\n\t\t<p>\n\t\t\tV obou případech odesílatel uvidí dialog na zaslání Bitcoinů s předvyplněnými údaji.\n\t\t\t Pokud souhlasí, potvrdí zadané informace a dojde k transakci.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tPrávě jste zahájili proces odeslání Bitcoinů.\n\t\t\tSem jste se dostali buď přes hlavní obrazovku t0to aplikace, nebo pomocí klepnutí na speciální adresu v prohlížeči.\n\t\t</p>\n\t\t<p>\n\t\t\tNejprve zadejte adresu, na kterou chcete provést platbu.\n\t\t\tAdresa se bude automaticky doplňovat podle údajů dostupných ve vašem adresáři.\n\t\t\tMůžete také naskenovat QR kód s adresou nebo požadavkem na zaplacení, stisknutím tlačítka s ikonou QR kódu.\n\t\t</p>\n\t\t<p>\n\t\t\tV dalším kroku uvidíte, kolik Bitcoinů můžete momentálně utratit.\n\t\t\tJakýkoliv rozdíl vůči zůstatku zobrazenému na hlavní obrazovce je stále nepotvrzen a tudíž nemůže být utracen.\n\t\t</p>\n\t\t<p>\n\t\t\tNakonec zadejte částku, kterou chcete zaplatit.\n\t\t</p>\n\t\t<p>\n\t\t\tTransakce můžete provádět, i když jste právě offline.\n\t\t\tBudou provedeny při dalším spuštění aplikace Bitcoin Wallet.\n\t\t\tPokud chcete transakci provést co nejrychleji, ujistěte se, že máte dobré připojení (například pomocí bezdrátové sítě wifi).\n\t\t</p>\n\t\t<p>\n\t\t\tPoznámka:\n\t\t\tPřevody nelze vzít zpět!\n\t\t\tVždy pečlivě zkontrolujte adresu příjemce.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Několik slov k bezpečnosti:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tPřístup k Bitcoinům je uložen v tomto zařízení.\n\t\t\t<b>Pokud o zařízení přijdete, ztratíte i své Bitcoiny.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tJe proto velmi důležité pravidelně <b>zálohovat svou peněženu</b>!\n\t\t\tPro zálohování používejte raději zabudovanou funkci této aplikace, než jiná zálohovací řešení třetích stran.\n\t\t\tPoté udržujte svou zálohu na bezpečném místě a pamatujte si heslo.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Před odinstalací aplikace Bitcoin Wallet</b> (nebo výmazem dat aplikace/přístroje), <b>si přepošlete zůstatek do jiné peněženky</b>.\n\t\t\tJakékoliv zbylé neodeslané Bitcony budou ztraceny.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Provedené platby jsou nezvratné</b>.\n\t\t\tPokud pošlete Bitcoiny na špatnou adresu, možnost jejich získání zpět téměř neexistuje.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Udržujte svůj mobilní přístroj v bezpečí!</b>\n\t\t\tNepřivlastňujte si práva root svého přístoje.\n\t\t\tInstalujte pouze aplikace, kterým plně důvěřujete.\n\t\t\tŠkodlivé aplikace se mohou pokoušet o ukradení Bitcoinů z peněženky.\n\t\t</p>\n\t\t<p>\n\t\t\tNeriskujte zbytečně!\n\t\t\t<b>Noste u sebe pouze menší částky</b> pro každodenní použití.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Technické poznámky:</b>\n        </p>\n        <p>\n            Jako SPV/lehká peněženka sleduje bitcoinová peněženka řetězec s největším důkazem práce (někdy také nazývaný „nejdelší řetězec“, „vítězný řetězec“ nebo „bitcoinový blockchain“).\n            Dostanete pouze příchozí platby a budete moci platit v tomto řetězci.\n            Nelze poskytnout žádné záruky ohledně bitcoinů na menšinových řetězcích, tj. Na řetězcích s menším důkazem práce.\n        </p>\n        <p>\n            V minulosti se menšinové řetězce vždy rychle staly nepodstatnými.\n            Pokud si přesto přejete sledovat menšinový řetězec, doporučujeme vám použít funkci „důvěryhodného partnera“ k výhradnímu připojení k implementaci bitcoind, která vynutí váš požadovaný řetězec.\n            Pokud není důvěryhodná síť mezi vaší peněženkou a důvěryhodným partnerem, ověřte toto připojení pomocí VPN.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-cy/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Cafodd dy waled ei ailosod!\\nCymeriff ychydig o amser i\\'w adfer.</string>\n  <string name=\"toast_start_external_document_failed\">Does dim porwr wedi\\'i osod i agor y ddogfen allanol</string>\n  <string name=\"toast_start_storage_provider_selector_failed\">Does dim darparwr storfa cwmwl addas wedi\\'i osod.\\nMae angen rhywbeth fel \\\"Nextcloud\\\" neu \\\"Google Drive\\\".</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Defnyddia gyda dy risg dy hun. Darllena\\'r &lt;u&gt;nodiadau diogelwch&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Bydd angen &lt;u&gt;cadw copi wrth gefn o dy waled&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d awr tu ôl</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d diwrnod tu ôl</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d wythnos tu ôl</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d mis tu ôl</string>\n  <string name=\"blockchain_state_progress_downloading\">Yn cydamseru gyda\\'r rhwydwaith</string>\n  <string name=\"blockchain_state_progress_stalled\">Cydamseru wedi stolio</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Problem cydweddu: Prinder lle storfa</string>\n  <string name=\"blockchain_state_progress_problem_network\">Problem cydweddu: Dim cyswllt â rhwydwaith</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Copïwyd y cyfeiriad Bitcoin i\\'r clipfwrdd</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">I warchod dy breifatrwydd, caiff dy gyfeiriad ei newid unwaith mae\\'n derbyn taliad.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Mae dy ddyfais yn hen ac yn ansefydlog. Argymhellir ei ddefnyddio dim ond am symiau bach.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Mae\\'r swm hwn braidd yn fawr i\\'w gario yn dy waled. Argymhellir ei symud i rywle mwy diogel.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Dyw\\'r balans ddim ar gael yn ystod ail-chwarae.</string>\n  <string name=\"exchange_rates_activity_title\">Cyfraddau cyfnewid</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Methwyd â chanfod cyfraddau cyfnewid.</string>\n  <string name=\"exchange_rates_fragment_default\">(arferol)</string>\n  <string name=\"exchange_rates_fragment_rate\">cyfradd</string>\n  <string name=\"exchange_rates_fragment_balance\">balans</string>\n  <string name=\"exchange_rates_fragment_source\">Pris o %s</string>\n  <string name=\"exchange_rates_options_search\">Chwilio cyfradd gyfnewid</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Dim Bitcoin wedi\\'u derbyn eto.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Dim Bitcoin wedi\\'u hanfon eto.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Sut i gael Bitcoin?\\nCyfnewidia am arian traddodiadol,\\ngwertha nwyddau neu wasanaethau\\nneu ennilla wrth weithio.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Cadwa copi wrth gefn o dy waled\\ncyn derbyn unrhyw Bitcoin!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Llongyfarchiadau! Rwyt wedi derbyn dy daliad cyntaf. Wyt ti eisoes wedi  &lt;u&gt;cadw copi wrth gefn o dy waled&lt;/u&gt;, i dy warchod rhag colled?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Awgrym: Fel bod dy waled yn fwy diogel, gallet &lt;u&gt;amgrymptio dy ddyfais&lt;/u&gt;. Mae hyn hefyd yn gwarchod data apiau eraill.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Mae gwaith cynnal a chadw ar y gweill ar y rhwydwaith Bitcoin. Argymhellir i beidio ag anfon na derbyn Bitcoin nes bod y gwaith wedi\\'i gwblhau. &lt;u&gt;Rhagor o wybodaeth.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">mwyngloddwyd</string>\n  <string name=\"wallet_transactions_fragment_internal\">mewnol</string>\n  <string name=\"wallet_transactions_options_filter\">Hidlydd</string>\n  <string name=\"wallet_transactions_options_filter_all\">Pob taliad</string>\n  <string name=\"wallet_transactions_options_filter_received\">Taliad a dderbyniwyd</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Taliad ag anfonwyd</string>\n  <string name=\"wallet_options_request_legacy\">+  </string>\n  <string name=\"wallet_options_safety_menu\">Diogelwch</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Gosod PIN gwariant</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Newid PIN gwariant</string>\n  <string name=\"wallet_options_safety\">Nodiadau diogelwch</string>\n  <string name=\"wallet_options_technical_notes_title\">Nodiadau technegol</string>\n  <string name=\"wallet_options_donate\">Cildwrn / rhoddi</string>\n  <string name=\"wallet_donate_address_label\">Rodd-daliad i Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Rhybudd diogelwch</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Mae cydran Bluetooth dy ddyfais yn agored i niwed. Mae risg i Fitcoin ar y ddyfais hon, waeth pa bynnag ap wyt ti\\'n ei ddefnyddio i\\'w cadw.\\n\\nArgymhellwn troi Bluetooth i ffwrdd ar unwaith a gwirio gyda gwneuthurwr dy ddyfais am ddiweddariad i Android sy\\'n gosod cywiriad diogelwch lefel \\'%s\\' neu ddiweddarach.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Dim llawer o le ar storfa fewnol y ddyfais!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Mae Waled Bitcoin yn defnyddio storfa fewnol i gofio trafodion a blociau. Os yw\\'n rhedeg allan o le, mi fydd yn stopio gweithio a bydd risg i dy Fitcoin.\\n\\nWyt ti am agor y rheolwr apiau i ddadosod apiau nad wyt eu hangen?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Rheoli apiau</string>\n  <string name=\"wallet_timeskew_dialog_title\">Gwirio gosodiadau dyddiad ac amser</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Mae amser dy ddyfais i ffwrdd o %d munud. Mae\\'n debyg na ellir anfon na derbyn Bitcoin oherwydd hyn.\\n\\nDylet wirio ac, os angen, cywiro dy osodiadau dyddiad, amser a chylchfa amser.</string>\n  <string name=\"wallet_version_dialog_title\">Mae fersiwn newydd ar gael!</string>\n  <string name=\"wallet_version_dialog_msg\">Mae\\'r fersiwn hwn yn trwsio gwallau pwysig. Am fanylion, gweler y log newid ar %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Os na welir diweddariad, mae\\'n debyg nad yw dy fersiwn o Android bellach yn cael ei gefnogi.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Lawrlwytho</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Fersiwn Android yn rhy hen</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Mae\\'n debyg na fydd Waled Bitcoin yn y dyfodol bellach yn cefnogi dy ddyfais. Mewn rhai achosion, gall fod yn anodd anfon Bitcoin ar y ddyfais hon.\\nOni bai dy fod yn gwybod be wyt ti\\'n gwneud, argymhellir symud dy Bitcoin yn fuan.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problem wrth agor gosodiadau</string>\n  <string name=\"send_coins_activity_title\">Anfon Bitcoin</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Yn nôl llofnod oddi wrth %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Methwyd nôl y cais am daliad</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Mae\\'r talai (%1$s) yn defnyddio protocol taliad anghydnaws (rheswm: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Llofnod anghywir!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">gwiriwyd gan: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">anhysbys</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Talu i</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">rho gyfeiriad neu enw</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Cyfeiriad Bitcoin annilys!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Rwyt ar fin anfon i ti dy hun!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">cyfeiriad\\ncymhleth</string>\n  <string name=\"send_coins_fragment_pending\">(%s yn aros am gadarnhad)</string>\n  <string name=\"send_coins_fragment_amount_label\">Swm i\\'w dalu</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Telir ffi economaidd o %s. Pwysig: Defnyddia \\'economaidd\\' dim ond os nad yw\\'r amser cadarnhau yn bwysig i ti.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Telir ffi rhwydwaith o %s.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Telir ffi blaenoriaeth o %s. Os wyt ti eisiau cadw ffioedd yn isel, defnyddia \\'blaenoriaeth\\' dim ond pan wyt ti angen cadarnhad cyn gynted â phosib.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Mae\\'r swm yn rhy fach i\\'w anfon.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Dim digon o Fitcoin ar gel. Rwyt %s yn fyr. Gall hyn fod oherwydd y ffi rhwydwaith.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Dyw cyfanswm y mân daliadau yn dy waled ddim o werth gellir ei anfon.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Dyw taliadau ddim yn bosib ar hyn o bryd am fod ailadrodd ar y gweill.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Anfon taliad yn uniongyrchol i\\'r talai.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Cafodd dy daliad ei anfon yn uniongyrchol yn llwyddiannus.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Cafodd dy daliad trwy gysylltiad uniongyrchol ei wrthod.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Methodd taliad uniongyrchol</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Caiff dy daliad dal ei ddarlledu trwy\\'r rhwydwaith P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Anfon</string>\n  <string name=\"send_coins_fragment_button_back\">Nôl</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Ffi rhwydwaith sylweddol</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Mae\\'r ffi rhwydwaith ar gyfer y taliad hwn (%1$s) yn uchel o\\'i gymharu â\\'r swm (%2$s). Wyt ti am ei anfon beth bynnag?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Dim digon o Fitcoin ar gael</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Rwyt %s yn fyr.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Wyt ti am dalu gyda phopeth sydd gennyt?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Methwyd gwagio\\'r waled</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Yn dadamgrymptio…</string>\n  <string name=\"send_coins_preparation_msg\">Yn llofnodi…</string>\n  <string name=\"send_coins_sending_msg\">Yn anfon…</string>\n  <string name=\"send_coins_sent_msg\">Anfonwyd!</string>\n  <string name=\"send_coins_failed_msg\">Methwyd!</string>\n  <string name=\"send_coins_error_msg\">Problem anfon Bitcoin!</string>\n  <string name=\"send_coins_options_fee_category\">Ffi</string>\n  <string name=\"send_coins_options_fee_category_economic\">Economaidd</string>\n  <string name=\"send_coins_options_fee_category_normal\">Arferol</string>\n  <string name=\"send_coins_options_fee_category_priority\">Blaenoriaeth</string>\n  <string name=\"send_coins_options_empty\">Gwagio\\'r waled</string>\n  <string name=\"raise_fee_dialog_title\">Codi ffi rhwydwaith</string>\n  <string name=\"raise_fee_dialog_message\">Wyt ti am godi\\'r ffi rhwydwaith ar gyfer y taliad hwn gan %s? Mi fyddi yn derbyn cadarnhad o\\'r taliad yn gynt.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Yn pennu ffi rhwydwaith…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Ni ellir codi ffi rhwydwaith y taliad hwn.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Yn dadamgrymptio…</string>\n  <string name=\"raise_fee_dialog_state_done\">Cwblhawyd.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Codi</string>\n  <string name=\"sweep_wallet_activity_title\">Ysgubo waled papur</string>\n  <string name=\"sweep_wallet_fragment_intro\">Rwyt ar fin ysgubo i waled neu gwpon papur. Bydd hyn yn tynnu\\'r holl Fitcoin o\\'r papur i dy waled ar y ddyfais hon. Pan fydd y trafodyn wedi\\'i gadarnhau, bydd y papur gwerth dim byd ac am resymau diogelwch ni ddylid ei ddefnyddio eto.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Defnyddir waledau papur yn bennaf ar gyfer storio oer. Mae rhai peiriannau arian yn y wal yn eu hargraffu ar slip o bapur yn hytrach nag anfon Bitcoin yn uniongyrchol at dy ddyfais symudol. Mae rhai pobol weithiau yn defnyddio waledi papur i basio gwertho o gwmpas (ni argymhellir hyn).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Dechreua gan sganio allwedd breifat waled papur. Defnyddia\\'r botwm gweithred camera.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Mae\\'r allwedd breifat hon wedi\\'i diogelu gan gyfrinair.</string>\n  <string name=\"sweep_wallet_fragment_password\">cyfrinair</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">cyfrinair drwg!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Balans i\\'w ysgubo</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Dadgryptio</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Ysgubo</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Yn dadgryptio…\\nCymerir hyd at 2 funud.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Yn llwytho\\'r balans…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Methwyd â llwytho\\'r balans</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Mae gennyt gysylltiad gwael â\\'r rhwydwaith Electrum.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Mae\\'r waled papur yn wag.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Dim digon o Fitcoin</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Mae swm y Bitcoin yn y waled yn rhy fach i\\'w ysgubo.</string>\n  <string name=\"sweep_wallet_options_reload\">Ail-lwytho\\'r balans</string>\n  <string name=\"maintenance_dialog_title\">Argymhellir gwaith cynnal a chadw</string>\n  <string name=\"maintenance_dialog_message\">Rwyt wedi derbyn %1$s i gyfeiriad anniogel. Hoffet symud y Bitcoin hyn i gyfeiriadau diogel? Telir ffi rhwydwaith bach o %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Yn dadamgrymptio…</string>\n  <string name=\"maintenance_dialog_state_done\">Cwblhawyd.</string>\n  <string name=\"maintenance_dialog_button_move\">Symud</string>\n  <string name=\"request_coins_activity_title\">Gwneud cais am Fitcoin</string>\n  <string name=\"request_coins_fragment_amount_label\">Swm i geisio amdano (opsiynol)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Derbyn taliad trwy Bluetooth am brosesu mwy dibynadwy</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Caiff yr anfonwr sganio\\'r cod hwn.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Neu dapio ar ddyfais gydag NFC wedi\\'i alluogi.</string>\n  <string name=\"request_coins_clipboard_msg\">Copïwyd y cais Bitcoin i\\'r clipfwrdd</string>\n  <string name=\"request_coins_share_dialog_title\">Rhannu cais am Fitcoin…</string>\n  <string name=\"request_coins_no_local_app_msg\">Ni chanfuwyd ap Bitcoin arall</string>\n  <string name=\"request_coins_options_local_app_title\">Cais oddi wrth ap lleol</string>\n  <string name=\"address_book_activity_title\">Llyfr cyfeiriadau</string>\n  <string name=\"address_book_list_receiving_title\">Dy gyfeiriadau</string>\n  <string name=\"address_book_list_receiving_random\">Hen gyfeiriadau</string>\n  <string name=\"address_book_list_sending_title\">Yn anfon cyfeiriadau</string>\n  <string name=\"address_book_empty_text\">Dim cofnodion yn y llyfr cyfeiriadau</string>\n  <string name=\"address_book_context_send_title\">Anfon Bitcoin at gyfeiriad</string>\n  <string name=\"address_book_context_edit_title\">Golygu\\'r cyfeiriad</string>\n  <string name=\"address_book_context_remove_title\">Tynnu\\'r cyfeiriad</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Copïo i\\'r clipfwrdd</string>\n  <string name=\"address_book_options_scan_title\">Sganio\\'r cyfeiriad</string>\n  <string name=\"address_book_options_scan_invalid\">Dyw\\'r data a sganiwyd ddim yn nealladwy</string>\n  <string name=\"address_book_options_scan_own_address\">Dy gyfeiriad dy hun yw\\'r un a sganiwyd.</string>\n  <string name=\"address_book_row_current_address\">Dyma dy gyfeiriad cyfredol ar gyfer derbyn.</string>\n  <string name=\"address_book_row_message_compromised_key\">Gall fod y cyfeiriad hwn wedi\\'i gyfaddawdu. Ni ddylid ei ddefnyddio bellach i dderbyn Bitcoin.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Ychwanegu cyfeiriad anfon</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Golygu label y cyfeiriad anfon</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Ychwanegu label at dy gyfeiriad</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Golygu label dy gyfeiriad</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Cyfeiriad</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Label</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Cadw</string>\n  <string name=\"transaction_row_fee\">Ffi rhwydwaith</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Dyw\\'r taliad hwn heb ei drosglwyddo eto.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Mae\\'r taliad hwn wedi ei gredydu i dy waled.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Roedd dy daliad yn llwyddiannus. Mae wedi cyrraedd y talai.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Methodd y taliad hwn.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Methodd dy daliad.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Mae\\'r trafodyn hwn yn cryfhau dy waled rhag lladrad. &lt;u&gt;Rhagor o wybodaeth.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Mae\\'r trafodyn hwn yn codi ffi rhwydwaith am daliad blaenorol.</string>\n  <string name=\"transaction_row_message_received_direct\">Derbyniwyd y taliad hwn yn uniongyrchol. Mae yna risg na fydd byth modd gwario\\'r swm.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Mae cadarnhad y taliad hwn wedi\\'i oedi, yn debygol oherwydd llwyth anarferol y rhwydwaith Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Dylai fod swm y taliad hwn ar gael i\\'w wario ymhen ychydig funudau.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Oherwydd gwaith cynnal a chadw ar y rhwydwaith Bitcoin, ni ddylid ymddiried yn y trafodyn hwn nes ei fod wedi ei gadarnhau yn llawn.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Mae gan y taliad hwn risg uwch o gael ei wrthdroi gan yr anfonwr! Os yn bosib, dylid aros am gadarnhad.</string>\n  <string name=\"transaction_row_message_received_dead\">Cafodd y taliad hwn ei wrthdroi gan yr anfonwr.</string>\n  <string name=\"transaction_row_message_received_dust\">Mae\\'n debyg na fydd byth yn bosib gwario\\'r swm bach yma yn economaidd.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Mae\\'r taliad hwn yn talu mewn i nifer o waledau yn ogystal â dy waled di, sy\\'n achosi i\\'r ap arafu dros amser. Os yn bosib, ceisia derbyn taliadau sydd yn dy dalu di yn unig.</string>\n  <string name=\"transaction_row_message_received_rbf\">Mae\\'r taliad hwn wedi\\'i oedi am fod yr anfonwr wedi defnyddio trafodyn anniogel.</string>\n  <string name=\"network_monitor_activity_title\">Monitor rhwydwaith</string>\n  <string name=\"network_monitor_peer_list_title\">Cyfoedion</string>\n  <string name=\"network_monitor_block_list_title\">Blociau</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Addasiad anhawster mwyngloddio</string>\n  <string name=\"block_row_mining_reward_adjustment\">Enillion mwyngloddio yn haneru</string>\n  <string name=\"block_row_now\">jyst nawr</string>\n  <string name=\"peer_list_fragment_empty\">Dim cyfoedion wedi cysylltu</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;me</string>\n  <string name=\"import_keys_dialog_title\">Adfer waled</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Rwyt ar fin newid dy waled gyfredol. Caiff unrhyw Fitcoin yn dy waled eu colli oni bai bod gennyt gopi wrth gefn gwahanol o\\'r waled.</string>\n  <string name=\"import_keys_dialog_warning\">Pwysig: Paid â llwytho allweddau preifat o ffynhonellau amheus! Os wyt ti, gall eraill gael rheolaeth dros dy gyllid.</string>\n  <string name=\"import_keys_dialog_button_import\">Adfer</string>\n  <string name=\"restore_wallet_dialog_success\">Adferwyd y waled.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Cafodd dy waled ei adfer yn llwyddiannus. Pennir y balans nesaf. Bydd hyn yn cymryd ychydig o amser.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Rhybudd: Mae dy waled wedi\\'i warchod gan PIN gwariant. Sicrha dy fod yn dal i\\'w gofio cyn derbyn taliadau i\\'r waled hon.</string>\n  <string name=\"import_keys_dialog_failure\">Methwyd ag adfer y waled:\\n\\n%s\\n\\nCyfrinair drwg?</string>\n  <string name=\"export_keys_dialog_title\">Cadw copi wrth gefn o\\'r waled</string>\n  <string name=\"backup_wallet_dialog_message\">Caiff dy gopi wrth gefn ei amgryptio gyda\\'r cyfrinair a ddewisir a\\'i ysgrifennu i\\'r storfa allanol.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Gwarchodir dy waled gan PIN gwariant. Sicrha dy fod yn cofio\\'r PIN yn ogystal â chyfrinair y copi wrth gefn!</string>\n  <string name=\"export_keys_dialog_button_export\">Cadw copi wrth gefn</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Mae copi wrth gefn o dy waled wedi\\'i gadw i <tt>%s</tt></p><p><b>Os mai ar dy ddyfais yw\\'r unig lle ble mae dy copi wrth gefn yn bodoli, rwyt yn cymryd risg o golli\\'r ddau ar yr un pryd!</b></p><p>Pa bynnag achos, rhaid sicrhau dy fod yn cofio dy gyfrinair i\\'r copi wrth gefn.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Ni lwyddwyd cadw copi wrth gefn o dy waled:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">cyfrinair</string>\n  <string name=\"backup_wallet_dialog_password_again\">eto</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">dim yn cydweddu!</string>\n  <string name=\"import_export_keys_dialog_show\">Dangos cyfrinair</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Gwall</string>\n  <string name=\"import_keys_intent_filter_action\">Adfer waled</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN Gwariant</string>\n  <string name=\"encrypt_keys_dialog_message\">Caiff gwario o dy waled ei warchod gyda\\'r PIN a ddewisir.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Pwysig: Rhaid cofio dy PIN! Paid â defnyddio rhifau cyffredin (fel dyddiadau geni).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Hen PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">gwan</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">gweddol</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">da</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">cryf</string>\n  <string name=\"encrypt_keys_dialog_show\">Dangos PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Yn amgryptio…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Yn dadamgrymptio…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Cwblhawyd.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Sori</string>\n  <string name=\"scan_camera_problem_dialog_message\">Mae gan y camera problem. Mae\\'n debyg bod angen ail-gychwyn y ddyfais.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Caniatâd camera</string>\n  <string name=\"scan_camera_permission_dialog_message\">Er mwyn sganio codau QR, rhaid rhoi caniatâd i ddefnyddio’r camera.</string>\n  <string name=\"input_parser_io_error\">Methu â darllen data:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Methu adnabod mewnbwn:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">URI Bitcoin annilys:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Cafwyd cyfeiriad Bitcoin annilys!\\n(Cymysgu rhwng mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Methu â dilysu cais am daliad:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Cais am daliad annilys:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Trafodiad annilys:\\n%s</string>\n  <string name=\"preferences_activity_title\">Gosodiadau</string>\n  <string name=\"preferences_category_general\">Cyffredinol</string>\n  <string name=\"preferences_category_privacy\">Rheolaeth preifatrwydd</string>\n  <string name=\"preferences_category_merchants\">Masnachwyr</string>\n  <string name=\"preferences_category_diagnostics\">Diagnosteg</string>\n  <string name=\"preferences_category_labs\">Labordai</string>\n  <string name=\"preferences_precision_title\">Gwerth a manylder</string>\n  <string name=\"preferences_precision_summary\">Uned i ddangos symiau ynddi. Dyw hyn ddim yn cael effaith ar gyfrifiannau.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 lle degol</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 lle degol</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 lle degol</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 lle degol</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, dim llefydd degol</string>\n  <string name=\"preferences_own_name_title\">Enw dy hun</string>\n  <string name=\"preferences_own_name_summary\">Dy enw di neu dy gwmni, i\\'w ychwanegu at geisiadau am daliadau gan gwsmeriaid.</string>\n  <string name=\"preferences_own_name_dialog_message\">Cadw hi\\'n fyr.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Deialog anfon Bitcoin yn cau\\'n awtomatig</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Pan gaiff y taliad ei wneud, bydd y deialog anfon yn cau yn awtomatig</string>\n  <string name=\"preferences_sync_mode_title\">Defnydd Data v Preifatrwydd</string>\n  <string name=\"preferences_sync_mode_summary\">Dewisa rhwng defnydd data isel a gwell preifatrwydd wrth gydamseru gyda\\'r rhwydwaith.</string>\n  <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>Defnydd data isel:</b> Defnyddio hidlo rhwydwaith i ddarllen trafodion sy\\'n berthnasol i dy waled di yn unig. Defnyddir tua 500 MB y mis, ond bydd yn datgelu\\'r hidlydd i\\'r rhwydwaith.]]></string>\n  <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>Gwell preifatrwydd:</b> Ni fydd yn datgelu unrhyw wybodaeth am dy waled i\\'r rhwydwait. Bu\\'n ymwybodol gall hyn ddefnyddio 10 GB y mis am fod yn rhaid darllen pob trafodiad. Gwirio dy lwfans defnydd data cyn defnyddio hyn.]]></string>\n  <string name=\"preferences_trusted_peer_title\">Cyfoed ymddiriedir ynddo</string>\n  <string name=\"preferences_trusted_peer_summary\">IP neu enw gwesteiwr cyfoed unigol i gysylltu ato.</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">Rho gyfeiriad IP neu enw westai dilys. Os yw Tor wedi\\'i osod, gellir defnyddio cyfeiriad nionyn yma hefyd.</string>\n  <string name=\"preferences_trusted_peer_dialog_message_multiple\">Gellir rhoi nifer o gyfoedion dibynadwy gan roi bwlch rhyngddynt.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Yn datrys…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Enw gwesteiwr anhysbys!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Neidio darganfod cyfoedion rheolaidd</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Mae\\'n rhwystro cysylltu i gyfoedion ond am y cyfoed ymddiriedir ynddo.</string>\n  <string name=\"preferences_block_explorer_title\">Porwr blociau</string>\n  <string name=\"preferences_block_explorer_summary\">Porwr blociau allanol i bori trafodion, cyfeiriadau a blociau.</string>\n  <string name=\"preferences_data_usage_title\">Defnydd data</string>\n  <string name=\"preferences_data_usage_summary\">Dangos opsiynau i gyfyngu defnydd data ar rwydweithiau symudol.</string>\n  <string name=\"preferences_notifications_title\">Hysbysiadau</string>\n  <string name=\"preferences_notifications_summary\">Dangos dewisiadau i alluogi neu analluogi hysbysiadau penodol.</string>\n  <string name=\"preferences_remind_balance_title\">Atogffa o\\'r balans</string>\n  <string name=\"preferences_remind_balance_summary\">Ar ôl cwpl o wythnosau heb ei ddefnyddio, bydd yr ap yn rhoi gwybod os oes Bitcoin dal yn y waled.</string>\n  <string name=\"preferences_show_disclaimer_title\">Dangos ymwadiad</string>\n  <string name=\"preferences_show_disclaimer_summary\">Wyt ti wir wedi darllen y nodiadau diogelwch? Wyt ti eisoes wedi cadw copi wrth gefn o dy waled i le diogel?</string>\n  <string name=\"preferences_bluetooth_address_title\">Cyfeiriad Bluethooth</string>\n  <string name=\"preferences_bluetooth_address_summary\">Ffurfweddu dy gyfeiriad Bluetooth dy hun fel bod modd derbyn taliadau gan gwsmeriaid heb angen cysylltiad rhwydwaith.</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">Yn anffodus, mae Android yn rhwystro adnabod cyfeiriad Bluetooth dy ddyfais yn awtomatig. Mae angen edrych am y cyfeiriad yng ngosodiadau Bluetooth Android a\\'i roi yma.\\n\\nGwiria bod pob nod yn gywir. Nid yw\\'n bwysig os y llythrennau yn fawr neu fach a gellir anwybyddu colonau.</string>\n  <string name=\"preferences_report_issue_title\">Rhoi gwybod am broblem</string>\n  <string name=\"preferences_initiate_reset_title\">Ailosod cadwyn blociau</string>\n  <string name=\"preferences_initiate_reset_summary\">Ailosod cadwyn blociau, trafodion a balans y waled. Bydd ailadrodd yn cymryd ychydig, felly gwna hyn dim ond gyda rheswm da.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Wyt ti am ailosod ac ailadrodd y gadwyn blociau?\\n\\nBydd hyn yn cuddio balans dy waled am ychydig ac yn tynnu pob trafodyn. Caiff y ddau eu hadfer wrth i gydamseru\\'r gadwyn blociau parhau. Sicrha fod gennyt gysylltiad dibynadwy i\\'r rhyngrwyd.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Ailosod</string>\n  <string name=\"preferences_extended_public_key_title\">Dangos allwedd gyhoeddus estynedig</string>\n  <string name=\"preferences_extended_public_key_summary\">Gweld allwedd gyhoeddus estynedig dy waled fel y gellir ei mewnforio i apiau a gwasanaethau eraill. Bu\\'n ofalus: bydd gwneud hyn yn datgelu dy breifatrwydd ariannol i\\'r ap hwnnw.</string>\n  <string name=\"bitmap_fragment_share\">Rhannu…</string>\n  <string name=\"extended_public_key_fragment_title\">Allwedd Gyhoeddus Estynedig</string>\n  <string name=\"extended_public_key_fragment_share\">Rhannu\\'r allwedd gyhoeddus estynedig…</string>\n  <string name=\"report_issue_dialog_title_issue\">Rhoi gwybod am broblem</string>\n  <string name=\"report_issue_dialog_title_crash\">Synhwyrwyd chwalfa flaenorol</string>\n  <string name=\"report_issue_dialog_title_transaction\">Rhoi gwybod am broblem gyda\\'r taliad dan sylw</string>\n  <string name=\"report_issue_dialog_message_issue\">Disgrifia’r broblem yn ddigon manwl i fedru ei ail greu. Defnyddia Saesneg, plîs.</string>\n  <string name=\"report_issue_dialog_message_crash\">Hoffet anfon adroddiad o chwalu, er mwyn helpu sicrhau nad yw\\'r broblem yn digwydd yn y dyfodol?</string>\n  <string name=\"report_issue_dialog_description\">Disgrifiad o\\'r broblem</string>\n  <string name=\"report_issue_dialog_report\">Adroddiad</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Atodi gwybodaeth y ddyfais</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Atodi log ap</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Atodi dymp y waled</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Anfon adroddiad gan ddefnyddio…</string>\n  <string name=\"about_title\">Ynghylch</string>\n  <string name=\"about_version_title\">Fersiwn</string>\n  <string name=\"about_version_apk_hash_title\">Hash SHA256 o\\'r APK</string>\n  <string name=\"about_copyright_title\">Hawlfraint</string>\n  <string name=\"about_license_title\">Trwydded</string>\n  <string name=\"about_source_title\">Cod wreiddiol</string>\n  <string name=\"about_category_credits\">Mae\\'r ap hwn yn defnyddio…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, gweithrediad protocol Bitcoin</string>\n  <string name=\"about_credits_zxing_title\">ZXing, llyfrgell prosesu codau QR</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, llyfrgell cryptograffeg</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, llyfrgell cleient HTTP</string>\n  <string name=\"about_credits_moshi_title\">Moshi, llyfrgell JSON</string>\n  <string name=\"about_credits_guava_title\">Guava, casgliad o gynorthwywyr defnyddiol</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, fframwaith logio</string>\n  <string name=\"about_market_app_title\">%s tudalen</string>\n  <string name=\"about_market_app_summary\">Adolygu neu sgorio\\'r ap</string>\n  <string name=\"about_faq_title\">Cwestiynau Cyffredin</string>\n  <string name=\"about_faq_summary\">Atebion i gwestiynau cyffredin am yr ap</string>\n  <string name=\"notification_coins_received_msg\">Derbyniwyd %s</string>\n  <string name=\"notification_connectivity_syncing_message\">Yn cydamseru gyda\\'r rhwydwaith…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Yn cydamseru gyda dy gyfoed dibynadwy…</string>\n  <string name=\"notification_peers_connected_msg\">%d cyfoed wedi cysylltu</string>\n  <string name=\"notification_peer_connected\">wedi cysylltu</string>\n  <string name=\"notification_peer_not_connected\">heb gysylltu</string>\n  <string name=\"notification_inactivity_title\">Mae gennyt Bitcoin yn dal i fod ar y ddyfais hon!</string>\n  <string name=\"notification_inactivity_message\">Cofia caiff dy falans o %s ei golli os wyt yn dadosod Waled Bitcoin heb yn gyntaf ei anfon i ffwrdd.</string>\n  <string name=\"notification_inactivity_message_donate\">Os nad wyt yn poeni am dy Fitcoin, gellir eu cyfrannu fel rhodd i\\'r prosiect Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Atgoffa fi\\'n hwyrach</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Peidio fy atgoffa</string>\n  <string name=\"notification_bluetooth_service_listening\">Yn barod i dderbyn taliadau drwy Bluetooth</string>\n  <string name=\"notification_channel_received_name\">Taliadau a dderbyniwyd</string>\n  <string name=\"notification_channel_ongoing_name\">Gweithred cefndir</string>\n  <string name=\"notification_channel_important_name\">Rhybuddion pwysig</string>\n  <string name=\"appwidget_wallet_balance_title\">Balans Bitcoin</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">Iawn</string>\n  <string name=\"button_dismiss\">Diddymu</string>\n  <string name=\"button_cancel\">Diddymu</string>\n  <string name=\"button_retry\">Ceisio eto</string>\n  <string name=\"button_help\">Cymorth</string>\n  <string name=\"button_add\">Ychwanegu</string>\n  <string name=\"button_delete\">Dileu</string>\n  <string name=\"button_set\">Gosod</string>\n  <string name=\"button_remove\">Tynnu</string>\n  <string name=\"button_edit\">Golygu</string>\n  <string name=\"button_copy\">Copïo</string>\n  <string name=\"button_paste\">Gludo</string>\n  <string name=\"button_share\">Rhannu</string>\n  <string name=\"button_set_as_default\">Gosod fel rhagosodedig</string>\n  <string name=\"button_request_coins\">Gwneud cais am Fitcoin</string>\n  <string name=\"button_send_coins\">Anfon Bitcoin</string>\n  <string name=\"button_scan\">Sganio</string>\n  <string name=\"button_settings\">Gosodiadau</string>\n  <string name=\"action_show_qr\">Dangos cod QR</string>\n  <string name=\"action_browse\">Pori</string>\n  <!--generic strings-->\n  <string name=\"time_today\">heddiw</string>\n  <string name=\"address_unlabeled\">(heb label)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">PIN drwg!</string>\n  <string name=\"qr_code\">Cod QR</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Gwall I/O: %s</string>\n  <string name=\"error_parse\">Gwall dosrannu: %s</string>\n  <string name=\"error_http\">Gwall HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Gwall Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-cy/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tMae rhan dde uchaf y sgrin yn dangos dy falans mewn Bitcoin ac arian un wlad a ddewisir.\n\t\t\tTapia i fynd i\\'r rhestr o arian gwledydd a thapia ar un ohonynt i\\'w osod fel y rhagosodiad.\n\t\t</p>\n\t\t<p>\n\t\t\tMae\\'r cod QR yn y dde uchaf yn cynnwys dy gyfeiriad Bitcoin cyfredol a gellir ei ddefnyddio i\\'w sganio gan dalwr.\n\t\t\tTapia ar y cod QR i gael fersiwn mwy ohono.\n\t\t</p>\n\t\t<p>\n\t\t\tMae dy restr trafodion ar draws gaelod y sgrin.\n\t\t\tMae\\'n wag i ddechrau a bydd yn llenwi wrth i ti dderbyn ac anfon taliadau.\n\t\t\tCaiff taliadau a dderbyniwyd eu nodi mewn gwyrdd a thaliadau a anfonwyd mewn coch.\n\t\t</p>\n\t\t<p>\n\t\t\tGellir anfon neu wneud cais am Fitcoin trwy tapio\\'r botymau yn y bar gweithredoedd.\n\t\t\tMae rhagor o opsiynau ar gael yn y dewislen opsiynau.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tGan ddefnyddio\\'r deialog hwn, gellir wneud cais am Fitcoin gan dalwr.\n\t\t\tRhaid bod y talwr eisoes hefyd wedi gosod waled Bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tYn gyntaf, gellir rhoi swm o Fitcoin i wneud cais amdano.\n\t\t</p>\n\t\t<p>\n\t\t\tYna, rwyt naill ai\\'n cael y talwr i sganio\\'r cod QR a gynhyrchwyd.\n\t\t\tNeu, gellir anfon dy gais at berson gan ddefnyddio\\'r botwm rhannu yn y bar gweithredoedd.\n\t\t\tOs yw\\'r ddwy ddyfais gydag NFC wedi\\'i alluogi, gellir hefyd eu tapio at eu gilydd.\n\t\t</p>\n\t\t<p>\n\t\t\tPa bynnag ffordd, caiff y talwr weld deialog i anfon Bitcoin gyda\\'r holl meysydd ffurflen wedi\\'u cwblhau.\n\t\t\tOs yw\\'r talwr yn cytuno, caiff wneud y taliad yn hawdd.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tRwyt wedi dechrau\\'r broses o anfon Bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tYn gyntaf, rho\\'r cyfeiriad Bitcoin i\\'w dalu iddo.\n\t\t\tBydd y cyfeiriad yn awto-gwblhau o gofnodion eisoes yn dy lyfr cyfeiriadau.\n\t\t\tGellir hefyd sganio cod QR a gyflwynwyd gan y talai gan bwyso\\'r botwm camera.\n\t\t</p>\n\t\t<p>\n\t\t\tNesaf, symda i\\'r swm i\\'w dalu.\n\t\t</p>\n\t\t<p>\n\t\t\tYn olaf, rhaid rhoi\\'r PIN gwariant os oes un eisoes wedi\\'i osod.\n\t\t</p>\n\t\t<p>\n\t\t\tGellir roi gorchymun taliad heb fod ar-lein.\n\t\t\tCaiff ei anfon y tro nesaf bydd Waled Bitcoin yn ail-ddechrau.\n\t\t\tOs wyt eisiau i daliad cael ei brosesu mor gyflym â phosib, gwiria fod gennyt gysylltiad da (e.e. WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tNoder:\n\t\t\tNi ellir dad-wneud taliadau!\n\t\t\tGwiria\\'r cyfeiriadau derbyn yn ofalus.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Nodiadau diogelwch pwysig:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tMae Bitcoin yn cael eu cadw ar y ddyfais.\n\t\t\t<b>Os wyt ti\\'n ei golli, mi fyddi\\'n colli dy Fitcoin.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tGolygir hyn bod angen <b>cadw copi wrth gefn o dy waled</b>!\n\t\t\tDefnyddia\\'r cyfleuster o fewn yr ap i wneud hyn, yn hytrach nag ap trydydd parti.\n\t\t\tCadwa dy gopi wrth gefn yn ddiogel a chofia dy gyfrinair.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Cyn dadosod</b> (neu glirio data apiau/ailosod dy ddyfais), <b>trosglwydda dy Fitcoin i waled arall</b>.\n\t\t\tCaiff Bitcoin sy\\'n weddill eu colli.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Ni ellir dad-wneud taliadau</b>.\n\t\t\tOs wyt yn anfon dy Fitcoin i\\'r gwagle, does bron dim modd o\\'u cael nhw nôl.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Cadwa dy ddyfais yn ddiogel!</b>\n\t\t\tPaid â gwreiddio dy ddyfais.\n\t\t\tPaid â gosod apiau nad wyt yn ymddiried ynddynt.\n\t\t\tGall apiau maleisus fod yn ceisio dwyn dy waled.\n\t\t</p>\n\t\t<p>\n\t\t\tCadwa\\'r risg yn isel!\n\t\t\t<b>Cadwa dim ond swm ymarferol</b> ar gyfer defnydd diwrnod.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Nodiadau technegol:</b>\n        </p>\n        <p>\n            Fel waled ysgafn/SPV, dilyna Bitcoin Wallet y gadwyn prawf-o-waith mwyaf (a elwir hefyd weithiau y \\\"gadwyn hiraf\\\", y \\\"gadwyn enillgar\\\", neu\\'r \\\"gadwyn bloc Bitcoin\\\").\n            Byddi ond yn derbyn taliadau a medru gwneud taliadau ar y gadwyn honno.\n            Ni ellir gwarantu Bitcoin ar gadwyni lleiafrifol, hynny yw gyda phrawf-o-waith llai.\n        </p>\n        <p>\n            Yn y gorffennol, mae cadwyni lleiafrifol wedi dod yn amherthnasol yn gyflym iawn.\n            Os wyt yn dymuno dilyn cadwyn lleiafrifol beth bynnag, fe\\'th gynghorir i ddefnyddio\\'r nodwedd \\\"cyfoed dibynadwy\\\" i gysylltu yn unig gyda gweithrediad bitcoin sy\\'n gorfodi\\'r gadwyn yn ôl dy ddymuniad.\n            Os nad oes modd ymddiried yn y rhwydwaith yn cysylltu dy waled â\\'r cyfoed dibynadwy, defnyddia VPN i ddilysu\\'r cysylltiad.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-da/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Din tegnebog blev nulstillet!\\nDet tager nogen tid at genoprette.</string>\n  <string name=\"toast_start_external_document_failed\">Der er ingen webbrowser installeret til at åbne det eksterne dokument.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Brug for egen risiko. Læs &lt;u&gt;sikkerhedsnoterne&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Du bør &lt;u&gt;tage sikkerhedskopi af din tegnebog&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d timer bagefter</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dage bagefter</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d uger bagefter</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d måneder bagefter</string>\n  <string name=\"blockchain_state_progress_downloading\">Synkroniserer med netværk</string>\n  <string name=\"blockchain_state_progress_stalled\">Synkronisering står stille</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Synkroniserer: Pladsproblem</string>\n  <string name=\"blockchain_state_progress_problem_network\">Synkroniserer: Netærksproblem</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin-adresse kopieret til udklipsholder</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">For at beskytte dit privatliv vil din adresse ændres, så snart den modtager en betaling.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Din enhed er gammel og usikker. Brug venligst kun til små beløb.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Dette beløb er ret stort at gå rundt med i din lomme. Du bør flytte noget af det til et mere sikkert sted.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Saldo er ikke tilgængelig under gennemløb af blokkæden.</string>\n  <string name=\"exchange_rates_activity_title\">Valutakurser</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Kunne ikke finde vekselkurs.</string>\n  <string name=\"exchange_rates_fragment_default\">(standard)</string>\n  <string name=\"exchange_rates_fragment_rate\">kurs</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Pris fra %s</string>\n  <string name=\"exchange_rates_options_search\">Søg iblandt vekselkurser</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Ingen Bitcoins modtaget endnu.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Ingen Bitcoins sendt endnu.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Hvordan får man Bitcoins?\\nKøb for traditionelle penge,\\nsælg varer eller ydelser eller\\ntjen dem ved at arbejde.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Sikkerhedskopiér din tegnebog\\nfør du modtager Bitcoins!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Tillykke, du har modtaget din første betaling! Har du &lt;u&gt;taget en sikkerhedskopi af din tegnebog&lt;/u&gt;, for at beskytte dig mod tab?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Tip: For at øge din tegnebogs sikkerhed kan du &lt;u&gt;kryptere din enhed&lt;/u&gt;. Dette beskytter også data fra andre apps.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Bitcoin-netværket er under vedligeholdelse. Du anbefales ikke at sende eller modtage midler, indtil vedligeholdelsen er færdig. &lt;u&gt;Mere information&lt;/u&gt;.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">mined</string>\n  <string name=\"wallet_transactions_fragment_internal\">intern</string>\n  <string name=\"wallet_transactions_options_filter\">Filter</string>\n  <string name=\"wallet_transactions_options_filter_all\">Alle betalinger</string>\n  <string name=\"wallet_transactions_options_filter_received\">Modtagne betalinger</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Sendte betalinger</string>\n  <string name=\"wallet_options_request_legacy\">Anmod til ældre adresse</string>\n  <string name=\"wallet_options_safety_menu\">Sikkerhed</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Sæt spenderings-PIN</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Ændr spenderings-PIN</string>\n  <string name=\"wallet_options_safety\">Sikkerhedsnoter</string>\n  <string name=\"wallet_options_technical_notes_title\">Tekniske noter</string>\n  <string name=\"wallet_options_donate\">Giv drikkepenge / donér</string>\n  <string name=\"wallet_donate_address_label\">Donér til Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Sikkerhedsadvarsel</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Din enheds Bluetooth-komponent er sårbar. Dine bitcoin på denne enhed er i fare, uanset hvilken app du bruger til at opbevare dem!\\n\\nVi foreslår, at du slukker for Bluetooth med det samme og tjekker hos din producenten af din enhed, om der findes en opdatering til Android-systemet, som indeholder sikkerhedslukning niveau \\\"%s\\\" eller senere.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Enheds interne lagerplads er lav!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet bruger intern lager til at huske overførsler og blokke. Hvis den løber tør for plads, vil den stoppe med at virke og dine Bitcoins vil være i fare!\\n\\nVil du åbne app-håndteringen for at afinstallere ubrugte apps?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Håndtér apps</string>\n  <string name=\"wallet_timeskew_dialog_title\">Tjek dato- og tidsindstillinger</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Din enheds tid går %d minutter skævt. Du kan sandsynligvis ikke sende eller modtage bitcoin på grund af dette.\\n\\nDu bør tjekke, og om nødvendigt rette, dine dato-, tids- og tidszoneindstillinger.</string>\n  <string name=\"wallet_version_dialog_title\">En ny version er tilgængelig!</string>\n  <string name=\"wallet_version_dialog_msg\">Denne version retter vigtige fejl. Se ændringsloggen på  %s for flere detaljer.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Hvis du ikke ser en opdatering, betyder dette formodentlig, at din version af Android ikke understøttes længere.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Download</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android-version er uddateret</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Der er risiko for, at en af de næste udgivelser af Bitcoin Wallet ikke vil understøtte din enhed længere. I nogle tilfælde kan det være svært at bruge mønter på denne enhed.\\n\\nMed mindre du ved hvad du gør, anbefales det snart at flytte dine mønter væk.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problem under åbning af indstillinger</string>\n  <string name=\"send_coins_activity_title\">Send Bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Henter signatur fra %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Hentning af betalingsanmodning mislykkedes</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Betalingsmodtageren (%1$s) bruger en inkompatibel betalingsprotokol (begrundelse: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Forkert signatur!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">verificeret af: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">ukendt</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Betal til</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">skriv adresse eller navn</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Ugyldig Bitcoin-adresse!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Du er ved at sende til dig selv!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">kompleks\\nadresse</string>\n  <string name=\"send_coins_fragment_pending\">(%s venter på bekræftelse)</string>\n  <string name=\"send_coins_fragment_amount_label\">Beløb at betale</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Et økonomigebyr på %s vil blive betalt. Vigtigt: Brug kun \\\"økonomisk\\\", hvis bekræftelsestiden ikke spiller nogen rolle.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Et netværksgebyr på %s vil blive betalt.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Et prioritetsgebyr på %s vil blive betalt. Hvis du vil betale så lave gebyrer som muligt, brug da kun \\\"prioriteret\\\" hvis du har brug for bekræftelse så hurtigt som muligt.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Beløbet er for lille til at blive sendt.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Ikke nok tilgængelige bitcoin. Du mangler %s.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Det samlede beløb af bittesmå betalinger i din tegnebog er ikke nok til at kunne sendes.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Betalinger er i øjeblikket ikke mulige, da et gennemløb er under udførsel.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Send betaling direkte til modtageren.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Din betaling blev sendt direkte med succes.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Din betaling blev afvist via direkte forbindelse.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Direkte betaling mislykkedes</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Din betaling vil stadig blive sendt ud på P2P-netværket.</string>\n  <string name=\"send_coins_fragment_button_send\">Send</string>\n  <string name=\"send_coins_fragment_button_back\">Tilbage</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Betydeligt netværksgebyr</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Netværksgebyret for denne betaling (%1$s) er højt i forhold til beløbet (%2$s). Vil du sende alligevel?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Ikke nok tilgængelig bitcoin</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Du mangler %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Vil du betale alt hvad du har?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Tømning af tegnebog mislykkedes</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Afkrypterer…</string>\n  <string name=\"send_coins_preparation_msg\">Signerer…</string>\n  <string name=\"send_coins_sending_msg\">Sender…</string>\n  <string name=\"send_coins_sent_msg\">Sendt!</string>\n  <string name=\"send_coins_failed_msg\">Mislykkedes!</string>\n  <string name=\"send_coins_error_msg\">Problem under afsendelse af bitcoin!</string>\n  <string name=\"send_coins_options_fee_category\">Gebyr</string>\n  <string name=\"send_coins_options_fee_category_economic\">Økonomisk</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioriteret</string>\n  <string name=\"send_coins_options_empty\">Tøm tegnebog</string>\n  <string name=\"raise_fee_dialog_title\">Forhøj netværksgebyr</string>\n  <string name=\"raise_fee_dialog_message\">Vil du forhøje netværksgebyret for denne betaling med %s? Det vil få betalingen til at blive bekræftet hurtigere.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Fastsætter netværksgebyr…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Netværksgebyret for denne betaling kan ikke forhøjes.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Afkrypterer…</string>\n  <string name=\"raise_fee_dialog_state_done\">Færdig.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Forhøj</string>\n  <string name=\"sweep_wallet_activity_title\">Ryd papirtegnebog</string>\n  <string name=\"sweep_wallet_fragment_intro\">Du er ved at rydde en papirtegnebog eller kupon. Dette vil flytte alle bitcoin fra dette stykke papir til din tegnebog på denne enhed. Når overførslen er bekræftet, vil papiret være værdiløst og bør ikke genanvendes af sikkerhedsgrunde.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Papirtegnebøger bruges oftest som kold opbevaring. Nogle hæveautomater udskriver dem på deres papirbon\\'er frem for at sende bitcoins direkte til din mobile enhed. Folk bruger nogle gange papirtegnebøger til at sende værdier omkring (anbefales ikke).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Start ved at scanne papirtegnebogens private nøgle. Brug kamera-knappen.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Denne private nøgle beskyttes med en adgangskode.</string>\n  <string name=\"sweep_wallet_fragment_password\">kodeord</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">forkert adgangskode!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Saldo der skal ryddes</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Afkryptér</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Ryd</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Afkrypterer…\\nTager op til 2 minutter.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Indlæser saldo…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Indlæsning af tegnebogens saldo mislykkedes</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Din forbindelse til Electrum-netværket er dårlig.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Papirtegnebogen er tom.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Ikke nok bitcoin</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Mængden af bitcoin i tegnebogen er for lille til rydning.</string>\n  <string name=\"sweep_wallet_options_reload\">Genindlæs saldo</string>\n  <string name=\"maintenance_dialog_title\">Vedligeholdelse anbefales</string>\n  <string name=\"maintenance_dialog_message\">Du har modtaget %1$s til usikre adresser. Vil du flytte disse til sikre adresser? Et lille netværksgebyr på %2$s vil opkræves.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Afkrypterer…</string>\n  <string name=\"maintenance_dialog_state_done\">Færdig.</string>\n  <string name=\"maintenance_dialog_button_move\">Flyt</string>\n  <string name=\"request_coins_activity_title\">Forespørg Bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Forespurgt beløb (valgfri)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Modtag betaling via Bluetooth for mere pålidelig bearbejdning</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Få afsenderen til at scanne denne kode.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Eller berør en NFC-aktiveret enhed.</string>\n  <string name=\"request_coins_clipboard_msg\">Bitcoin-forespørgsel kopieret til udklipsholderen</string>\n  <string name=\"request_coins_share_dialog_title\">Del forespørgsel efter Bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">Ingen anden Bitcoin-app fundet</string>\n  <string name=\"request_coins_options_local_app_title\">Forespørg fra lokal app</string>\n  <string name=\"address_book_activity_title\">Adressebog</string>\n  <string name=\"address_book_list_receiving_title\">Dine adresser</string>\n  <string name=\"address_book_list_receiving_random\">Gamle adresser</string>\n  <string name=\"address_book_list_sending_title\">Sender adresser</string>\n  <string name=\"address_book_empty_text\">Ingen elementer i adressebog</string>\n  <string name=\"address_book_context_send_title\">Send Bitcoins til adresse</string>\n  <string name=\"address_book_context_edit_title\">Redigér adresse</string>\n  <string name=\"address_book_context_remove_title\">Fjern adresse</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopiér til udklipsholder</string>\n  <string name=\"address_book_options_scan_title\">Scan adresse</string>\n  <string name=\"address_book_options_scan_invalid\">Scannet data kan ikke genkendes</string>\n  <string name=\"address_book_options_scan_own_address\">Den scannede adresse er din egen.</string>\n  <string name=\"address_book_row_current_address\">Dette er din aktuelle modtagelsesadresse.</string>\n  <string name=\"address_book_row_message_compromised_key\">Denne adresse kan være blevet misbrugt. Du bør ikke bruge den til at modtage bitcoin længere.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Tilføj afsenderadresse</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Redigér mærke for afsenderadresse</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Føj mærke til din adresse</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Redigér mærke for din adresse</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adresse</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Mærke</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Gem</string>\n  <string name=\"transaction_row_fee\">Netværksgebyr</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Denne betaling er ikke sendt endnu.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Denne betaling er blevet krediteret til din tegnebog.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Din betaling blev gennemført. Den har nået modtageren.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Denne betaling mislykkedes.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Din betaling mislykkedes.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Denne overførsel styrker din tegnebog mod tyveri. &lt;u&gt;Mere info.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Denne transaktion forhøjer netværksgebyret for en tidligere betaling.</string>\n  <string name=\"transaction_row_message_received_direct\">Denne betaling er modtaget direkte. Der er en risiko for, at den aldrig bliver tilgængelig.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Bekræftelsen af denne betaling er forsinket – sandsynligvis på grund af overbelastning af Bitcoin-netværket.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Denne betaling bør blive tilgængelig om få minutter.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">På grund af vedligeholdelse af Bitcoin-netværket, bør du ikke stole på denne transaktion, før den er fuldt ud bekræftet.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Denne betaling har en forøget risiko for at blive tilbageført af afsenderen! Hvis du kan, så vent på bekræftelse.</string>\n  <string name=\"transaction_row_message_received_dead\">Denne betaling er blevet tilbageført af afsenderen.</string>\n  <string name=\"transaction_row_message_received_dust\">Dette lille beløb kan økonomisk set sandsynligvis aldrig bruges.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Denne betaling er delt over mange tegnebøger ud over din, hvilket sløver app\\'en ned over tid. Hvis du kan, så prøv at modtage betalinger, der kun er til dig.</string>\n  <string name=\"transaction_row_message_received_rbf\">Denne betaling blev forsinket, da afsenderen har brugt en usikker transaktionstype.</string>\n  <string name=\"network_monitor_activity_title\">Netværksovervågning</string>\n  <string name=\"network_monitor_peer_list_title\">Peers</string>\n  <string name=\"network_monitor_block_list_title\">Blokke</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Justering af mining-sværhedsgraden</string>\n  <string name=\"block_row_mining_reward_adjustment\">Halvering af mining-belønningen</string>\n  <string name=\"block_row_now\">lige nu</string>\n  <string name=\"peer_list_fragment_empty\">Ingen peers forbundet</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Genopret tegnebog</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Du skal til at erstatte din nuværende tegnebog. Hvis den indeholder bitcoin, vil disse mistes, med mindre du har en separat sikkerhedskopi af tegnebogen.</string>\n  <string name=\"import_keys_dialog_warning\">Vigtigt: Indlæs ikke private nøgler fra tvivlsomme kilder! Andre kan opnå kontrol over dine midler, hvis du gør dette.</string>\n  <string name=\"import_keys_dialog_button_import\">Genopret</string>\n  <string name=\"restore_wallet_dialog_success\">Tegnebog blev genoprettet.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Din tegnebog blev genoprettet med succes. Dens saldo vil blive beregnet som det næste. Dette vil tage nogen tid.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Advarsel: Din tegnebog er beskyttet af en spenderings-PIN. Sørg for at du kan huske den, før du modtager noget i denne tegnebog.</string>\n  <string name=\"import_keys_dialog_failure\">Tegnebog kunne ikke genoprettes:\\n\\n%s\\n\\nForkert kodeord?</string>\n  <string name=\"export_keys_dialog_title\">Lav sikkerhedskopi af tegnebog</string>\n  <string name=\"backup_wallet_dialog_message\">Din sikkerhedskopi vil blive krypteret med det valgte kodeord og skrevet til ekstern lagerenhed.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Din tegnebog beskyttes af en spenderings-PIN. Vær sikker på, at du kan huske din PIN udover dit kodeord til sikkerhedskopien!</string>\n  <string name=\"export_keys_dialog_button_export\">Sikkerskopiér</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Din tegnebog er sikkerhedskopieret til <tt>%s</tt></p><p><b>Hvis det eneste sted, hvor din sikkerhedskopi er gemt, er din enhed, risikerer du at miste begge dele på én gang!</b></p><p>Uanset hvad, så vær sikker på, at du kan huske kodeordet til din sikkerhedskopi.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Din tegnebog kunne ikke sikkerhedskopieres:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">kodeord</string>\n  <string name=\"backup_wallet_dialog_password_again\">igen</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">uoverensstemmelse!</string>\n  <string name=\"import_export_keys_dialog_show\">Vis kodeord</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Fejl</string>\n  <string name=\"import_keys_intent_filter_action\">Genopret tegnebog</string>\n  <string name=\"encrypt_keys_dialog_title\">Spenderings-PIN</string>\n  <string name=\"encrypt_keys_dialog_message\">Spendering fra din tegnebog vil blive beskyttet med den valgte PIN.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Vigtigt: Du er nødt til at huske din PIN! Brug ikke almindelige tal (som fx fødselsdage).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Gammel PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">svag</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">middel</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">god</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">stærk</string>\n  <string name=\"encrypt_keys_dialog_show\">Vis PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Krypterer…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Afkrypterer…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Færdig.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Beklager</string>\n  <string name=\"scan_camera_problem_dialog_message\">Der er et problem med kameraet. En gentstart af enheden er sandsynligvis nødvendig.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Kamerarettigheder</string>\n  <string name=\"scan_camera_permission_dialog_message\">For at skanne QR-koder er du nødt til at give rettigheder til at bruge kameraet.</string>\n  <string name=\"input_parser_io_error\">Kan ikke læse data:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Kan ikke genkende input:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Ugyldig Bitcoin-URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Modtog ugyldig bitcoin-adresse!\\n(Forveksler du mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Kan ikke verificere betalingsforespørgsel:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Ugyldig betalingsforespørgsel:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Ugyldig overførsel:\\n%s</string>\n  <string name=\"preferences_activity_title\">Opsætning</string>\n  <string name=\"preferences_category_general\">Generelt</string>\n  <string name=\"preferences_category_privacy\">Privatlivskontrol</string>\n  <string name=\"preferences_category_merchants\">Sælgere</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostik</string>\n  <string name=\"preferences_category_labs\">Laboratoriet</string>\n  <string name=\"preferences_precision_title\">Denominering og præcision</string>\n  <string name=\"preferences_precision_summary\">Enhed som beløb vises i. Dette påvirker ikke beregninger.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 decimaler</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 decimaler</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 decimaler</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 decimaler</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, uden decimaler</string>\n  <string name=\"preferences_own_name_title\">Eget navn</string>\n  <string name=\"preferences_own_name_summary\">Dit navn eller din virksomheds navn. Føjes til betalingsanmodninger, som du sender til kunder.</string>\n  <string name=\"preferences_own_name_dialog_message\">Hold det kort.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Luk automatisk dialogen Send coins</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Send-dialogen vil lukke automatisk, når betalingen er udført.</string>\n  <string name=\"preferences_trusted_peer_title\">Betroet peer</string>\n  <string name=\"preferences_trusted_peer_summary\">IP eller værtsnavn for forbindelse til en enkelt peer.</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">Indtast venligst en gyldig IP-adresse eller værtsnavn. Hvis du har Tor sat op, kan du også bruge en onion-adresse her.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Oversætter…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Ukendt værtsnavn!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Spring normal peer-søgning over</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Forhindrer forbindelse til andre peers end den betroede.</string>\n  <string name=\"preferences_block_explorer_title\">Blokudforsker</string>\n  <string name=\"preferences_block_explorer_summary\">Ekstern blokudforsker, der skal bruges til at gennemse transaktioner, adresser og blokke.</string>\n  <string name=\"preferences_data_usage_title\">Dataforbrug</string>\n  <string name=\"preferences_data_usage_summary\">Vis indstillinger for restriktion på dataforbrug på mobile netværk.</string>\n  <string name=\"preferences_notifications_title\">Notifikationer</string>\n  <string name=\"preferences_notifications_summary\">Vis muligheder for at aktivere eller deaktivere specifikke notifikationer.</string>\n  <string name=\"preferences_remind_balance_title\">Saldopåmindelse</string>\n  <string name=\"preferences_remind_balance_summary\">Efter et par uger uden brug vil app\\'en give besked, hvis der stadig er penge i tegnebogen.</string>\n  <string name=\"preferences_show_disclaimer_title\">Vis ansvarsfraskrivelse</string>\n  <string name=\"preferences_show_disclaimer_summary\">Har du virkelig læst sikkerhedsnoterne? Har du allerede sikkerhedskopieret din tegnebog til et sikkert sted?</string>\n  <string name=\"preferences_bluetooth_address_title\">Bluetooth-adresse</string>\n  <string name=\"preferences_bluetooth_address_summary\">Konfigurér manuelt din egen Bluetooth-adresse, så du kan modtage betalinger fra købere uden forbindelse.</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">Desværre forhindrer Android den automatiske søgning efter din enheds Bluetooth-adresse. Du er nødt til at slå den op i Androids Bluetooth-indstillinger og indtaste den her.\\n\\nSørg venligst for at alle tegn er korrekte. Koloner kan udelades og der er ikke forskel på små og store bogstaver.</string>\n  <string name=\"preferences_report_issue_title\">Rapportér problem</string>\n  <string name=\"preferences_initiate_reset_title\">Nulstil blokkæde</string>\n  <string name=\"preferences_initiate_reset_summary\">Nulstil blokkæde, overførsler og saldo for tegnebogen. Gennemløb af blokkæden vil tage et stykke tid, så gør kun dette hvis du ved hvorfor.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Vil du nulstille og gennemløbe blokkæden igen?\\n\\nDette vil midlertidigt skjule din saldo og fjerne overførsler. Begge dele vil dukke op igen, efterhånden som der synkroniseres med blokkæden. Sørg for at du har en stabil forbindelse til Internet.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Nulstil</string>\n  <string name=\"preferences_extended_public_key_title\">Vis extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Vis din tegnebogs udvidede offentlige nøgle så den kan importeres til andre apps og tjenester. Vær forsigtig: Du vil afsløre dit økonomiske privatliv til pågældende app, hvis du gør dette.</string>\n  <string name=\"bitmap_fragment_share\">Del…</string>\n  <string name=\"extended_public_key_fragment_title\">Udvidet offentlig nøgle</string>\n  <string name=\"extended_public_key_fragment_share\">Del extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Rapportér problem</string>\n  <string name=\"report_issue_dialog_title_crash\">Tidligere programnedbrud opfanget</string>\n  <string name=\"report_issue_dialog_title_transaction\">Rapportér problem med valgt betaling</string>\n  <string name=\"report_issue_dialog_message_issue\">Beskriv venligst problemet præcist nok til at det kan genskabes. Skriv på engelsk hvis du har muligheden.</string>\n  <string name=\"report_issue_dialog_message_crash\">Vil du sende en nedbrudsrapport for at hjælpe med at rette op på problemet i fremtiden?</string>\n  <string name=\"report_issue_dialog_description\">problembeskrivelse</string>\n  <string name=\"report_issue_dialog_report\">Rapport</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Tilføj enhedsinformation</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Tilføj programlog</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Tilføj dump af tegnebog</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Send rapport ved hjælp af…</string>\n  <string name=\"about_title\">Om</string>\n  <string name=\"about_version_title\">Version</string>\n  <string name=\"about_version_apk_hash_title\">SHA256-hash af APK\\'en</string>\n  <string name=\"about_copyright_title\">Ophavsret</string>\n  <string name=\"about_license_title\">Licens</string>\n  <string name=\"about_source_title\">Kildekode</string>\n  <string name=\"about_category_credits\">Denne app bruger…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, en implementation af Bitcoin-protokollen</string>\n  <string name=\"about_credits_zxing_title\">ZXing, et bibliotek til processering af QR-koder</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, et kryptografi-bibliotek</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, et HTTP-klientbibliotek</string>\n  <string name=\"about_credits_moshi_title\">Moshi, et JSON-bibliotek</string>\n  <string name=\"about_credits_guava_title\">Guava, en samling af nyttige hjælpere</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, et framework til logning</string>\n  <string name=\"about_market_app_title\">%s-side</string>\n  <string name=\"about_market_app_summary\">Anmeld eller bedøm appen</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Ofte stillede spørgsmål om app\\'en</string>\n  <string name=\"notification_coins_received_msg\">Modtog %s</string>\n  <string name=\"notification_connectivity_syncing_message\">Synkroniserer med netværket…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Synkroniserer med din betroede peer…</string>\n  <string name=\"notification_peers_connected_msg\">%d peers forbundet</string>\n  <string name=\"notification_peer_connected\">forbundet</string>\n  <string name=\"notification_peer_not_connected\">ikke forbundet</string>\n  <string name=\"notification_inactivity_title\">Du har stadig bitcoin på denne enhed!</string>\n  <string name=\"notification_inactivity_message\">Husk, at din saldo på %s vil gå tabt, hvis du afinstallerer app\\'en Bitcoin Wallet uden først at sende pengede videre.</string>\n  <string name=\"notification_inactivity_message_donate\">Hvis du ikke er interesseret i dine bitcoin, kan du også donere dem til Bitcoin Wallet-projektet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Påmind senere</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Påmind mig ikke</string>\n  <string name=\"notification_bluetooth_service_listening\">Klar til at modtage betalinger via Bluetooth</string>\n  <string name=\"notification_channel_received_name\">Modtagne betalinger</string>\n  <string name=\"notification_channel_ongoing_name\">Baggrundsaktivitet</string>\n  <string name=\"notification_channel_important_name\">Vigtige advarsler</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin-saldo</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">O.k.</string>\n  <string name=\"button_dismiss\">Afvis</string>\n  <string name=\"button_cancel\">Annullér</string>\n  <string name=\"button_retry\">Prøv igen</string>\n  <string name=\"button_help\">Hjælp</string>\n  <string name=\"button_add\">Tilføj</string>\n  <string name=\"button_delete\">Slet</string>\n  <string name=\"button_set\">Sæt</string>\n  <string name=\"button_remove\">Fjern</string>\n  <string name=\"button_edit\">Redigér</string>\n  <string name=\"button_copy\">Kopiér</string>\n  <string name=\"button_paste\">Indsæt</string>\n  <string name=\"button_share\">Del</string>\n  <string name=\"button_set_as_default\">Sæt som standard</string>\n  <string name=\"button_request_coins\">Modtag bitcoin</string>\n  <string name=\"button_send_coins\">Send bitcoin</string>\n  <string name=\"button_scan\">Scan</string>\n  <string name=\"button_settings\">Opsætning</string>\n  <string name=\"action_show_qr\">Vis QR-kode</string>\n  <string name=\"action_browse\">Gennemse</string>\n  <!--generic strings-->\n  <string name=\"time_today\">i dag</string>\n  <string name=\"address_unlabeled\">(uden etikette)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">forkert PIN!</string>\n  <string name=\"qr_code\">QR-kode</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O-fejl: %s</string>\n  <string name=\"error_parse\">Fortolkningsfejl: %s</string>\n  <string name=\"error_http\">HTTP-fejl %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetooth-fejl: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-da/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tDen øverste venstre del af skærmen viser din saldo i bitcoin og en selvvalgt national valuta.\n\t\t\tBerør dér for at få vist en liste over nationale valutaer, og berør én af disse valutaer for at vælge den som standard.\n\t\t</p>\n\t\t<p>\n\t\t\tQR-koden til højre indeholder din bitcoin-adresse og kan bruges til skanning af en betaler.\n\t\t\tBerør QR-koden for at få vist en større version af den.\n\t\t</p>\n\t\t<p>\n\t\t\tBunden af skærmen indeholder din transaktionsliste.\n\t\t\tDen er tom i begyndelsen og vil blive fyldt, efterhånden som du modtager og sender betalinger.\n\t\t\tModtagne betalinger vil blive markeret med grøn og sendte betalinger med rød.\n\t\t</p>\n\t\t<p>\n\t\t\tDu kan sende eller anmode om bitcoin ved at berøre knapperne i handlingsbjælken.\n\t\t\tFlere indstillinger er tilgængelige i menuen Indstillinger.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tVed hjælp af denne dialogskærm kan du anmode om bitcoin hos en betaler.\n\t\t\tBetaleren bør allerede have installeret en Bitcoin-tegnebog.\n\t\t</p>\n\t\t<p>\n\t\t\tFørst kan du indtaste et beløb, du vil anmode om.\n\t\t</p>\n\t\t<p>\n\t\t\tDerefter kan du enten lade betaleren skanne den genererede QR-kode, eller du kan sende din anmodning til en person længere væk ved hjælp af delingsknappen i handlingsbjælken.\n\t\t\tHvis begge telefoner har NFC aktiveret, kan I også holde dem op mod hinanden.\n\t\t</p>\n\t\t<p>\n\t\t\tUanset hvordan, vil betaleren få vist en skærm/et vindue til afsendelse af bitcoin med alle felterne forudfyldt.\n\t\t\tHvis betaleren accepterer, skal han eller hun blot afsende betalingen.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tDu har startet handlingen, der afsender bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tFørst indtaster du Bitcoin-adressen, der skal betales til.\n\t\t\tAdressen vil automatisk skrives færdig ud fra adresser i din adressebog.\n\t\t\tDu kan også skanne en QR-kode, som betalingsmodtageren fremviser, ved at klikke på kamera-knappen.\n\t\t</p>\n\t\t<p>\n\t\t\tDernæst indtaster du det beløb, du vil betale.\n\t\t</p>\n\t\t<p>\n\t\t\tTil sidst skal betalings-PIN-koden indtastes, hvis en sådan er aktiveret.\n\t\t</p>\n\t\t<p>\n\t\t\tDu kan indtaste en betaling, mens du er offline.\n\t\t\tDen vil blive sendt, næste gang Bitcoin Wallet genstartes.\n\t\t\tHvis du vil være sikker på, at en betaling bliver behandlet så hurtigt som muligt så sørg for, at du har en god forbindelse (dvs. på et trådløst netværk).\n\t\t</p>\n\t\t<p>\n\t\t\tBemærk:\n\t\t\tBetalinger kan ikke trækkes tilbage!\n\t\t\tKontrollér altid modtageradressen.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Vigtige sikkerhedsnoter:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoin bliver gemt på enheden.\n\t\t\t<b>Hvis du mister den, mister du dine bitcoin.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tDette betyder, at du er nødt til at <b>sikkerhedskopiere din tegnebog</b>!\n\t\t\tBrug den indbyggede funktion til dette, ikke en sikkerhedskopieringsapp fra tredjepart.\n\t\t\tOpbevar din sikkerhedskopi sikkert og glem ikke adgangskoden.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Før du afinstallerer app\\'en</b> (eller sletter app\\'ens data/nulstiller din enhed), <b>skal du overføre dine bitcoin til en anden tegnebog</b>.\n\t\t\tTilbageværende bitcoin vil gå tabt.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Betalinger kan ikke trækkes tilbage</b>.\n\t\t\tHvis du sender dine bitcoin ud i \\\"intetheden\\\", er der stort set ingen måde at få dem tilbage.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Opbevar din mobile enhed sikkert!</b>\n\t\t\tLad være med at root\\'e din enhed.\n\t\t\tInstallér kun apps, du stoler fuldt ud på.\n\t\t\tOndsindede apps kan potentielt prøve at stjæle din tegnebog.\n\t\t</p>\n\t\t<p>\n\t\t\tHold risikoen lav!\n\t\t\t<b>Brug kun til små beløb</b> til daglig brug.\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Tekniske noter:</b>\n        </p>\n        <p>\n            Som SPV-/letvægtstegnebog følger Bitcoin Wallet den kæde med mest proof-of-work (til tider også kaldt den \\\"længste kæde\\\", den \\\"vindende kæde\\\" eller \\\"Bitcoin blokkæden\\\").\n            Du vil kun modtage indkommende betalinger og være i stand til at betale på denne kæde.\n            Ingen garantier gives om Bitcoin på minoritetskæder, dvs. kæder med mindre proof-of-work.\n        </p>\n        <p>\n            Førhen blev minoritetskæder altid irrelevante meget hurtigt.\n            Hvis du alligevel vælger at følge en minoritetskæde, anbefales du at bruge funktionen \\\"Betroet peer\\\" for udelukkende at forbinde til en bitcoind-implementering, som udfører din valgte kæde.\n            Hvis du ikke stoler på netværket mellem din tegnebog og den betroede peer, kan du bruge en VPN til at autentificere forbindelsen.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-de/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n    <string name=\"toast_wallet_reset\">Deine Wallet wurde zurückgesetzt!\\nDie Wiederherstellung wird einige Zeit benötigen.</string>\n    <string name=\"toast_start_external_document_failed\">Es ist kein Web-Browser installiert um das externe Dokument zu öffnen.</string>\n    <string name=\"toast_start_storage_provider_selector_failed\">Es ist kein passender Netzspeicher-Dienst installiert.\\nDu brauchst so etwas wie \\\"Nextcloud\\\" oder \\\"Google Drive\\\".</string>\n    <string name=\"wallet_disclaimer_fragment_remind_safety\">Nutzung auf eigene Gefahr. Lies die &lt;u&gt;Sicherheitshinweise&lt;/u&gt;.</string>\n    <string name=\"wallet_disclaimer_fragment_remind_backup\">Bitte &lt;u&gt;sichere deine Wallet&lt;/u&gt;!</string>\n    <string name=\"blockchain_state_progress_hours\">%1$s, hinkt %2$d Stunden hinterher</string>\n    <string name=\"blockchain_state_progress_days\">%1$s, hinkt %2$d Tage hinterher</string>\n    <string name=\"blockchain_state_progress_weeks\">%1$s, hinkt %2$d Wochen hinterher</string>\n    <string name=\"blockchain_state_progress_months\">%1$s, hinkt %2$d Monate hinterher</string>\n    <string name=\"blockchain_state_progress_downloading\">Synchronisiere mit Netzwerk</string>\n    <string name=\"blockchain_state_progress_stalled\">Synchronisation blockiert</string>\n    <string name=\"blockchain_state_progress_problem_storage\">Problem mit Synchronisation: Geringer Speicherplatz</string>\n    <string name=\"blockchain_state_progress_problem_network\">Problem mit Synchronisation: Keine Netzwerkverbindung</string>\n    <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin-Adresse ins Clipboard kopiert</string>\n    <string name=\"wallet_address_dialog_fragment_hint\">Um deine Privatsphäre zu schützen, ändert sich deine Adresse sobald sie eine Zahlung empfängt.</string>\n    <string name=\"wallet_balance_fragment_insecure_device\">Dein Gerät ist alt und unsicher. Bitte nutze es nur für kleine Beträge.</string>\n    <string name=\"wallet_balance_fragment_too_much\">Dieser Wert ist recht hoch, um in der Tasche getragen zu werden. Bitte verschiebe etwas an einen sichereren Ort.</string>\n    <string name=\"wallet_balance_fragment_replaying\">Guthaben ist während des Replays nicht verfügbar.</string>\n    <string name=\"exchange_rates_activity_title\">Wechselkurse</string>\n    <string name=\"exchange_rates_fragment_empty_search\">Kann Wechselkurs nicht finden.</string>\n    <string name=\"exchange_rates_fragment_default\">(Standard)</string>\n    <string name=\"exchange_rates_fragment_rate\">Kurs</string>\n    <string name=\"exchange_rates_fragment_balance\">Guthaben</string>\n    <string name=\"exchange_rates_fragment_source\">Kurs von %s</string>\n    <string name=\"exchange_rates_options_search\">Wechselkurs suchen</string>\n    <string name=\"wallet_transactions_fragment_empty_text_received\">Noch keine Bitcoins empfangen.</string>\n    <string name=\"wallet_transactions_fragment_empty_text_sent\">Noch keine Bitcoins gesendet.</string>\n    <string name=\"wallet_transactions_fragment_empty_text_howto\">Wie komme ich an Bitcoins?\\nHandle gegen traditionelles Geld,\\nverkaufe Güter oder Dienstleistungen oder\\nverdiene durch Arbeit.</string>\n    <string name=\"wallet_transactions_fragment_empty_text_warning\">Verwende dieses Wallet nicht für viele Transaktionen mit vielen Ausgängen, wie bspw. Mining Pool oder Faucet Auszahlungen. Sie können das Wallet bis zum Halt verlangsamen.</string>\n    <string name=\"wallet_transactions_fragment_empty_remind_backup\">Bitte sichere deine Wallet\\nbevor du Bitcoins empfängst!</string>\n    <string name=\"wallet_transactions_row_warning_backup\">Gratulation, du hast deine erste Zahlung erhalten! Hast du deine Wallet bereits &lt;u&gt;gesichert&lt;/u&gt;, um dich gegen Verlust zu schützen?</string>\n    <string name=\"wallet_transactions_row_warning_storage_encryption\">Tipp: Um die Sicherheit deiner Wallet zu erhöhen, kannst du dein &lt;u&gt;Gerät verschlüsseln&lt;/u&gt;. Das schützt auch die Daten anderer Apps.</string>\n    <string name=\"wallet_transactions_row_warning_chain_forking\">Das Bitcoin-Netzwerk befindet sich in Wartungsarbeiten. Es wird empfohlen, keine Bitcoins zu versenden oder zu empfangen bis die Arbeiten beendet sind. &lt;u&gt;Weitere Informationen.&lt;/u&gt;</string>\n    <string name=\"wallet_transactions_fragment_coinbase\">geschürft</string>\n    <string name=\"wallet_transactions_fragment_internal\">intern</string>\n    <string name=\"wallet_transactions_options_filter\">Filter</string>\n    <string name=\"wallet_transactions_options_filter_all\">Alle Zahlungen</string>\n    <string name=\"wallet_transactions_options_filter_received\">Empfangene Zahlungen</string>\n    <string name=\"wallet_transactions_options_filter_sent\">Gesendete Zahlungen</string>\n    <string name=\"wallet_options_request_legacy\">An alte Adresse anfordern</string>\n    <string name=\"wallet_options_safety_menu\">Sicherheit</string>\n    <string name=\"wallet_options_encrypt_keys_set\">Ausgabe-PIN setzen</string>\n    <string name=\"wallet_options_encrypt_keys_change\">Ausgabe-PIN ändern</string>\n    <string name=\"wallet_options_safety\">Sicherheitshinweise</string>\n    <string name=\"wallet_options_technical_notes_title\">Technische Hinweise</string>\n    <string name=\"wallet_options_donate\">Spenden</string>\n    <string name=\"wallet_donate_address_label\">Spende für Bitcoin Wallet</string>\n    <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Sicherheitswarnung</string>\n    <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Die Bluetooth-Komponente deines Geräts ist verwundbar. Deine Bitcoins auf diesem Gerät sind in Gefahr, unabhängig davon in welcher App du sie aufbewahrst!\\n\\nWir empfehlen dir, Bluetooth sofort auszuschalten und bei deinem Gerätehersteller zu prüfen, ob es ein Android-Update gibt, das Sicherheitspatch-Ebene \\'%s\\' oder später implementiert.</string>\n    <string name=\"wallet_low_storage_dialog_title\">Interner Speicher wird knapp!</string>\n    <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet nutzt internen Speicher um sich Transaktionen und Blöcke zu merken. Wenn der\n\t\tSpeicher vollläuft, wird es nicht mehr funktionieren und deine Bitcoins sind in Gefahr!\\n\\nMöchtest Du die\n\t\tApp-Verwaltung öffnen, um ungenutzte Apps zu deinstallieren?</string>\n    <string name=\"wallet_low_storage_dialog_button_apps\">App-Verwaltung</string>\n    <string name=\"wallet_timeskew_dialog_title\">Überprüfe Datums &amp; Uhrzeit-Einstellungen</string>\n    <string name=\"wallet_timeskew_dialog_msg\">Deine Gerätezeit geht um %d Minuten falsch. Deswegen kannst Du möglicherweise keine Bitcoins senden oder empfangen.\\n\\nDu solltest deine Datums, Zeit- und Zeitzoneneinstellungen überprüfen und ggf. korrigieren.</string>\n    <string name=\"wallet_version_dialog_title\">Eine neue Version ist verfügbar!</string>\n    <string name=\"wallet_version_dialog_msg\">Diese Version behebt wichtige Fehler. Die Einzelheiten stehen in der Liste der Änderungen auf %s.</string>\n    <string name=\"wallet_version_dialog_msg_deprecated\">Wenn du kein Update siehst, heißt das vermutlich daß deine Android-Version nicht mehr unterstützt wird.</string>\n    <string name=\"wallet_version_dialog_button_binary\">Herunterladen</string>\n    <string name=\"wallet_old_sdk_dialog_title\">Android ist veraltet</string>\n    <string name=\"wallet_old_sdk_dialog_message\">Es ist möglich, daß eine der nächsten Versionen von Bitcoin Wallet dein Gerät nicht mehr unterstützt. In manchen Fällen kann es schwierig werden, Zahlungen zu tätigen.\\n\\nEs wird empfohlen, die enthaltenen Bitcoins bald zu verschieben, außer du weisst was du tust.</string>\n    <string name=\"alert_dialogs_fragment_settings_failed_title\">Problem beim Öffnen der Einstellungen</string>\n    <string name=\"send_coins_activity_title\">Bitcoins senden</string>\n    <string name=\"send_coins_fragment_request_payment_request_progress\">Rufe Signatur von %s ab…</string>\n    <string name=\"send_coins_fragment_request_payment_request_failed_title\">Abrufen der Zahlungsanforderung fehlgeschlagen</string>\n    <string name=\"send_coins_fragment_request_payment_request_failed_message\">Der Zahlungsempfänger (%1$s) nutzt ein inkompatibles Zahlungsprotokoll (Grund: %2$s).</string>\n    <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Falsche Signatur!</string>\n    <string name=\"send_coins_fragment_payee_verified_by\">verifiziert durch: %s</string>\n    <string name=\"send_coins_fragment_payee_verified_by_unknown\">unbekannt</string>\n    <string name=\"send_coins_fragment_receiving_address_label\">Empfänger</string>\n    <string name=\"send_coins_fragment_receiving_address_hint\">Adresse oder Namen</string>\n    <string name=\"send_coins_fragment_receiving_address_error\">Ungültige Bitcoin-Adresse!</string>\n    <string name=\"send_coins_fragment_receiving_address_own\">Du bist dabei, an dich selbst zu schicken!</string>\n    <string name=\"send_coins_fragment_receiving_address_complex\">komplexe\\nAdresse</string>\n    <string name=\"send_coins_fragment_pending\">(%s warten auf Bestätigung)</string>\n    <string name=\"send_coins_fragment_amount_label\">Betrag</string>\n    <string name=\"send_coins_fragment_hint_fee_economic\">Es wird eine günstige Gebühr von %s gezahlt. Wichtig: Nutze \\'Kostengünstig\\' nur, wenn dir die Zeit zur Bestätigung egal ist.</string>\n    <string name=\"send_coins_fragment_hint_fee\">Es wird eine Netzwerk-Gebühr von %s gezahlt.</string>\n    <string name=\"send_coins_fragment_hint_fee_priority\">Es wird eine Express-Gebühr von %s gezahlt. Wenn dir eine geringe Gebühr wichtig ist, dann nutze \\'Express\\' nur wenn du eine schnelle Bestätigung benötigst.</string>\n    <string name=\"send_coins_fragment_hint_dusty_send\">Der Betrag ist zu klein zum Senden.</string>\n    <string name=\"send_coins_fragment_hint_insufficient_money\">Nicht genug verfügbare Bitcoins. Dir fehlen %s. Das kann auch an der Netzwerk-Gebühr liegen.</string>\n    <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Die Summe an winzigen Zahlungen in deiner Wallet ist zu klein, um verschickt zu werden.</string>\n    <string name=\"send_coins_fragment_hint_replaying\">Derzeit sind keine Zahlungen möglich, da noch ein Replay im Gang ist.</string>\n    <string name=\"send_coins_fragment_direct_payment_enable\">Zahlung auch direkt senden</string>\n    <string name=\"send_coins_fragment_direct_payment_ack\">Die Zahlung wurde erfolgreich direkt gesendet.</string>\n    <string name=\"send_coins_fragment_direct_payment_nack\">Die Zahlung wurde über die direkte Verbindung abgelehnt.</string>\n    <string name=\"send_coins_fragment_direct_payment_failed_title\">Direkte Zahlung fehlgeschlagen</string>\n    <string name=\"send_coins_fragment_direct_payment_failed_msg\">Deine Zahlung wird trotzdem über das P2P-Netzwerk übertragen.</string>\n    <string name=\"send_coins_fragment_button_send\">Senden</string>\n    <string name=\"send_coins_fragment_button_back\">Zurück</string>\n    <string name=\"send_coins_fragment_significant_fee_title\">Erhebliche Netzwerk-Gebühr</string>\n    <string name=\"send_coins_fragment_significant_fee_message\">Die Netzwerk-Gebühr für diese Zahlung (%1$s) ist im Verhältnis zum Betrag (%2$s) hoch. Möchtest du die Zahlung trotzdem senden?</string>\n    <string name=\"send_coins_fragment_insufficient_money_title\">Nicht genug verfügbare Bitcoins</string>\n    <string name=\"send_coins_fragment_insufficient_money_msg1\">Dir fehlen %s.</string>\n    <string name=\"send_coins_fragment_insufficient_money_msg2\">Möchtest du mit allem zahlen was du hast?</string>\n    <string name=\"send_coins_fragment_empty_wallet_failed_title\">Entleerung der Wallet fehlgeschlagen</string>\n    <string name=\"send_coins_fragment_state_decrypting\">Entschlüsselung…</string>\n    <string name=\"send_coins_preparation_msg\">Signierung…</string>\n    <string name=\"send_coins_sending_msg\">Versenden…</string>\n    <string name=\"send_coins_sent_msg\">Versendet!</string>\n    <string name=\"send_coins_failed_msg\">Fehlgeschlagen!</string>\n    <string name=\"send_coins_error_msg\">Problem beim Versenden der Bitcoins!</string>\n    <string name=\"send_coins_options_fee_category\">Netzwerk-Gebühr</string>\n    <string name=\"send_coins_options_fee_category_economic\">Kostengünstig</string>\n    <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n    <string name=\"send_coins_options_fee_category_priority\">Express</string>\n    <string name=\"send_coins_options_empty\">Wallet entleeren</string>\n    <string name=\"raise_fee_dialog_title\">Netzwerk-Gebühr erhöhen</string>\n    <string name=\"raise_fee_dialog_message\">Willst du die Netzwerk-Gebühr für diese Zahlung um %s anheben? Das beschleunigt die Bestätigung der Zahlung.</string>\n    <string name=\"raise_fee_dialog_determining_fee\">Ermittle Netzwerk-Gebühr…</string>\n    <string name=\"raise_fee_dialog_cant_raise\">Die Netzwerk-Gebühr für diese Zahlung kann nicht angehoben werden.</string>\n    <string name=\"raise_fee_dialog_state_decrypting\">Entschlüsselung…</string>\n    <string name=\"raise_fee_dialog_state_done\">Fertig.</string>\n    <string name=\"raise_fee_dialog_button_raise\">Erhöhen</string>\n    <string name=\"sweep_wallet_activity_title\">Paper-Wallet leeren</string>\n    <string name=\"sweep_wallet_fragment_intro\">Du bist dabei eine Paper-Wallet oder Coupon zu leeren. Dies wird alle Bitcoins von diesem Papier in deine Wallet auf diesem Gerät verschieben. Sobald die Transaktion bestätigt ist, wird das Papier wertlos und sollte aus Sicherheitsgründen nicht wiederverwendet werden.</string>\n    <string name=\"sweep_wallet_fragment_hint\">Paper-Wallets werden meist für Cold Storage genutzt. Einige Geldautomaten drucken sie auf das Quittungspapier, anstatt die Bitcoins direkt an das mobile Gerät zu versenden. Manchmal werden vorgeladene Paper-Wallets als Zahlungsmittel verwendet (nicht empfohlen).</string>\n    <string name=\"sweep_wallet_fragment_wallet_unknown\">Beginne, indem Du den privaten Schlüssel eines Paper-Wallets scannst. Benutze dafür die Kamera-Schaltfläche.</string>\n    <string name=\"sweep_wallet_fragment_encrypted\">Dieser private Schlüssel ist mit einem Passwort geschützt.</string>\n    <string name=\"sweep_wallet_fragment_password\">Passwort</string>\n    <string name=\"sweep_wallet_fragment_bad_password\">falsches Passwort!</string>\n    <string name=\"sweep_wallet_fragment_balance\">Zu leerendes Guthaben</string>\n    <string name=\"sweep_wallet_fragment_button_decrypt\">Entschlüsseln</string>\n    <string name=\"sweep_wallet_fragment_button_sweep\">Leeren</string>\n    <string name=\"sweep_wallet_fragment_decrypt_progress\">Entschlüsselung…\\nDauert bis zu 2 Minuten.</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Aktualisiere Guthaben…</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Guthabenanforderung fehlgeschlagen</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Du hast eine schlechte Verbindung zum Electrum-Netzwerk.</string>\n    <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Die Paper-Wallet ist leer.</string>\n    <string name=\"sweep_wallet_fragment_insufficient_money_title\">Nicht genug Bitcoins</string>\n    <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Das zu leerende Guthaben ist zu gering zum Entleeren.</string>\n    <string name=\"sweep_wallet_options_reload\">Guthaben aktualisieren</string>\n    <string name=\"maintenance_dialog_title\">Wartung empfohlen</string>\n    <string name=\"maintenance_dialog_message\">Du hast %1$s auf unsicheren Adressen erhalten. Möchtest du diese Bitcoins auf sichere Adressen verschieben? Eine geringe Netzwerk-Gebühr von %2$s wird gezahlt.</string>\n    <string name=\"maintenance_dialog_state_decrypting\">Entschlüsselung…</string>\n    <string name=\"maintenance_dialog_state_done\">Fertig.</string>\n    <string name=\"maintenance_dialog_button_move\">Verschieben</string>\n    <string name=\"request_coins_activity_title\">Bitcoins anfordern</string>\n    <string name=\"request_coins_fragment_amount_label\">Angeforderter Betrag (optional)</string>\n    <string name=\"request_coins_fragment_accept_bluetooth_payment\">Zahlung zur zuverlässigeren Abwicklung per Bluetooth akzeptieren</string>\n    <string name=\"request_coins_fragment_initiate_request_qr\">Laß diesen Code vom Sender scannen.</string>\n    <string name=\"request_coins_fragment_initiate_request_nfc\">Oder berühr\\'s mit einem NFC-fähigen Gerät.</string>\n    <string name=\"request_coins_clipboard_msg\">Anforderung aufs Clipboard kopiert</string>\n    <string name=\"request_coins_share_dialog_title\">Anforderung veröffentlichen…</string>\n    <string name=\"request_coins_no_local_app_msg\">Keine andere Bitcoin-App gefunden</string>\n    <string name=\"request_coins_options_local_app_title\">Von lokaler App anfordern</string>\n    <string name=\"address_book_activity_title\">Adressbuch</string>\n    <string name=\"address_book_list_receiving_title\">Deine Adressen</string>\n    <string name=\"address_book_list_receiving_random\">Alte Adressen</string>\n    <string name=\"address_book_list_sending_title\">Sendeadressen</string>\n    <string name=\"address_book_empty_text\">Keine Einträge im Adressbuch</string>\n    <string name=\"address_book_context_send_title\">Bitcoins an Adresse senden</string>\n    <string name=\"address_book_context_edit_title\">Adresse ändern</string>\n    <string name=\"address_book_context_remove_title\">Adresse entfernen</string>\n    <string name=\"address_book_context_copy_to_clipboard_title\">Ins Clipboard kopieren</string>\n    <string name=\"address_book_options_scan_title\">Adresse scannen</string>\n    <string name=\"address_book_options_scan_invalid\">Gescannte Daten sind nicht entzifferbar</string>\n    <string name=\"address_book_options_scan_own_address\">Die gescannte Adresse ist eine deiner eigenen.</string>\n    <string name=\"address_book_row_current_address\">Dies ist deine aktuelle Empfangsadresse.</string>\n    <string name=\"address_book_row_message_compromised_key\">Diese Adresse ist vielleicht kompromittiert. Du solltest sie nicht mehr zum Empfang von Bitcoins nutzen.</string>\n    <string name=\"edit_address_book_entry_dialog_title_add\">Sendeadresse hinzufügen</string>\n    <string name=\"edit_address_book_entry_dialog_title_edit\">Name von Sendeadresse ändern</string>\n    <string name=\"edit_address_book_entry_dialog_title_add_receive\">Name zu eigener Adresse hinzufügen</string>\n    <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Name von eigener Adresse ändern</string>\n    <string name=\"edit_address_book_entry_dialog_address_label\">Adresse</string>\n    <string name=\"edit_address_book_entry_dialog_label_label\">Name</string>\n    <string name=\"edit_address_book_entry_dialog_button_edit\">Speichern</string>\n    <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Diese Zahlung ist noch nicht übertragen.</string>\n    <string name=\"transaction_row_confidence_message_received_successful\">Diese Zahlung wurde deiner Wallet gutgeschrieben.</string>\n    <string name=\"transaction_row_confidence_message_sent_successful\">Deine Zahlung war erfolgreich. Sie ist beim Empfänger angekommen.</string>\n    <string name=\"transaction_row_confidence_message_received_failed\">Diese Zahlung ist fehlgeschlagen.</string>\n    <string name=\"transaction_row_confidence_message_sent_failed\">Deine Zahlung ist fehlgeschlagen.</string>\n    <string name=\"transaction_row_fee\">Netzwerk-Gebühr</string>\n    <string name=\"transaction_row_message_purpose_key_rotation\">Diese Transaktion stärkt deine Wallet gegen Diebstahl. &lt;u&gt;Mehr Information.&lt;/u&gt;</string>\n    <string name=\"transaction_row_message_purpose_raise_fee\">Diese Transaktion erhöht die Netzwerk-Gebühr für eine vorherige Zahlung.</string>\n    <string name=\"transaction_row_message_received_direct\">Diese Zahlung wurde direkt empfangen. Es besteht das Risiko, daß sie niemals verfügbar wird.</string>\n    <string name=\"transaction_row_message_received_unconfirmed_delayed\">Die Bestätigung dieser Zahlung ist verspätet, wahrscheinlich aufgrund einer Überlastung des Bitcoin-Netzes.</string>\n    <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Diese Zahlung sollte in ein paar Minuten verfügbar werden.</string>\n    <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Wegen Wartungsarbeiten am Bitcoin-Netzwerk sollte dieser Zahlung nicht vertraut werden bis sie voll bestätigt ist.</string>\n    <string name=\"transaction_row_message_received_in_conflict\">Diese Zahlung hat ein erhöhtes Risiko daß sie vom Sender rückgängig gemacht wird! Warte wenn möglich auf Bestätigung.</string>\n    <string name=\"transaction_row_message_received_dead\">Diese Zahlung wurde vom Sender rückgängig gemacht.</string>\n    <string name=\"transaction_row_message_received_dust\">Dieser kleine Betrag kann vermutlich nie wirtschaftlich ausgegeben werden.</string>\n    <string name=\"transaction_row_message_received_pay_to_many\">Diese Zahlung ging an viele Wallets (neben deiner), was die App mit der Zeit verlangsamt. Versuche wenn möglich Zahlungen zu empfangen, die nur an dich gerichtet sind.</string>\n    <string name=\"transaction_row_message_received_rbf\">Diese Zahlung wurde verzögert, weil der Sender eine unsichere Transaktionsform verwendet hat.</string>\n    <string name=\"network_monitor_activity_title\">Netzwerk-Monitor</string>\n    <string name=\"network_monitor_peer_list_title\">Peers</string>\n    <string name=\"network_monitor_block_list_title\">Blöcke</string>\n    <string name=\"block_row_mining_difficulty_adjustment\">Anpassung der Mining-Difficulty</string>\n    <string name=\"block_row_mining_reward_adjustment\">Halbierung des Mining-Reward</string>\n    <string name=\"block_row_now\">gerade eben</string>\n    <string name=\"peer_list_fragment_empty\">Keine Peers verbunden</string>\n    <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n    <string name=\"import_keys_dialog_title\">Wallet wiederherstellen</string>\n    <string name=\"restore_wallet_dialog_replace_warning\">Du bist dabei, deine aktuelle Wallet zu ersetzen. Alle Bitcoins in der aktuellen Wallet gehen dabei verloren, außer du hast diese separat gesichert.</string>\n    <string name=\"import_keys_dialog_warning\">Wichtig: Lade keine privaten Schlüssel aus dubiosen Quellen! Andere Personen können die Kontrolle über deine Bitcoins bekommen, wenn du das tust.</string>\n    <string name=\"import_keys_dialog_button_import\">Wiederherstellen</string>\n    <string name=\"restore_wallet_dialog_success\">Wallet wurde wiederhergestellt.</string>\n    <string name=\"restore_wallet_dialog_success_replay\">Deine Wallet wurde erfolgreich wiederhergestellt. Jetzt wird das Guthaben ermittelt. Das wird einige Zeit dauern.</string>\n    <string name=\"restore_wallet_dialog_success_encrypted\">Achtung: Deine Wallet ist mit einer Ausgabe-PIN geschützt. Stelle sicher, daß du sie noch kennst, bevor du Zahlungen empfängst.</string>\n    <string name=\"import_keys_dialog_failure\">Die Wallet konnte nicht wieder hergestellt werden:\\n\\n%s\\n\\nFalsches Passwort?</string>\n    <string name=\"export_keys_dialog_title\">Wallet sichern</string>\n    <string name=\"backup_wallet_dialog_message\">Dein Backup wird mit dem gewählten Passwort verschlüsselt und auf den externen Speicher gesichert.</string>\n    <string name=\"backup_wallet_dialog_warning_encrypted\">Deine Wallet ist mit einer Ausgabe-PIN geschützt. Stelle sicher, daß du die PIN nicht vergisst (neben dem Backup-Passwort)!</string>\n    <string name=\"export_keys_dialog_button_export\">Exportieren</string>\n    <string name=\"export_keys_dialog_success\"><![CDATA[<p>Deine Wallet wurde nach <tt>%s</tt> gesichert.</p><p><b>Wenn der einzige Ort, an dem dein Backup existiert, dein Gerät bleibt, läufst du in Gefahr beide zusammen zu verlieren!</b></p><p>Verwahre in jedem Fall auch dein Backup-Passwort sicher.</p>]]></string>\n    <string name=\"export_keys_dialog_failure\">Deine Wallet konnte nicht gesichert werden:\\n%s</string>\n    <string name=\"import_export_keys_dialog_password\">Passwort</string>\n    <string name=\"backup_wallet_dialog_password_again\">Wiederholung</string>\n    <string name=\"backup_wallet_dialog_password_mismatch\">Diskrepanz!</string>\n    <string name=\"import_export_keys_dialog_show\">Passwort zeigen</string>\n    <string name=\"import_export_keys_dialog_failure_title\">Fehler</string>\n    <string name=\"import_keys_intent_filter_action\">Wallet wiederherstellen</string>\n    <string name=\"encrypt_keys_dialog_title\">Ausgabe-PIN</string>\n    <string name=\"encrypt_keys_dialog_message\">Ausgaben von deiner Wallet werden durch die gewählte PIN geschützt.</string>\n    <string name=\"encrypt_keys_dialog_warning\">Wichtig: Vergiss deine PIN nicht! Nutze keine oft verwendete Nummern (z.B. Geburtstage).</string>\n    <string name=\"encrypt_keys_dialog_password_old\">Alte PIN</string>\n    <string name=\"encrypt_keys_dialog_password_strength_weak\">schwach</string>\n    <string name=\"encrypt_keys_dialog_password_strength_fair\">mittel</string>\n    <string name=\"encrypt_keys_dialog_password_strength_good\">gut</string>\n    <string name=\"encrypt_keys_dialog_password_strength_strong\">stark</string>\n    <string name=\"encrypt_keys_dialog_show\">PIN zeigen</string>\n    <string name=\"encrypt_keys_dialog_state_encrypting\">Verschlüsselung…</string>\n    <string name=\"encrypt_keys_dialog_state_decrypting\">Entschlüsselung…</string>\n    <string name=\"encrypt_keys_dialog_state_done\">Fertig.</string>\n    <string name=\"scan_camera_problem_dialog_title\">Sorry</string>\n    <string name=\"scan_camera_problem_dialog_message\">Die Kamera hat ein Problem. Evtl. musst du dein Gerät neu starten.</string>\n    <string name=\"scan_camera_permission_dialog_title\">Kamera-Berechtigung</string>\n    <string name=\"scan_camera_permission_dialog_message\">Um QR-Codes zu scannen, musst du die Berechtigung zur Nutzung der Kamera erteilen.</string>\n    <string name=\"input_parser_io_error\">Kann Daten nicht lesen:\\n%s</string>\n    <string name=\"input_parser_cannot_classify\">Eingabe nicht erkannt:\\n%s</string>\n    <string name=\"input_parser_invalid_bitcoin_uri\">Ungültige Bitcoin-URI:\\n%s</string>\n    <string name=\"input_parser_invalid_address\">Ungültige Bitcoin-Adresse gelesen!\\n(Versuchst Du Mainnet/Testnet zu mischen?)</string>\n    <string name=\"input_parser_unverifyable_paymentrequest\">Kann Zahlungsanforderung nicht verifizieren:\\n%s</string>\n    <string name=\"input_parser_invalid_paymentrequest\">Ungültige Zahlungsanforderung:\\n%s</string>\n    <string name=\"input_parser_invalid_transaction\">Ungültige Transaktion:\\n%s</string>\n    <string name=\"preferences_activity_title\">Einstellungen</string>\n    <string name=\"preferences_category_general\">Allgemein</string>\n    <string name=\"preferences_category_privacy\">Kontrolle der Privatsphäre</string>\n    <string name=\"preferences_category_merchants\">Händler</string>\n    <string name=\"preferences_category_diagnostics\">Diagnose</string>\n    <string name=\"preferences_category_labs\">Labor</string>\n    <string name=\"preferences_precision_title\">Stückelung und Genauigkeit</string>\n    <string name=\"preferences_precision_summary\">Maßeinheit für die Anzeige von Werten. Dies beeinflußt keine Berechnungen.</string>\n    <string name=\"preferences_precision_labels_8\">BTC, 8 Dezimalen</string>\n    <string name=\"preferences_precision_labels_6\">BTC, 6 Dezimalen</string>\n    <string name=\"preferences_precision_labels_4\">BTC, 4 Dezimalen</string>\n    <string name=\"preferences_precision_labels_2_3\">mBTC, 2 Dezimalen</string>\n    <string name=\"preferences_precision_labels_0_6\">µBTC, keine Dezimalen</string>\n    <string name=\"preferences_own_name_title\">Eigener Name</string>\n    <string name=\"preferences_own_name_summary\">Dein Name oder der deiner Firma, der zu Zahlungsanforderungen an deine Kunden hinzugefügt wird.</string>\n    <string name=\"preferences_own_name_dialog_message\">Bitte halte ihn kurz.</string>\n    <string name=\"preferences_send_coins_autoclose_title\">Senden-Dialog automatisch schließen</string>\n    <string name=\"preferences_send_coins_autoclose_summary\">Wenn die Zahlung gesendet ist, wird der Senden-Dialog automatisch geschlossen.</string>\n    <string name=\"preferences_sync_mode_title\">Datenverbrauch vs. Privatsphäre</string>\n    <string name=\"preferences_sync_mode_summary\">Wähle bei der Netzwerk-Synchronisation zwischen geringem Datenverbrauch und verbesserter Privatsphäre.</string>\n    <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>Geringer Datenverbrauch:</b> Nutzt einen Netzwerk-Filter um nur Transaktionen zu übertragen, die relevant für deine Wallet sind. Das benötigt etwa 500 MB pro Monat, teilt den Filter aber dem Netzwerk mit.]]></string>\n    <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>Verbesserte Privatsphäre:</b> Legt keine Informationen über deine Wallet offen. Beachte daß weil alle Transaktionen übertragen werden, benötigt dies üppige 10 GB pro Monat. Bevor du dies nutzt, kläre bitte ob sich dein Tarif eignet.]]></string>\n    <string name=\"preferences_trusted_peer_title\">Vertrauenswürdiger Peer</string>\n    <string name=\"preferences_trusted_peer_summary\">IP oder Hostname eines einzelnen Peers, der verbunden wird.</string>\n    <string name=\"preferences_trusted_peer_dialog_message\">Bitte gib eine gültige IP-Adresse oder einen Hostnamen ein. Wenn du Tor eingerichtet hast, kannst du hier auch eine Onion-Adresse verwenden.</string>\n    <string name=\"preferences_trusted_peer_dialog_message_multiple\">Du kannst mehrere vertrauenswürdige Peers angeben, indem du sie mit einem Leerzeichen trennst.</string>\n    <string name=\"preferences_trusted_peer_resolve_progress\">Namensauflösung läuft…</string>\n    <string name=\"preferences_trusted_peer_resolve_unknown_host\">Unbekannter Hostname!</string>\n    <string name=\"preferences_trusted_peer_only_title\">Reguläre Peers übergehen</string>\n    <string name=\"preferences_trusted_peer_only_summary\">Verhindert Verbindungen zu Peers außer dem vertrauenswürdigen Peer.</string>\n    <string name=\"preferences_block_explorer_title\">Block-Explorer</string>\n    <string name=\"preferences_block_explorer_summary\">Externer Block-Explorer, der für die Anzeige von Transaktionen, Adressen und Blocks verwendet wird.</string>\n    <string name=\"preferences_data_usage_title\">Datenverbrauch</string>\n    <string name=\"preferences_data_usage_summary\">Zeigt Optionen um die mobile Datennutzung einzuschränken.</string>\n    <string name=\"preferences_notifications_title\">Benachrichtigungen</string>\n    <string name=\"preferences_notifications_summary\">Zeigt Optionen um bestimmte Benachrichtigungen aus- oder einzuschalten.</string>\n    <string name=\"preferences_remind_balance_title\">Erinnerung an Guthaben</string>\n    <string name=\"preferences_remind_balance_summary\">Nach einigen Wochen Nicht-Nutzung wird die App daran erinnern wenn sich noch Bitcoins in der Wallet befinden.</string>\n    <string name=\"preferences_show_disclaimer_title\">Disclaimer anzeigen</string>\n    <string name=\"preferences_show_disclaimer_summary\">Hast du wirklich die Sicherheitshinweise gelesen? Hast du deine Wallet bereits an einen sicheren Ort gesichert?</string>\n    <string name=\"preferences_bluetooth_address_title\">Bluetooth-Adresse</string>\n    <string name=\"preferences_bluetooth_address_summary\">Stellt die eigene Blueooth-Adresse manuell ein, so daß du Zahlungen von Sendern ohne Konnektivität empfangen kannst.</string>\n    <string name=\"preferences_bluetooth_address_dialog_message\">Leider verhindert Android die automatische Ermittlung der Bluetooth-Adresse deines Geräts. Du musst sie in den Android-Bluetooth-Einstellungen nachschauen und hier eintragen.\\n\\nAchte bitte darauf, daß jedes Zeichen richtig ist. Doppelpunkte können weggelassen werden, und die Groß- und Kleinschreibung ist nicht wichtig.</string>\n    <string name=\"preferences_report_issue_title\">Problem melden</string>\n    <string name=\"preferences_initiate_reset_title\">Blockchain zurücksetzen</string>\n    <string name=\"preferences_initiate_reset_summary\">Blockchain, Transaktionen und Guthaben werden zurückgesetzt. Das Wiedereinspielen wird eine Weile dauern, also mach das nur wenn du weisst warum.</string>\n    <string name=\"preferences_initiate_reset_dialog_message\">Möchtest du die Blockchain zurücksetzen und wiedereinspielen?\\n\\nDies wird verübergehend dein Guthaben ausblenden und deine Transaktionen leeren. Beides wird sich während des Vorgangs erholen. Achte auf eine zuverlässige Internet-Verbindung.</string>\n    <string name=\"preferences_initiate_reset_dialog_positive\">Zurücksetzen</string>\n    <string name=\"preferences_extended_public_key_title\">extended public key anzeigen</string>\n    <string name=\"preferences_extended_public_key_summary\">Zeigt den Extended Public Key deiner Wallet, so daß er in andere Apps oder Dienste importiert werden kann. Pass aber auf, denn das wird deine finanziellen Umstände gegenüber der App offenlegen.</string>\n    <string name=\"bitmap_fragment_share\">Teilen…</string>\n    <string name=\"extended_public_key_fragment_title\">Extended Public Key</string>\n    <string name=\"extended_public_key_fragment_share\">extended public key teilen…</string>\n    <string name=\"report_issue_dialog_title_issue\">Problem melden</string>\n    <string name=\"report_issue_dialog_title_crash\">Absturz erkannt</string>\n    <string name=\"report_issue_dialog_title_transaction\">Problem mit markierter Zahlung melden</string>\n    <string name=\"report_issue_dialog_message_issue\">Bitte beschreibe dein Problem genau, so daß es nachvollzogen werden kann.</string>\n    <string name=\"report_issue_dialog_message_crash\">Möchtest du einen Fehlerbericht senden, um bei der Fehlerbehebung zu helfen?</string>\n    <string name=\"report_issue_dialog_description\">Problembeschreibung</string>\n    <string name=\"report_issue_dialog_report\">Senden</string>\n    <string name=\"report_issue_dialog_collect_device_info\">Geräte-Informationen anhängen</string>\n    <string name=\"report_issue_dialog_collect_application_log\">Applikations-Logfile anhängen</string>\n    <string name=\"report_issue_dialog_collect_wallet_dump\">Dump der Wallet anhängen</string>\n    <string name=\"report_issue_dialog_mail_intent_chooser\">Bericht senden mit…</string>\n    <string name=\"about_title\">Über</string>\n    <string name=\"about_version_title\">Version</string>\n    <string name=\"about_version_apk_hash_title\">SHA256-Prüfsumme des APK</string>\n    <string name=\"about_copyright_title\">Urheberrecht</string>\n    <string name=\"about_license_title\">Lizenz</string>\n    <string name=\"about_privacy_title\">Datenschutz</string>\n    <string name=\"about_source_title\">Quellcode</string>\n    <string name=\"about_category_credits\">Diese App nutzt…</string>\n    <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, eine Implementierung des Bitcoin-Protokolls</string>\n    <string name=\"about_credits_zxing_title\">ZXing, eine QR-Code-Bibliothek</string>\n    <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, eine Kryptographie-Bibliothek</string>\n    <string name=\"about_credits_okhttp_title\">OkHttp, eine HTTP-Client-Bibliothek</string>\n    <string name=\"about_credits_moshi_title\">Moshi, eine JSON-Bibliothek</string>\n    <string name=\"about_credits_guava_title\">Guava, eine Sammlung nützlicher Helfer</string>\n    <string name=\"about_credits_slf4j_title\">SLF4J, ein Logging-Framework</string>\n    <string name=\"about_market_app_title\">Eintrag bei %s</string>\n    <string name=\"about_market_app_summary\">Rezensionen und Bewertungen</string>\n    <string name=\"about_faq_title\">FAQ</string>\n    <string name=\"about_faq_summary\">Häufig gestellte Fragen über die App</string>\n    <string name=\"notification_coins_received_msg\">%s empfangen</string>\n    <string name=\"notification_connectivity_syncing_message\">Synchronisiere mit dem Netzwerk…</string>\n    <string name=\"notification_connectivity_syncing_trusted_peer\">Synchronisiere mit deinem vertrauenswürdigen Peer…</string>\n    <string name=\"notification_peers_connected_msg\">%d Peers verbunden</string>\n    <string name=\"notification_peer_connected\">verbunden</string>\n    <string name=\"notification_peer_not_connected\">nicht verbunden</string>\n    <string name=\"notification_inactivity_title\">Du hast noch Bitcoins auf diesem Gerät!</string>\n    <string name=\"notification_inactivity_message\">Denk daran: Dein Guthaben von %s wird verloren sein, wenn du die Bitcoin Wallet App de-installierst ohne es vorher an eine andere Wallet hin zu senden.</string>\n    <string name=\"notification_inactivity_message_donate\">Wenn dir die Bitcoins egal sind, könntest du sie auch dem Bitcoin Wallet Projekt spenden.</string>\n    <string name=\"notification_inactivity_action_dismiss\">Später erinnern</string>\n    <string name=\"notification_inactivity_action_dismiss_forever\">Nicht erinnern</string>\n    <string name=\"notification_bluetooth_service_listening\">Bereit zum Empfang von Zahlungen über Bluetooth</string>\n    <string name=\"notification_channel_received_name\">Empfangene Zahlungen</string>\n    <string name=\"notification_channel_ongoing_name\">Hintergrundaktivität</string>\n    <string name=\"notification_channel_important_name\">Wichtige Warnungen</string>\n    <string name=\"appwidget_wallet_balance_title\">Bitcoin-Guthaben</string>\n\n    <!-- generic buttons -->\n    <string name=\"button_ok\">Ok</string>\n    <string name=\"button_dismiss\">Schließen</string>\n    <string name=\"button_cancel\">Abbrechen</string>\n    <string name=\"button_retry\">Wiederholen</string>\n    <string name=\"button_help\">Hilfe</string>\n    <string name=\"button_add\">Hinzufügen</string>\n    <string name=\"button_delete\">Löschen</string>\n    <string name=\"button_set\">Setzen</string>\n    <string name=\"button_remove\">Entfernen</string>\n    <string name=\"button_edit\">Ändern</string>\n    <string name=\"button_copy\">Kopieren</string>\n    <string name=\"button_paste\">Einfügen</string>\n    <string name=\"button_share\">Teilen</string>\n    <string name=\"button_set_as_default\">Als Standard setzen</string>\n    <string name=\"button_request_coins\">Anfordern</string>\n    <string name=\"button_send_coins\">Senden</string>\n    <string name=\"button_scan\">Scannen</string>\n    <string name=\"button_settings\">Einstellungen</string>\n    <string name=\"action_show_qr\">QR-Code zeigen</string>\n    <string name=\"action_browse\">Im Browser öffnen</string>\n\n    <!-- generic strings -->\n    <string name=\"time_today\">heute</string>\n    <string name=\"address_unlabeled\">(unbenannt)</string>\n    <string name=\"private_key_password\">PIN</string>\n    <string name=\"private_key_bad_password\">falsche PIN!</string>\n    <string name=\"qr_code\">QR-Code</string>\n\n    <!-- generic error messages -->\n    <string name=\"error_io\">I/O-Fehler: %s</string>\n    <string name=\"error_http\">HTTP-Fehler %1$s:\\n%2$s</string>\n    <string name=\"error_bluetooth\">Bluetooth-Fehler: %1$s</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-de/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n    <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tIm linken oberen Teil des Bildschirms wird dein aktuelles Guthaben in Bitcoin und einer ausgewählten Währung angezeigt.\n\t\t\tMit einem Tap darauf gelangst du in die Liste der verfügbaren Währungen, ein weiterer Tap auf eine der Währungen setzt sie als Standardwährung.\n\t\t</p>\n\t\t<p>\n\t\t\tDer QR-Code oben rechts enthält deine aktuelle Bitcoin-Adresse und kann von einem Zahlungssender eingescannt werden.\n\t\t\tMit einem Tap auf den QR-Code wird dieser vergrößert.\n\t\t</p>\n\t\t<p>\n\t\t\tIm unteren Teil des Bildschirms wird die Transaktionsliste angezeigt.\n\t\t\tSie ist anfangs leer, und wird sich mit empfangenen und gesendeten Zahlungen füllen.\n\t\t\tEmpfangene Zahlungen werden grün markiert und gesendete rot.\n\t\t</p>\n\t\t<p>\n\t\t\tIn der Titelzeile finden sich Knöpfe zum Anfordern oder Versenden von Zahlungen.\n\t\t\tIm Optionsmenü sind weitere Aktionen verfügbar.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tIn diesem Dialogfeld kann eine Zahlung von einem Zahlungssender angefordert werden.\n\t\t\tDer Sender sollte dafür bereits ein Bitcoin wallet auf seinem Gerät installiert haben.\n\t\t</p>\n\t\t<p>\n\t\t\tZunächst kann der angeforderte Betrag eingegeben werden.\n\t\t</p>\n\t\t<p>\n\t\t\tDer anschließend generierte QR-Code kann vom Sender eingescannt werden.\n\t\t\tAlternativ kann die Zahlungsanforderung über die Aktionsleiste mit dem Teilen-Button verschickt werden.\n\t\t\tFalls beide Geräte NFC aktiviert haben, können sie auch zusammengehalten werden.\n\t\t</p>\n\t\t<p>\n\t\t\tIn jedem Fall wird beim Sender ein Zahlungsdialog geöffnet, bei dem sämtliche Felder bereits ausgefüllt sind.\n\t\t\tWenn der Sender einverstanden ist, kann die Zahlung durch eine einfache Bestätigung ausgeführt werden.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tDieses Dialogfeld wird geöffnet, wenn der Zahlungsprozess initiiert wurde.\n\t\t</p>\n\t\t<p>\n\t\t\tIm ersten Feld muss die Empfängeradresse eingegeben werden.\n\t\t\tWenn eine Adresse im Adressbuch gespeichert wurde, wird diese automatisch vervollständigt.\n\t\t\tEs kann auch ein vom Zahlungsempfänger gezeigter QR-Code eingescannt werden, indem man den Kamera-Button betätigt.\n\t\t</p>\n\t\t<p>\n\t\t\tAnschließend kann der zu versendende Betrag eingegeben werden.\n\t\t</p>\n\t\t<p>\n\t\t\tSchließlich muss die Ausgabe-PIN eingegeben werden, wenn vorher zur Sicherheit eine festgelegt wurde.\n\t\t</p>\n\t\t<p>\n\t\t\tEine Zahlung kann auch offline eingegeben werden.\n\t\t\tSie wird bei einem Neustart von Bitcoin Wallet ausgeführt.\n\t\t\tWenn eine Zahlung so schnell wie möglich bestätigt werden soll, ist eine gute Verbindung (z.B. über WLAN) vonnöten.\n\t\t</p>\n\t\t<p>\n\t\t\tAchtung:\n\t\t\tZahlungen sind irreversibel!\n\t\t\tDie Empfängeradresse sollte deswegen vor Bestätigung der Zahlung unbedingt auf Richtigkeit überprüft werden.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Wichtige Sicherheitshinweise:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoins werden lokal auf dem Gerät gespeichert.\n\t\t\t<b>Wenn das Gerät verloren geht, gehen alle Bitcoins verloren.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tDas bedeutet, <b>du musst deine Wallet sichern</b>!\n\t\t\tNutze dafür die Sicherungs-Funktion in der App anstatt einer externen Backup-App.\n\t\t\tHebe deine Sicherung gut auf und vergiß das Passwort nicht.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Vor der Deinstallation</b> (oder dem Löschen der App-Daten/Formatierung des Geräts), <b>müssen alle Bitcoins auf eine andere Wallet übertragen werden</b>.\n\t\t\tAuf dem Gerät verbleibende Bitcoins gehen verloren.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Zahlungen können nicht rückgängig gemacht werden</b>.\n\t\t\tWenn Bitcoins ins Unbekannte geschickt werden, gibt es kaum Möglichkeit, sie zurückzuholen.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Halte dein Mobilgerät sicher!</b>\n\t\t\tRoote dein Gerät nicht.\n\t\t\tInstalliere nur Apps, denen du vollkommen vertraust.\n\t\t\tBösartige Apps könnten versuchen, die in der Wallet gespeicherten Bitcoins zu stehlen.\n\t\t</p>\n\t\t<p>\n\t\t\tMinimiere das Risiko!\n\t\t\t<b>Speichere nur einen angemessenen Betrag</b> für den täglichen Gebrauch.\n\t\t</p>\n\t]]>\n    </string>\n    <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Technische Hinweise:</b>\n        </p>\n        <p>\n            Als SPV/Light-Wallet folgt Bitcoin Wallet der Blockchain mit dem größten Proof-of-Work (manchmal auch \\\"längste Kette\\\", \\\"winning chain\\\" oder \\\"Bitcoin blockchain\\\" genannt).\n            Du wirst Bitcoins nur auf dieser Kette empfangen und darauf zahlen können.\n            Für Bitcoins auf Ketten mit kürzerer Proof-of-Work (auch \\\"minority chains\\\" genannt) gibt es keine Garantie.\n        </p>\n        <p>\n            In der Vergangenheit sind kürzere Ketten immer sehr schnell irrelevant geworden.\n            Falls du dennoch einer kürzeren Kette folgen willst, nutze die \\\"Vertrauenswürdiger Peer\\\"-Funktion, um exklusiv zu einer Bitcoind-Implementierung zu verbinden, die deine gewünschte Kette erzwingt.\n            Wenn dem Netzwerk zwischen deiner Wallet und dem vertrauenswürdigen Peer nicht vertraut werden kann, nutze ein VPN um diese Verbindung zu authentifizieren.\n        </p>\n    ]]>\n    </string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-el/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Χρησιμοποιήστε με δική σας ευθύνη. Διαβάστε τις &lt;u&gt;επισημάνσεις ασφάλειας&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Είναι ανάγκη να &lt;u&gt;πάρετε αντίγραφο ασφάλειας του πορτοφολιού σας&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">Απομένουν %1$s, %2$d ώρες</string>\n  <string name=\"blockchain_state_progress_days\">Απομένουν %1$s, %2$d μέρες</string>\n  <string name=\"blockchain_state_progress_weeks\">Απομένουν %1$s, %2$d εβδομάδες</string>\n  <string name=\"blockchain_state_progress_months\">Απομένουν %1$s, %2$d μήνες</string>\n  <string name=\"blockchain_state_progress_downloading\">Συγχρονισμός με το δίκτυο</string>\n  <string name=\"blockchain_state_progress_stalled\">Συγχρονισμός σε αναστολή</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Συγχρονισμός: Πρόβλημα αποθήκευσης</string>\n  <string name=\"blockchain_state_progress_problem_network\">Συγχρονισμός: Πρόβλημα δικτύου</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">H Bitcoin διεύθυνση αντιγράφηκε στο πρόχειρο</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Για λόγους προστασίας της ανωνυμίας σας, η διεύθυνσή σας θα αλλάζει με κάθε πληρωμή που θα λαμβάνετε.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Το ποσό αυτό είναι αρκετά μεγάλο για να το έχετε σε ένα σημείο. Μετακινήστε μερικά νομίσματα σε άλλο πορτοφόλι για τη δική σας ασφάλεια.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Το υπόλοιπο δεν είναι διαθέσιμο κατά τη διάρκεια της επανάληψης.</string>\n  <string name=\"exchange_rates_activity_title\">Ισοτιμίες</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Δε βρέθηκε η ισοτιμία.</string>\n  <string name=\"exchange_rates_fragment_default\">(προεπιλογή)</string>\n  <string name=\"exchange_rates_fragment_rate\">ισοτιμία</string>\n  <string name=\"exchange_rates_fragment_balance\">υπόλοιπο</string>\n  <string name=\"exchange_rates_fragment_source\">Τιμή από %s</string>\n  <string name=\"exchange_rates_options_search\">Αναζήτηση ισοτιμίας</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Δεν έχουν ληφθεί Bitcoin μέχρι στιγμής.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Δεν έχουν σταλεί Bitcoin μέχρι στιγμής.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Πως να λάβετε Bitcoin;\\nΑνταλλάξτε με πραγματικά χρήματα,\\nπουλήστε αγαθά ή υπηρεσίες, ή\\nκερδίστε τα με την εργασία σας.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">εξορυχθέντα</string>\n  <string name=\"wallet_transactions_fragment_internal\">εσωτερικός</string>\n  <string name=\"wallet_transactions_options_filter\">Φίλτρο</string>\n  <string name=\"wallet_transactions_options_filter_all\">Όλες οι συναλλαγές</string>\n  <string name=\"wallet_transactions_options_filter_received\">Ληφθείσες πληρωμές</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Απεστελμένες πληρωμές</string>\n  <string name=\"wallet_options_safety_menu\">Ασφάλεια</string>\n  <string name=\"wallet_options_safety\">Οδηγίες ασφαλείας</string>\n  <string name=\"wallet_donate_address_label\">Δωρεά προς το Bitcoin Wallet</string>\n  <string name=\"wallet_timeskew_dialog_title\">Ελέγξτε τις ρυθμίσεις ώρας!</string>\n  <string name=\"wallet_version_dialog_title\">Μία νέα έκδοση είναι διαθέσιμη!</string>\n  <string name=\"wallet_version_dialog_msg\">Αυτή η έκδοση διορθώνει σημαντικά προβλήματα. Για λεπτομέρειες, δείτε το σύνολο των αλλαγών στο %s.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Λήψη</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Η έκδοση για Android είναι παρωχημένη</string>\n  <string name=\"send_coins_activity_title\">Αποστολή Bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Λανθασμένη υπογραφή!</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">άγνωστο</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Πληρωμή σε</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">πληκτρολογήστε τη διεύθυνση ή το όνομα</string>\n  <string name=\"send_coins_fragment_pending\">(%s αναμονή για επιβεβαίωση)</string>\n  <string name=\"send_coins_fragment_amount_label\">Ποσό να πληρωθεί</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Η άμεση πληρωμή απέτυχε</string>\n  <string name=\"send_coins_fragment_button_send\">Αποστολή</string>\n  <string name=\"send_coins_fragment_button_back\">Πίσω</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Ανεπαρκή διαθέσιμα νομίσματα</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Αποκρυπτογράφηση…</string>\n  <string name=\"send_coins_preparation_msg\">Είσοδος…</string>\n  <string name=\"send_coins_sending_msg\">Αποστολή…</string>\n  <string name=\"send_coins_sent_msg\">Στάλθηκε!</string>\n  <string name=\"send_coins_failed_msg\">Αποτυχία!</string>\n  <string name=\"send_coins_error_msg\">Πρόβλημα στην αποστολή νομισμάτων!</string>\n  <string name=\"send_coins_options_fee_category\">Τέλη</string>\n  <string name=\"send_coins_options_fee_category_economic\">Οικονομικό</string>\n  <string name=\"send_coins_options_fee_category_normal\">Κανονικό</string>\n  <string name=\"send_coins_options_fee_category_priority\">Προτεραιότητα</string>\n  <string name=\"send_coins_options_empty\">Άδειο πορτοφόλι</string>\n  <string name=\"sweep_wallet_activity_title\">Σάρωση χάρτινου πορτοφολιού</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Ξεκινήστε με τη σάρωση του ιδιωτικού κλειδιού ενός χάρτινου πορτοφολιού. Χρησιμοποιήστε το κουμπί της κάμερας.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Αυτό το ιδιωτικό κλειδί προστατεύεται με κωδικό πρόσβασης.</string>\n  <string name=\"sweep_wallet_fragment_password\">κωδικός</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">λάθος κωδικός!</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Αποκρυπτογράφηση</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Σάρωση</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Αποκρυπτογράφηση…\\nΔιαρκεί έως και 2 λεπτά.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Φόρτωση υπολοίπου…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Η φόρτωση του υπολοίπου πορτοφολιού απέτυχε</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Ανεπαρκή διαθέσιμα νομίσματα</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Το ποσό των νομισμάτων στο πορτοφόλι είναι πολύ μικρό για το σάρωση.</string>\n  <string name=\"sweep_wallet_options_reload\">Ανανέωση υπολοίπου</string>\n  <string name=\"maintenance_dialog_title\">Συνιστάται συντήρηση</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Αποκρυπτογράφηση…</string>\n  <string name=\"maintenance_dialog_state_done\">Ολοκληρώθηκε.</string>\n  <string name=\"maintenance_dialog_button_move\">Μετακίνηση</string>\n  <string name=\"request_coins_activity_title\">Αίτηση για Bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Ζητούμενο ποσό (προαιρετικό)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Δεχτείτε την πληρωμή μέσω Bluetooth για περισσότερο αξιόπιστη επεξεργασία</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Δώστε αυτόν τον QR-κώδικα στον αποστολέα για να τον σαρώσει.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Ή αγγίξτε μια συσκευή με δυνατότητα NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">η αίτηση για Bitcoin αντιγράφηκε στο clipboard</string>\n  <string name=\"request_coins_share_dialog_title\">Αίτημα διαμοιρασμού των Bitcoin</string>\n  <string name=\"request_coins_no_local_app_msg\">Δεν βρέθηκε καμία άλλη Bitcoin εφαρμογή</string>\n  <string name=\"request_coins_options_local_app_title\">Αίτηση από τοπική εφαρμογή</string>\n  <string name=\"address_book_activity_title\">Βιβλίο διευθύνσεων</string>\n  <string name=\"address_book_list_receiving_title\">Οι διευθύνσεις σας</string>\n  <string name=\"address_book_list_receiving_random\">Παλιές διευθύνσεις</string>\n  <string name=\"address_book_list_sending_title\">Αποστολή διευθύνσεων</string>\n  <string name=\"address_book_empty_text\">δεν υπάρχουν καταχωρήσεις στον κατάλογο διευθύνσεων</string>\n  <string name=\"address_book_context_send_title\">Αποστολή Bitcoins στη διεύθυνση</string>\n  <string name=\"address_book_context_edit_title\">Επεξεργασία διεύθυνσης</string>\n  <string name=\"address_book_context_remove_title\">Αφαιρέστε τη διεύθυνση</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Αντιγραφή στο πρόχειρο</string>\n  <string name=\"address_book_options_scan_title\">Αναζήτηση διεύθυνσης</string>\n  <string name=\"address_book_options_scan_invalid\">Τα σαρωμένα δεδομένα είναι μη αναγνωρίσημα</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Προσθήκη ετικέτας στη διεύθυνση σας</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Επεξεργασία ετικέτας διεύθυνση</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Διεύθυνση</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Ετικέτα</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Αποθήκευση</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Αυτή η πληρωμή δεν έχει διαβιβαστεί ακόμη.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Αυτή η πληρωμή θα είναι διαθέσιμη σε μερικά λεπτά.</string>\n  <string name=\"transaction_row_message_received_dead\">Αυτή η πληρωμή έχει αναιρεθεί από τον αποστολέα.</string>\n  <string name=\"network_monitor_activity_title\">Παρακολούθηση δικτύου</string>\n  <string name=\"network_monitor_peer_list_title\">Ομότιμοι</string>\n  <string name=\"network_monitor_block_list_title\">Τμήματα</string>\n  <string name=\"block_row_now\">μόλις τώρα</string>\n  <string name=\"peer_list_fragment_empty\">Κανένας χρήστης συνδεδεμένος</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Επαναφορά πορτοφολιού</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Είστε έτοιμος να αντικαταστήσετε το τρέχον πορτοφόλι σας. Τυχόν νομίσματα στο τρέχον πορτοφόλι θα χαθούν αν δεν έχετε ένα ξεχωριστό αντίγραφο ασφαλείας από αυτό.</string>\n  <string name=\"import_keys_dialog_warning\">Σημαντικό: Μην τοποθετείτε ιδιωτικά κλειδιά από αμφίβολες πηγές! Άλλοι μπορούν να αποκτήσουν τον έλεγχο των χρημάτων σας αν το κάνετε.</string>\n  <string name=\"import_keys_dialog_button_import\">Επαναφορά</string>\n  <string name=\"restore_wallet_dialog_success\">Το πορτοφόλι αποκαταστάθηκε.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Το πορτοφόλι σας αποκαταστάθηκε με επιτυχία. Το ποσό του θα καθοριστεί στη συνέχεια. Αυτό θα πάρει κάποιο χρόνο.</string>\n  <string name=\"import_keys_dialog_failure\">Το πορτοφόλι δεν θα μπορούσε να αποκατασταθεί:\\n\\n%s\\n\\nΛάθος κωδικός;</string>\n  <string name=\"export_keys_dialog_title\">Αντίγραφο ασφαλείας πορτοφολιού</string>\n  <string name=\"backup_wallet_dialog_message\">Το αντίγραφο ασφαλείας σας θα κρυπτογραφηθεί με τον επιλεγμένο κωδικό και θα αποθηκευτεί στον εξωτερικό χώρο αποθήκευσης.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Το πορτοφόλι σας προστατεύεται από PIN δαπανών. Βεβαιωθείτε ότι θυμάστε το PIN εκτός από τον εφεδρικό κωδικό πρόσβασης!</string>\n  <string name=\"export_keys_dialog_button_export\">Αντίγραφο ασφαλείας</string>\n  <string name=\"export_keys_dialog_failure\">Το πορτοφόλι σου δε θα μπορούσε να δημιουργήσει αντίγραφο ασφαλείας:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">κωδικός</string>\n  <string name=\"backup_wallet_dialog_password_again\">ξανά</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">αναντιστοιχία!</string>\n  <string name=\"import_export_keys_dialog_show\">Εμφάνιση κωδικού</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Σφάλμα</string>\n  <string name=\"import_keys_intent_filter_action\">Επαναφορά πορτοφολιού</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN δαπανών</string>\n  <string name=\"encrypt_keys_dialog_message\">Οι δαπάνες από το πορτοφόλι σας θα πρέπει να προστατεύονται με το επιλεγμένη PIN.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Σημαντικό: Μη χρησιμοποιείτε κοινούς αριθμούς (όπως ημερομηνίες γέννησης) στο PIN σας.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Παλιό PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">αδύναμο</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">μέτριο</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">καλό</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">ισχυρό</string>\n  <string name=\"encrypt_keys_dialog_show\">Εμφάνιση PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Κρυπτογράφηση…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Αποκρυπτογράφηση…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Ολοκληρώθηκε.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Λυπούμαστε</string>\n  <string name=\"scan_camera_problem_dialog_message\">Η φωτογραφική αντιμετωπίζει κάποιο πρόβλημα. Πιθανόν να χρειάζεται επανεκκίνηση.</string>\n  <string name=\"input_parser_io_error\">Δεν είναι δυνατή η ανάγνωση δεδομένων:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Μη έγκυρο Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Δεν είναι δυνατή η επαλήθευση της αίτησης πληρωμής:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Μη έγκυρο αίτημα πληρωμής:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Μη έγκυρη συναλλαγή:\\n%s</string>\n  <string name=\"preferences_activity_title\">Ρυθμίσεις</string>\n  <string name=\"preferences_category_diagnostics\">Διαγνωστικά</string>\n  <string name=\"preferences_category_labs\">Εργαστήρια</string>\n  <string name=\"preferences_precision_title\">Ονομασία και ακρίβεια</string>\n  <string name=\"preferences_precision_summary\">Μονάδα απεικόνισης ποσών. Δεν επηρεάζει τους υπολογισμούς.</string>\n  <string name=\"preferences_trusted_peer_title\">Έμπιστη πηγή</string>\n  <string name=\"preferences_trusted_peer_summary\">IP ή hostname του χρήστη προς σύνδεση.</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Να αποτραπεί η σύνδεση με οποιαδήποτε Peer εκτός από το αξιόπιστο.</string>\n  <string name=\"preferences_data_usage_title\">Χρήση δεδομένων</string>\n  <string name=\"preferences_data_usage_summary\">Δείτε τις επιλογές για να περιορίσετε τη χρήση των δεδομένων σε κινητά δίκτυα.</string>\n  <string name=\"preferences_report_issue_title\">Αναφέρετε το πρόβλημα</string>\n  <string name=\"preferences_initiate_reset_title\">Επαναφορά block chain</string>\n  <string name=\"preferences_initiate_reset_summary\">Επαναφορά block chain, συναλλαγές και τα υπόλοιπα πορτοφολιού. Η επανάληψη θα πάρει λίγο χρόνο.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Θα θέλατε να επαναφέρετε και να επαναλάβετε το block chain;\\n\\nΑυτό θα κρύψει προσωρινά το ποσό του πορτοφολιού σας και θα αφαιρέσει τις συναλλαγές. Και τα δύο θα ανακάμψουν καθώς ο συγχρονισμός του block chain εξελίσσεται.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Επαναφορά</string>\n  <string name=\"preferences_extended_public_key_summary\">Δείτε το εκτετεμένο δημόσιο κλειδί από το πορτοφόλι σας, έτσι ώστε να μπορέσετε να το εισάγετε σε άλλες εφαρμογές και υπηρεσίες. Να είστε προσεκτικοί: με αυτό τον τρόπο θα αποκαλύψετε τη νομισματική προστασία της ιδιωτικής σας ζωής σε αυτή την εφαρμογή.</string>\n  <string name=\"extended_public_key_fragment_title\">Εκτεταμένο Δημόσιο Κλειδί</string>\n  <string name=\"report_issue_dialog_title_issue\">Αναφέρετε το πρόβλημα</string>\n  <string name=\"report_issue_dialog_title_crash\">Ανιχνεύθηκε προηγηθείσα κατάρρευση</string>\n  <string name=\"report_issue_dialog_message_issue\">Παρακαλούμε περιγράψτε το πρόβλημά σας με αρκετή ακρίβεια για να το αναπαράξουμε.</string>\n  <string name=\"report_issue_dialog_message_crash\">Θα θέλατε να στείλετε μια αναφορά κατάρρευσης, βοηθώντας να επιδιορθώσουμε αυτό το πρόβλημα στο μέλλον;</string>\n  <string name=\"report_issue_dialog_description\">περιγραφή ζητήματος</string>\n  <string name=\"report_issue_dialog_report\">Αναφορά</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Επισύναψη πληροφοριών συσκευής</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Επισύναψη αρχείου καταγραφής της εφαρμογής</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Επισύναψη αρχείου ένδειξης σφαλμάτων πορτοφολιού</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Αποστολή αναφοράς χρησιμοποιώντας…</string>\n  <string name=\"about_title\">Πληροφορίες</string>\n  <string name=\"about_version_title\">Έκδοση</string>\n  <string name=\"about_copyright_title\">Πνευματικά δικαιώματα</string>\n  <string name=\"about_license_title\">Άδεια</string>\n  <string name=\"about_source_title\">Πηγαίος κώδικας</string>\n  <string name=\"about_category_credits\">Αυτή η εφαρμογή χρησιμοποιεί…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_title\">Σελίδα %s</string>\n  <string name=\"about_market_app_summary\">Κάνετε κριτική ή βαθμολογήστε την εφαρμογή</string>\n  <string name=\"notification_coins_received_msg\">Ληφθέντα %s</string>\n  <string name=\"notification_peers_connected_msg\">%d χρήστες συνδεμένοι</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">Εντάξει</string>\n  <string name=\"button_dismiss\">Ματαίωση</string>\n  <string name=\"button_cancel\">Ακύρωση</string>\n  <string name=\"button_retry\">Επανάληψη</string>\n  <string name=\"button_help\">Βοήθεια</string>\n  <string name=\"button_add\">Προσθήκη</string>\n  <string name=\"button_delete\">Διαγραφή</string>\n  <string name=\"button_set\">Όρισε</string>\n  <string name=\"button_remove\">Αφαίρεση</string>\n  <string name=\"button_edit\">Επεξεργασία</string>\n  <string name=\"button_copy\">Αντιγραφή</string>\n  <string name=\"button_paste\">Επικόλληση</string>\n  <string name=\"button_share\">Μοιράσου το</string>\n  <string name=\"button_set_as_default\">Ορισμός ως προεπιλογή</string>\n  <string name=\"button_request_coins\">Ζητήστε νομίσματα</string>\n  <string name=\"button_send_coins\">Αποστολή νομισμάτων</string>\n  <string name=\"button_scan\">Ανίχνευση</string>\n  <string name=\"button_settings\">Ρυθμίσεις</string>\n  <string name=\"action_show_qr\">Εμφάνιση QR κώδικα</string>\n  <string name=\"action_browse\">Πλοήγηση</string>\n  <string name=\"time_today\">σήμερα</string>\n  <string name=\"address_unlabeled\">(χωρίς ετικέτα)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">λάθος PIN</string>\n  <!--generic error messages-->\n  <string name=\"error_parse\">Λάθος εισαγωγή: %s</string>\n  <string name=\"error_http\">HTTP σφάλμα %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetooth σφάλμα: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-el/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tΧρησιμοποιώντας αυτό το πλαίσιο διαλόγου, μπορείτε να ζητήσετε νομίσματα από έναν άλλο χρήστη (που πρέπει να έχει εγκατεστημένο το Bitcoin Wallet).\n\t\t</p>\n\t\t<p>\n\t\t\tΑρχικά, εισάγετε το ζητούμενο ποσό των Bitcoins.\n\t\t</p>\n\t\t<p>\n\t\t\tΣτη συνέχεια, μπορείτε να ζητήσετε από τον άλλο χρήστη να σαρώσει τον παραγόμενο QR κώδικα.\n\t\t\tΕναλλακτικά, μπορείτε να στείλετε την αίτησή σας σε ένα χρήστη με το κουμπί \\'share\\' στη γραμμή δράσης.\n\t\t\tΤο άλλο άτομο θα πρέπει να κάνει κλικ στη διεύθυνση Bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tΕίτε έτσι είτε αλλιώς, στο άλλο πρόσωπο θα παρουσιαστεί ένα παράθυρο διαλόγου για την αποστολή κερμάτων με όλα τα πεδία προσυμπληρωμένα.\n\t\t\tΕάν ο χρήστης αποδέχτεί, το μόνο που χρειάζεται να κάνει είναι να στείλει τη συναλλαγή.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tΈχετε ξεκινήσει τη διαδικασία αποστολής κερμάτων. Ήρθατε εδώ, είτε μέσα από την κύρια οθόνη ή κάνοντας κλικ σε ένα URL Bitcoin στο browser του κινητού σας.\n\t\t</p>\n\t\t<p>\n\t\t\tΠρώτον, εισάγετε το Bitcoin διεύθυνση του παραλήπτη. Η διεύθυνση θα συμπληρωθεί αυτόματα από τις υπάρχουσες καταχωρίσεις στο βιβλίο διευθύνσεών σας. Μπορείτε επίσης να σαρώσετε QR κωδικούς με διευθύνσεις Bitcoin ή αιτήσεων Bitcoin πατώντας το κουμπί QR στη γραμμή δράσης.\n\t\t</p>\n\t\t<p>\n\t\t\tΣτη συνέχεια, μπορείτε να δείτε πόσα Bitcoins μπορείτε να ξοδεψετε. Οποιαδήποτε διαφορά με το υπόλοιπο από την κύρια οθόνη είναι ακόμη ανεπιβεβαίωτη και δεν μπορεί κατά συνέπεια ακόμα να ξοδευτεί.\n\t\t</p>\n\t\t<p>\n\t\t\tΤελευταία, εισάγετε το ποσό που πρέπει να καταβληθεί.\n\t\t</p>\n\t\t<p>\n\t\t\tΜπορείτε να εισάγετε μια συναλλαγή χωρίς να είναι συνδεδεμένος. Θα σταλεί στην επόμενη επανεκκίνηση του Bitcoin Wallet.\n\t\t\tΑν θέλετε μια συναλλαγή να ολοκληρωθεί όσο το δυνατόν γρηγορότερα, βεβαιωθείτε ότι είστε συνδεδεμένοι (δηλαδή σε ένα WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tΣημείωση:\n\t\t\tΟι συναλλαγές που δεν μπορούν να αναιρεθούν! Πάντα να ελέγχετε τον διεύθυνση του παραλήπτη.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Λίγα λόγια για την ασφάλεια των Bitcoins σας:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tα Bitcoins στο το Bitcoin Wallet είναι αποθηκευμένα στη συσκευή.\n\t\t\t<b>Αν χάσετε τη συσκευή σας, θα χάσετε τα Bitcoins σας.</b>\n\t\t\tΑκριβώς όπως τα χρήματα στο πραγματικό πορτοφόλι σας.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Πριν από την απεγκατάσταση του το Bitcoin Wallet</b> (εκκαθάριση δεδομένα εφαρμογής), <b>θα πρέπει να μεταφέρετε Bitcoins σας σε άλλο λογαριασμό</b>.\n\t\t\tΤυχόν υπόλοιπα Bitcoins θα χαθούν.\n\t\t</p>\n\t\t<p>\n\t\t\tΟι συναλλαγές δεν μπορoούν να αναιρεθούν. Εάν στείλετε Bitcoins στο κενό, δεν υπάρχει τρόπος να τα πάρουν πίσω, εκτός αν γνωρίζετε τον παραλήπτη και είναι πρόθυμος να τα στείλει πίσω.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Κρατήστε ασφαλή την Android συσκευή σας! Να εγκαταστάτε μόνο εφαρμογές που εμπιστεύεστε πλήρως. Κακόβουλες εφαρμογές θα μπορούσε να προσπαθήσουν να κλέψουν το πορτοφόλι σας.\n\t\t</p>\n\t\t<p>\n\t\t\tΚρατήστε τον κίνδυνο χαμηλά!\n\t\t\tΧρησιμοποιήστε το Bitcoin Wallet μόνο με μικρά ποσά για ημερήσια χρήση.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-eo/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"toast_wallet_reset\">Monujo restartiĝis,\\nprenos iom da tempo por reakiri</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_safety\">Uzu je via propra risko. Legu la &lt;u&gt;sekurecaj notoj&lt;/u&gt;.</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_backup\">Vi bezonas &lt;u&gt;savkopii vian monujon&lt;/u&gt;!</string>\n\t<string name=\"blockchain_state_progress_hours\">%1$s, %2$d horoj malantaŭ</string>\n\t<string name=\"blockchain_state_progress_days\">%1$s, %2$d tagoj malantaŭ</string>\n\t<string name=\"blockchain_state_progress_weeks\">%1$s, %2$d semajnoj malantaŭ</string>\n\t<string name=\"blockchain_state_progress_months\">%1$s, %2$d monatoj malantaŭ</string>\n\t<string name=\"blockchain_state_progress_downloading\">Sinkronigado kun reto</string>\n\t<string name=\"blockchain_state_progress_stalled\">Sinkronigo stagnis</string>\n\t<string name=\"blockchain_state_progress_problem_storage\">Sinkronigado: Stokante problemo</string>\n\t<string name=\"blockchain_state_progress_problem_network\">Sinkronigado: Reta problemo</string>\n\t<string name=\"wallet_address_fragment_clipboard_msg\">Bitmonadreso kopiita al tondujo</string>\n\t<string name=\"wallet_balance_fragment_replaying\">Saldo nedisponeblas dum ripeto.</string>\n\t<string name=\"exchange_rates_activity_title\">Kurzoj</string>\n\t<string name=\"exchange_rates_fragment_default\">(defaŭlta)</string>\n\t<string name=\"exchange_rates_fragment_rate\">proporcio</string>\n\t<string name=\"exchange_rates_fragment_balance\">saldo</string>\n\t<string name=\"exchange_rates_fragment_source\">Prezo prenis de %s</string>\n\t<string name=\"wallet_transactions_options_filter_received\">Ricevita</string>\n\t<string name=\"wallet_transactions_options_filter_all\">Ambaŭ</string>\n\t<string name=\"wallet_transactions_options_filter_sent\">Sendita</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_received\">Neniom da Bitmonoj tamen ricevitaj.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_sent\">Neniom da Bitmonoj tamen senditaj.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_howto\">Kiel obteni Bitmonojn?\\nNegocu por tradicia mono,\\nvendu varojn aŭ servojn aŭ\\ngajnu per laborado.</string>\n\t<string name=\"wallet_transactions_row_warning_backup\">Gratulon, vi ricevis vian unuan pagon! Ĉu vi jam &lt;u&gt;savkopiis vian monujon&lt;/u&gt;, por protekti kontraŭ perdo?</string>\n\t<string name=\"wallet_transactions_fragment_coinbase\">minita</string>\n\t<string name=\"wallet_transactions_fragment_internal\">interna</string>\n\t<string name=\"wallet_options_safety\">Sekurecaj notoj</string>\n\t<string name=\"wallet_options_donate\">Donacu</string>\n\t<string name=\"wallet_donate_address_label\">Donaco por BitmonMonujo</string>\n\t<string name=\"wallet_low_storage_dialog_title\">Interna Aparata storo Malalta!</string>\n\t<string name=\"wallet_low_storage_dialog_msg\">BitmonMonujo uzas internan storon por memori transakciojn kaj blokojn. Se ĝi kuras ekster la spaco, ĝi ĉesos funkcii kaj via Bitmonoj estos je risko!\\n\\nĈu vi volas malfermi la Aplikaĵa Direktisto por malinstali malbezonitajn aplikaĵojn?</string>\n\t<string name=\"wallet_low_storage_dialog_button_apps\">Administri Aplikaĵojn</string>\n\t<string name=\"wallet_timeskew_dialog_title\">Kontrolu vian tempojn agordojn!</string>\n\t<string name=\"wallet_timeskew_dialog_msg\">Via aparata tempo estas ekstere de %d minutoj. Vi probable ne povas sendi aŭ ricevi Bitmonoj pro tiu problemo.\\n\\nVi devus kontroli kaj korekti vian tempon kaj horzonojn agordojn.</string>\n\t<string name=\"wallet_version_dialog_title\">Nova versio estas disponebla!</string>\n\t<string name=\"wallet_version_dialog_msg\">Tiu versio korektas gravajn cimojn. Por detaloj, vidu la ŝanĝan loglibron ĉe %s.</string>\n\t<string name=\"wallet_version_dialog_button_binary\">Elŝuti</string>\n\t<string name=\"wallet_old_sdk_dialog_title\">Androida versio eksdatas</string>\n\t<string name=\"wallet_old_sdk_dialog_message\">Estas verŝajne, ke unu de la sekvantaj versioj de BitmonMonujo ne subtenos vian aparaton. En iuj kazoj, ĝi povas esti malfacile elspezi monoj sur tiu aparato. \\n\\nSe vi ne scias kion vi faras, ĝi estas rekomendita movi viajn monojn frue.</string>\n\t<string name=\"send_coins_activity_title\">Sendi Bitmonojn</string>\n\t<string name=\"send_coins_fragment_receiving_address_label\">Pagu al</string>\n\t<string name=\"send_coins_fragment_receiving_address_hint\">tajpu adreson aŭ nomon</string>\n\t<string name=\"send_coins_fragment_receiving_address_error\">Malvalida Bitmonadreso!</string>\n\t<string name=\"send_coins_fragment_pending\">(%s atendadi konfirmon)</string>\n\t<string name=\"send_coins_fragment_amount_label\">Kvanto pagi</string>\n\t<string name=\"send_coins_fragment_button_send\">Sendu</string>\n\t<string name=\"send_coins_fragment_button_back\">Reen</string>\n\t<string name=\"send_coins_preparation_msg\">Subskribado…</string>\n\t<string name=\"send_coins_sending_msg\">Sendado…</string>\n\t<string name=\"send_coins_sent_msg\">Sendita!</string>\n\t<string name=\"send_coins_failed_msg\">Malsukcesis!</string>\n\t<string name=\"send_coins_error_msg\">Sendada promlemo!</string>\n\t<string name=\"send_coins_options_empty\">Malplena monujo</string>\n\t<string name=\"request_coins_activity_title\">Peti Bitmonojn</string>\n\t<string name=\"request_coins_fragment_amount_label\">Petita kvanto (fakultativa)</string>\n\t<string name=\"request_coins_fragment_initiate_request_qr\">Havas ĉi tiun kodon skanitan per la sendinto.</string>\n\t<string name=\"request_coins_fragment_initiate_request_nfc\">Aŭ frapetu NFC-eblan apararton.</string>\n\t<string name=\"request_coins_clipboard_msg\">Bitmona peto kopiita al tondujo</string>\n\t<string name=\"request_coins_share_dialog_title\">Kunhavigi peton por Bitmonoj…</string>\n\t<string name=\"request_coins_options_local_app_title\">Peti el loka aplikaĵo</string>\n\t<string name=\"address_book_activity_title\">Adreslibro</string>\n\t<string name=\"address_book_list_receiving_title\">Viaj adresoj</string>\n\t<string name=\"address_book_list_sending_title\">Adresoj por sendado</string>\n\t<string name=\"address_book_empty_text\">Neniom da enskribigoj en la adreslibro</string>\n\t<string name=\"address_book_context_send_title\">Sendu Bitmonojn al adreso</string>\n\t<string name=\"address_book_context_edit_title\">Redakti adreson</string>\n\t<string name=\"address_book_context_remove_title\">Forigi adreson</string>\n\t<string name=\"address_book_context_copy_to_clipboard_title\">Kopi al tondujo</string>\n\t<string name=\"address_book_options_scan_title\">Skani adreson</string>\n\t<string name=\"address_book_row_message_compromised_key\">Ĉi tiu adreso povus esti kompromitita. Vi devus ne uzi plu por ricevi monon.</string>\n\t<string name=\"edit_address_book_entry_dialog_title_add\">Aldoni adreson</string>\n\t<string name=\"edit_address_book_entry_dialog_title_edit\">Redakti adreson</string>\n\t<string name=\"edit_address_book_entry_dialog_address_label\">Adreso</string>\n\t<string name=\"edit_address_book_entry_dialog_label_label\">Nomo</string>\n\t<string name=\"edit_address_book_entry_dialog_button_edit\">Savi</string>\n\t<string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Tiu pago ne estis transdonita jam.</string>\n\t<string name=\"transaction_row_message_purpose_key_rotation\">Ĉi tiu transakcio fortigas vian monujon kontraŭ ŝtelo. &lt;u&gt;Pli da informoj.&lt;/u&gt;</string>\n\t<string name=\"transaction_row_message_received_unconfirmed_unlocked\">Tiu pago devus esti spendable en kelkaj minutoj.</string>\n\t<string name=\"transaction_row_message_received_dead\">Tiu pago renversis per la sendinto. </string>\n\t<string name=\"transaction_row_message_received_dust\">Ĉi tiu malgranda sumo povas probable neniam elspeziĝos ekonomie.</string>\n\t<string name=\"network_monitor_activity_title\">Reta Monitoro</string>\n\t<string name=\"network_monitor_peer_list_title\">Pajroj</string>\n\t<string name=\"network_monitor_block_list_title\">Blokoj</string>\n\t<string name=\"peer_list_fragment_empty\">Neniom da pajroj konektitaj</string>\n\t<string name=\"peer_list_row_ping_time\">⇆ %d ms</string>\n\t<string name=\"import_keys_dialog_title\">Restaŭri privatajn ŝlosilojn</string>\n\t<string name=\"import_keys_dialog_button_import\">Restaŭri</string>\n\t<string name=\"import_keys_dialog_failure\">Privataj ŝlosiloj ne povis esti restaŭritaj\\n\\n%s\\n\\nMalbona pasvorto?</string>\n\t<string name=\"export_keys_dialog_title\">Savkopi privatajn ŝlosilojn</string>\n\t<string name=\"backup_wallet_dialog_message\">Viaj privataj ŝlosiloj estos ĉifritaj kun l\\'elektita pasvorto kaj skribitaj al ekstera storo.</string>\n\t<string name=\"export_keys_dialog_button_export\">Savkopi</string>\n\t<string name=\"export_keys_dialog_success\">Viaj privataj ŝlosiloj estas savkopiitaj ĝis\\n\\n%s\\n\\nKonservu ilin sekurajn, kaj konservu vian pasvorton sekuran!</string>\n\t<string name=\"export_keys_dialog_failure\">Viaj privataj ŝlosiloj ne povis esti savkopiitaj:\\n%s</string>\n\t<string name=\"import_export_keys_dialog_password\">pasvorto</string>\n\t<string name=\"import_export_keys_dialog_show\">Montru pasvorton</string>\n\t<string name=\"import_export_keys_dialog_failure_title\">Eraro</string>\n\t<string name=\"import_keys_intent_filter_action\">Bitmona ŝlosila restaŭro</string>\n\t<string name=\"scan_camera_problem_dialog_title\">Pardonu</string>\n\t<string name=\"scan_camera_problem_dialog_message\">La kamero havas problemon. Vi verŝajne bezonas restartigi la aparaton.</string>\n\t<string name=\"input_parser_cannot_classify\">Ne eblis klasifiki enigon:\\n%s</string>\n\t<string name=\"input_parser_invalid_bitcoin_uri\">Malvalida Bitmono URI:\\n%s</string>\n\t<string name=\"input_parser_invalid_address\">Havas malvalidan bitmonadreson!\\n(Uzante testreto anstataŭ ĉefreto?)</string>\n\t<string name=\"input_parser_invalid_transaction\">Malvalida transakcio:\\n%s</string>\n\t<string name=\"preferences_activity_title\">Agoroj</string>\n\t<string name=\"preferences_category_diagnostics\">Diagnozo</string>\n\t<string name=\"preferences_category_labs\">Labs</string>\n\t<string name=\"preferences_precision_title\">Nomado kaj precizeco</string>\n\t<string name=\"preferences_precision_summary\">Unueco por montri kvantojn. Ĉi tio ne afektas komputadojn.</string>\n\t<string name=\"preferences_trusted_peer_title\">Konfidinda Kolego</string>\n\t<string name=\"preferences_trusted_peer_summary\">IP aŭ nomo de gastiga komputilo de sola pajro por konekti al.</string>\n\t<string name=\"preferences_trusted_peer_only_title\">Salti regula pajra malkovro</string>\n\t<string name=\"preferences_trusted_peer_only_summary\">Haltas konektadon al ajnaj pajroj krom la fidinda pajro.</string>\n\t<string name=\"preferences_data_usage_title\">Datumoj uzado</string>\n\t<string name=\"preferences_data_usage_summary\">Montri opciojn por restrikti datuman uzon je poŝtelefonaj retoj.</string>\n\t<string name=\"preferences_report_issue_title\">Reporti aferon</string>\n\t<string name=\"preferences_initiate_reset_title\">Reŝargi Blokĉenon</string>\n\t<string name=\"preferences_initiate_reset_summary\">Reŝargi blokĉenon, transakciojn, kaj monujan saldon. Povus preni momenton.</string>\n\t<string name=\"preferences_initiate_reset_dialog_message\">Ĉu vi volus reŝargi la blokĉenon?\\n\\nTio provizore kaŝi vian monujo-saldo kaj forigi transakciojn. Ambaŭ reiros kiel blokĉena sinkronigo progresas.</string>\n\t<string name=\"preferences_initiate_reset_dialog_positive\">Reŝargi</string>\n\t<string name=\"report_issue_dialog_title_issue\">Reporti aferon</string>\n\t<string name=\"report_issue_dialog_title_crash\">Malantaŭa kraŝo detektita</string>\n\t<string name=\"report_issue_dialog_message_issue\">Bonvolu priskribi vian temon ĝuste sufiĉa tiel programisto povas reprodukti.</string>\n\t<string name=\"report_issue_dialog_message_crash\">Ĉu vi volus sendi kraŝraporton, helpante ripari tiun aferon en la estonteco?</string>\n\t<string name=\"report_issue_dialog_description\">afera priskribo</string>\n\t<string name=\"report_issue_dialog_report\">Reporti</string>\n\t<string name=\"report_issue_dialog_collect_device_info\">Postglui aparatajn informojn</string>\n\t<string name=\"report_issue_dialog_collect_application_log\">Postglui aplikaĵan loglibron</string>\n\t<string name=\"report_issue_dialog_collect_wallet_dump\">Postglui monujaĵon</string>\n\t<string name=\"report_issue_dialog_mail_intent_chooser\">Sendi reporton uzante…</string>\n\t<string name=\"about_title\">Pri</string>\n\t<string name=\"about_license_title\">Licenco</string>\n\t<string name=\"about_category_credits\">Ĉi tiu aplikaĵo uzas…</string>\n\t<string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n\t<string name=\"about_credits_zxing_title\">ZXing</string>\n\t<string name=\"about_market_app_title\">%s Paĝo</string>\n\t<string name=\"about_market_app_summary\">Revui aŭ gradi l\\'aplikaĵon</string>\n\t<string name=\"notification_coins_received_msg\">Ricevita %s</string>\n\t<string name=\"notification_peers_connected_msg\">%d pajroj konektitaj</string>\n\t<!-- generic buttons -->\n\t<string name=\"button_ok\">Jes</string>\n\t<string name=\"button_dismiss\">Eksigi</string>\n\t<string name=\"button_cancel\">Nuligi</string>\n\t<string name=\"button_help\">Helpo</string>\n\t<string name=\"button_add\">Aldoni</string>\n\t<string name=\"button_delete\">Forigi</string>\n\t<string name=\"button_edit\">Redakti</string>\n\t<string name=\"button_copy\">Kopi</string>\n\t<string name=\"button_paste\">Alglui</string>\n\t<string name=\"button_share\">Kunhavigi</string>\n\t<string name=\"button_set_as_default\">Ŝalti kiel defaŭltan</string>\n\t<string name=\"button_request_coins\">Peti monerojn</string>\n\t<string name=\"button_send_coins\">Sendu monon</string>\n\t<string name=\"button_scan\">Skani</string>\n\t<string name=\"button_settings\">Agordoj</string>\n\t<string name=\"action_show_qr\">Montru QRan kodon</string>\n\t<string name=\"action_browse\">Esplori</string>\n\t<string name=\"time_today\">hodiaŭ</string>\n\t<string name=\"address_unlabeled\">(sen nomo)</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-eo/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tLa supra maldekstra parto de la ekrano montras vian elektitan Bitmonadreson, ke aliaj homoj bezonas scii por sendi al vi Bitmonojn.\n\t\t\tFrapetu por ŝanĝi la adreson.\n\t\t</p>\n\t\t<p>\n\t\t\tLa QR kodo dekstre enhavas vian bitmonadreson kaj povas esti uzata por skanado de alia partio.\n\t\t\tFrapetu sur la QR kodo por obteni pli grandan version.\n\t\t</p>\n\t\t<p>\n\t\t\tEn la mezo de la ekrano, via saldo estas montrata.\n\t\t\tLa valoro de via monujo ankaŭ montras en elektita loka valuto.\n\t\t\tFrapetu sur saldo por montri liston de tutaj lokaj valutoj, kaj frapetu sur unu de la valutoj por elekti ĝin kiel defaŭlto.\n\t\t</p>\n\t\t<p>\n\t\t\tLa malsupro de la ekrano estas kovrita per via transakcia listo, kiu estas malplena je la komenco.\n\t\t\tAtendantaj transakcioj grizas ĝis ili estas konfirmitaj.\n\t\t\tFrapetu sur enskribigo por aldoni la sendintan aŭ ricevintan adreson al la adreslibro.\n\t\t</p>\n\t\t<p>\n\t\t\tVi povas sendi aŭ peti monojn per frapetadi la butonojn en la agejo.\n\t\t\tPli da opcioj estas disponeblaj en la opcioj menuo.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tUzante ĉi tiun dialogon, vi povas peti monon de alia persono (kiu devus jam esti instalita BitmonMonujo).\n\t\t</p>\n\t\t<p>\n\t\t\tUnue, vi povas eniri kvanton de Bitmonj por peti.\n\t\t</p>\n\t\t<p>\n\t\t\tTiam, vi devas havi la generitan QR-kodon skanitan de la alia persono. \n\t\t\tAŭ, vi povas sendi vian peton al fora persono kun la \"kunhavigi\" butonon en la agujo.\n\t\t\tLa alia persono devos klaki la Bitmonon URLon.\n\t\t</p>\n\t\t<p>\n\t\t\tĈiaokaze, la alia persono estos prezentita dialogo por sendi monon kun ĉiuj kampoj jam plenigis.\n\t\t\tSe ŝi akceptas, ĉiuj ŝi bezonas fari estas sendi la pagon.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tVi komencis la procezon de sendado de mono.\n\t\t\tVi venis ĉi tien tra la ĉefa ekrano aŭ klakante sur Bitmona URL en via poŝtelefonretumilo.\n\t\t</p>\n\t\t<p>\n\t\t\tUnue, vi enigi la Bitmonadreson por pagi al.\n\t\t\tLa adreso aŭtomate kompletigos el konataj enigoj en via adreslibro.\n\t\t\tVi povas ankaŭ skani QR-kodojn kun Bitmonadresoj aŭ Bitmonaj petoj per klaki la QR-butonon en la agujo.\n\t\t</p>\n\t\t<p>\n\t\t\tTuj poste, vi povas vidi kiom da Bitmonoj vi povas elspezi nune.\n\t\t\tAjna diferenco al la saldo de la ĉefa ekrano estas ankoraŭ nekonfirmitaj kaj povas tial ankoraŭ ne elspezi.\n\t\t</p>\n\t\t<p>\n\t\t\tLasta, vi enigas la sumon por pagi.\n\t\t</p>\n\t\t<p>\n\t\t\tVi povas enigi pagon senkonekte.\n\t\t\tĜi senditos ĉe rekomenco de BitmonMonujo.\n\t\t\tSe vi volas pagon faritan, kiel rapide, kiel eblece, estu certe, ke vi estas bon konekita (ezkemple, WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tNoto:\n\t\t\tPagoj estas neinversigeblaj!\n\t\t\tĈiam kontrolu la ricevantadreson.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Gravaj sekurecaj notoj:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitmonoj estas stokitaj sur l\\'aparato.\n\t\t\t<b>Se vi perdas ĝin, vi perdos viajn Bitmonojn.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tTio signifas ke vi bezonas <b>savkopii vian monujon</b>!\n\t\t\tUzu la en-aplikaĵo savkopiilo, anstataŭ alia savkopiilo.\n\t\t\tKonservu vian savkopion sekuran kaj memoru la pasvorton.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Antaŭ malinstalado</b> (aŭ purigado de aplikaĵaj datumoj/purigi vian aparaton), <b>transdonu viajn Bitmonojn al alia monujo</b>.\n\t\t\tLa restoj da Bitmonoj perdiĝos.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Pagoj estas neinversigeblaj</b>.\n\t\t\tSe vi sendas viajn Bitmonojn en l\\'abismon, estas preskaŭ ne ebli rehavi ilin.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Konservu vian moveblan aparaton sekuran!</b>\n\t\t\tNe radiku vian aparaton.\n\t\t\tNur instali aplikaĵojn, ke vi plene fidas.\n\t\t\tMalicaj aplikaĵoj povus esti provante ŝteli vian monujon.\n\t\t</p>\n\t\t<p>\n\t\t\tTenu la riskon malalte!\n\t\t\t<b>Nur uzi kun malgrandaj kvantoj</b> por ĉiutaga uzo.\n\t\t</p>\n\t]]>\n\t</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-es/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">¡Su monedero se ha reiniciado!\\nlt tomara un tiempo en recuperarse.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Úsalo bajo tu propio riesgo. Lee las &lt;u&gt;notas de seguridad&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">¡Necesitas hacer una &lt;u&gt;copia de seguridad de tu monedero&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d horas atrás</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d días atrás</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d semanas atrás</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d meses atrás</string>\n  <string name=\"blockchain_state_progress_downloading\">Sincronizando con la red</string>\n  <string name=\"blockchain_state_progress_stalled\">Sincronización interrumpida</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Sincronización: Problema de almacenamiento</string>\n  <string name=\"blockchain_state_progress_problem_network\">Sincronización: Problema de red</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Dirección Bitcoin copiada al portapapeles</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Para proteger su privacidad, su dirección cambiará una vez reciba un pago.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">tu dispositivo es viejo e inseguro. por favor úsalo solo para cantidades menores.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Esta cantidad es demasiado grande para llevar en tu bolsillo, por favor, muévela a un lugar más seguro.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Saldo no disponible durante la reevaluación.</string>\n  <string name=\"exchange_rates_activity_title\">Tasas de cambio</string>\n  <string name=\"exchange_rates_fragment_empty_search\">No se encuentra la tasa de cambio.</string>\n  <string name=\"exchange_rates_fragment_default\">(predeterminado)</string>\n  <string name=\"exchange_rates_fragment_rate\">tipo</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Precio extraído de %s</string>\n  <string name=\"exchange_rates_options_search\">Buscar tasa de cambio</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Aún no se han recibido bitcoins.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Aún no se han enviado bitcoins.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">¿Cómo obtener Bitcoins?\\nCámbialos por dinero tradicional,\\nvende bienes o servicios o\\ngánalos trabajando</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Por favor haga una copia de seguridad de su billetera\\nantes de recibir Bitcoins!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Enhorabuena. ¡Has recibido tu primer pago! ¿Has hecho ya una &lt;u&gt;copia de seguridad de tu cartera&lt;/u&gt; como protección frente a pérdidas?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Consejo: para incrementar la seguridad de su wallet, usted puede escriptar su dispositivo. Esto permite la protección de sus datos con otras aplicaciones.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">la red de Bitcoin esta bajo mantenimiento. has sido avisado de no mandar o recibir Bitcoins hasta que finalice el mantenimiento. &lt;u&gt;Mas información.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">minados</string>\n  <string name=\"wallet_transactions_fragment_internal\">interno</string>\n  <string name=\"wallet_transactions_options_filter\">Filtrar</string>\n  <string name=\"wallet_transactions_options_filter_all\">Todos los pagos</string>\n  <string name=\"wallet_transactions_options_filter_received\">Pagos recibidos</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Pagos enviados</string>\n  <string name=\"wallet_options_request_legacy\">Solicitud de dirección heredada</string>\n  <string name=\"wallet_options_safety_menu\">Seguridad</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Establecer PIN para pagos</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Cambiar PIN para pagos</string>\n  <string name=\"wallet_options_safety\">Notas sobre seguridad</string>\n  <string name=\"wallet_options_technical_notes_title\">Notas técnicas</string>\n  <string name=\"wallet_options_donate\">Sugerencias / donar</string>\n  <string name=\"wallet_donate_address_label\">Donación para Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Alerta de seguridad</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">El Bluetooth de tu dispositivo es vulnerable. Tus Bitcoins en este dispositivo están en riesgo, independientemente de la aplicación que estas utilizando para almacenarlos. Recomendamos apagar tu Bluetooth inmediatamente y revisar por una actualización del sistema operativo Android que implemente parches de seguridad nivel \\'%s\\' o posteriores.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Espacio de almacenamiento interno de dispositivo bajo!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet usa la memoria interna para recordar transacciones y bloques. Si te quedas sin espacio, dejará de funcionar y tus Bitcoins estarán en riesgo.\\n\\n¿Quieres abrir el administrador de aplicaciones para desinstalar apps innecesarias?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Gestionar aplicaciones</string>\n  <string name=\"wallet_timeskew_dialog_title\">Configure la hora</string>\n  <string name=\"wallet_timeskew_dialog_msg\">El horario de su dispositivo está retrasado por %d minutos. Probablemente no podrá enviar o recibir Bitcoins debido a este problema.\\n\\nPara corregirlo configure la fecha, hora y zona horaria correctamente.</string>\n  <string name=\"wallet_version_dialog_title\">¡Hay una nueva versión disponible!</string>\n  <string name=\"wallet_version_dialog_msg\">Esta versión corrige fallos importantes. Más detalles en el historial de cambios de %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Si no ve una actualización, es probable que su versión de Android ya no sea compatible.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Descargar</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Versión de Android desactualizada</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Es posible que una de las próximas versiones de Bitcoin Wallet no soporte tu dispositivo. En algunos casos, puede ser difícil hacer pagos con este dispositivo.\\n\\nA menos que sepas lo que estás haciendo, se recomienda que saques tus Bitcoins lo más pronto posible.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problema abriendo los ajustes</string>\n  <string name=\"send_coins_activity_title\">Enviar Bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Adquiriendo firma de %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">No se ha podido recuperar la solicitud de pago</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">El beneficiario (%1$s) está usando un protocolo de pago incompatible (Motivo: %2$s)</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">¡Firma incorrecta!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">verificado por: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">desconocido</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Pagar a</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">escriba dirección o nombre</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">¡Dirección Bitcoin inválida!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">¡Estás a punto de enviartelo a tí mismo!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">dirección\\ncompleja</string>\n  <string name=\"send_coins_fragment_pending\">(%s esperando confirmación)</string>\n  <string name=\"send_coins_fragment_amount_label\">Cantidad a pagar</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Se pagará una comisión por prioridad de %s. Si le preocupan las tarifas bajas, use \\'prioridad\\' sólo si necesita la confirmación lo antes posible.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Una pequeña comisión de red de %s será pagada.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Se pagará una comisión por prioridad de %s. Si le preocupan las tarifas bajas, use \\'prioridad\\' sólo si necesita la confirmación lo antes posible.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">La cantidad es demasiado baja para enviar.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Bitcoins insuficientes. Pierde %s. Puede ser debido a la comisión de la red.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">La cantidad de pequeños pagos en tu cartera no es suficiente para poder enviarlos.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Actualmente los pagos no son posibles porque una repetición está en proceso.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Enviar pago directamente al receptor.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Tu pago se ha enviado directamente con éxito.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Tu pago mediante conexión directa ha sido rechazado.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">El pago directo ha fallado</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Se reenviará tu pago a través de la red P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Enviar</string>\n  <string name=\"send_coins_fragment_button_back\">Atrás</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Comisión de red significativa</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">La comisión de la red para este pago (%1$s) es elevado en relación al monto (%2$s). Quiere enviarlo de todos modos?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">No hay suficientes bitcoins disponibles</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Te faltan %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">¿Deseas pagar con todo lo que tienes?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">El vaciado de la cartera falló.</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Descifrando…</string>\n  <string name=\"send_coins_preparation_msg\">Firmando…</string>\n  <string name=\"send_coins_sending_msg\">Enviando…</string>\n  <string name=\"send_coins_sent_msg\">¡Enviado!</string>\n  <string name=\"send_coins_failed_msg\">¡Error!</string>\n  <string name=\"send_coins_error_msg\">¡Problema enviando bitcoins!</string>\n  <string name=\"send_coins_options_fee_category\">Comisión</string>\n  <string name=\"send_coins_options_fee_category_economic\">Económico</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioridad</string>\n  <string name=\"send_coins_options_empty\">Cartera vacía</string>\n  <string name=\"raise_fee_dialog_title\">Comisión de red</string>\n  <string name=\"raise_fee_dialog_message\">¿Quieres incrementar la cuota de este pago en %s? Ello hará que el pago se confirme antes.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Determinando el costo de la red…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">El costo de red de este pago no puede ser incrementado.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Desencriptando</string>\n  <string name=\"raise_fee_dialog_state_done\">Hecho.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Incrementar</string>\n  <string name=\"sweep_wallet_activity_title\">Convertir cartera de papel</string>\n  <string name=\"sweep_wallet_fragment_intro\">Vas a convertir una cartera de papel. Esto transferirá todos los bitcoins del papel a tu cartera en este dispositivo. Cuando la transacción esté confirmada, el papel ya no tendrá valor y, por razones de seguridad, no debería ser reutilizado.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Las carteras de papel normalmente se utilizan para la el depósito offline. Algunos cajeros ATM los imprimen en el recibo de papel en lugar de enviar los bitcoins directamente al dispositivo móvil. A veces se usan carteras de papel prepago para enviar valores a otras personas (no recomendado).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Empieza escaneando la clave de una cartera de papel. Usa el botón de la cámara.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Esta clave está protegida con una contraseña.</string>\n  <string name=\"sweep_wallet_fragment_password\">Contraseña</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">¡Contraseña errónea!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Saldo a convertir</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Desencriptar</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Convertir</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Desencriptando…\\nPuede tardar hasta 2 minutos.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Cargando saldo…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Error al cargar el saldo de la cartera</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Tienes una mala conexión a la red de Electrum.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">La billetera de papel está vacía.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">No hay suficientes bitcoins</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">La cantidad de bitcoins en tu cartera es demasiado pequeña para ser convertidos.</string>\n  <string name=\"sweep_wallet_options_reload\">recargar el saldo</string>\n  <string name=\"maintenance_dialog_title\">Se recomienda mantenimiento</string>\n  <string name=\"maintenance_dialog_message\">Recibíste %1$s a en direcciones no seguras ¿Te gustaría mover estas bitcoins a direcciones seguras? Se pagará una pequeña cuota de red de %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Desencriptando…</string>\n  <string name=\"maintenance_dialog_state_done\">Hecho.</string>\n  <string name=\"maintenance_dialog_button_move\">Mover</string>\n  <string name=\"request_coins_activity_title\">Solicitar Bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Cantidad solicitada (opcional)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Acepte pagos vía Bluetooth para un proceso más seguro.</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Pide al pagador que escanee este código.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">O toca un dispositivo dotado de NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">Solicitud de Bitcoins copiada al portapapeles</string>\n  <string name=\"request_coins_share_dialog_title\">Compartir solicitud de Bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">No se ha encontrado otra app de Bitcoins</string>\n  <string name=\"request_coins_options_local_app_title\">Petición desde aplicación local</string>\n  <string name=\"address_book_activity_title\">Libreta de direcciones</string>\n  <string name=\"address_book_list_receiving_title\">Sus direcciones</string>\n  <string name=\"address_book_list_receiving_random\">Direcciones antiguas</string>\n  <string name=\"address_book_list_sending_title\">Direcciones para envíos</string>\n  <string name=\"address_book_empty_text\">No hay entradas en la libreta de direcciones</string>\n  <string name=\"address_book_context_send_title\">Enviar bitcoins a la dirección</string>\n  <string name=\"address_book_context_edit_title\">Editar dirección</string>\n  <string name=\"address_book_context_remove_title\">Eliminar dirección</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Copiar al portapapeles</string>\n  <string name=\"address_book_options_scan_title\">Escanear dirección</string>\n  <string name=\"address_book_options_scan_invalid\">No se reconocen los datos escaneados</string>\n  <string name=\"address_book_options_scan_own_address\">La dirección escaneada es la tuya</string>\n  <string name=\"address_book_row_current_address\">Esta es tu dirección actual para recibir.</string>\n  <string name=\"address_book_row_message_compromised_key\">Esta dirección podría ya no ser segura. No debería seguir utilizándola para recibir bitcoins.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Añadir dirección de envío</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Editar etiqueta de dirección de envío</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Añadir nombre a tu dirección</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Editar etiqueta de tu dirección</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Dirección</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etiqueta</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Guardar</string>\n  <string name=\"transaction_row_fee\">Comisión de red</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Este pago aún no se ha transmitido.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Este pago ha sido acreditado a su billetera.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Su pago fue exitoso. Ha llegado al beneficiario.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Este pago a fallado.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Su pago ha fallado.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Esta transacción fortalece tu monedero frente a robos. &lt;u&gt;Más información.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Esta transacción incrementa la cuota de red para un pago previo.</string>\n  <string name=\"transaction_row_message_received_direct\">Este pago se ha recibido directamente. Existe el riesgo de que no llegue a validarse.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">La confirmación de este pago está atrasada debido a una sobrecarga en la red de Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Este pago debería estar disponible en unos minutos.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">debido a mantenimiento en la red de Bitcoin, esta transacción no puede ser confiable hasta estar completamente confirmada.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">¡Este pago tiene un riesgo alto de ser revertido por el remitente! Si es posible, espere por la confirmación.</string>\n  <string name=\"transaction_row_message_received_dead\">Este pago ha sido anulado por el pagador.</string>\n  <string name=\"transaction_row_message_received_dust\">Esta cantidad podría ser demasiado pequeña como para ser gastada.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Este pago llega a muchas carteras además de la suya, lo que hace que la aplicación se ralentice. Si puede, intente recibir pagos que sólo le lleguen a usted.</string>\n  <string name=\"transaction_row_message_received_rbf\">Este pago se retrasó porque el emisor utilizó un tipo de transacción inseguro.</string>\n  <string name=\"network_monitor_activity_title\">Monitor de red</string>\n  <string name=\"network_monitor_peer_list_title\">Pares</string>\n  <string name=\"network_monitor_block_list_title\">Bloques</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Ajustes a la dificultad de la minería.</string>\n  <string name=\"block_row_mining_reward_adjustment\">Reducción de la recompensa minera</string>\n  <string name=\"block_row_now\">justo ahora</string>\n  <string name=\"peer_list_fragment_empty\">No hay pares conectados</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Restaurar cartera</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Está a punto de reemplazar su cartera actual. Todas las bitcoins en la cartera actual se perderán a menos que tenga una copia de seguridad.</string>\n  <string name=\"import_keys_dialog_warning\">Importante: ¡No cargue claves de origen dudoso! Podría perder el control sobre sus fondos.</string>\n  <string name=\"import_keys_dialog_button_import\">Restaurar</string>\n  <string name=\"restore_wallet_dialog_success\">La cartera ha sido restaurado.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Tu cartera fue restaurada satisfactoriamente. Su balance será determinado a continuación. Esto llevará algún tiempo.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Advertencia: su cartera esta protegida por un PIN de gastos. Asegúrese de recordarlo antes de recibir en esta cartera.</string>\n  <string name=\"import_keys_dialog_failure\">La cartera no pudo ser restaurada:\\n\\n%s\\n\\n¿Contraseña errónea?</string>\n  <string name=\"export_keys_dialog_title\">Hacer copia de seguridad de la cartera</string>\n  <string name=\"backup_wallet_dialog_message\">Su copia de seguridad será encriptada con la contraseña que elija y guardada en una unidad de almacenamiento externo.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Su cartera está protegida con un PIN de pagos. ¡Asegúrese de recordar el PIN, además de hacer una copia de seguridad de su contraseña!</string>\n  <string name=\"export_keys_dialog_button_export\">Copia de seguridad</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Su billetera ha sido respaldada en <tt>%s</tt></p><p><b>Si el único lugar donde existe su respaldo es en su dispositivo, ¡corre el riesgo de perder ambos a la vez!</b></p><p>En cualquier caso, asegúrese de recordar la contraseña de respaldo</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">No se pudo realizar la copia de seguridad de su cartera:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">Contraseña</string>\n  <string name=\"backup_wallet_dialog_password_again\">otra vez</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">incorrecta!</string>\n  <string name=\"import_export_keys_dialog_show\">Mostrar contraseña</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Error</string>\n  <string name=\"import_keys_intent_filter_action\">Restaurar cartera</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN de pagos</string>\n  <string name=\"encrypt_keys_dialog_message\">La función de efectuar pagos desde su cartera estará protegido con el PIN que elija.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Importante: Necesitará recordar su PIN! No utilice números comunes (como fechas de cumpleaños).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Antiguo PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">débil</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">regular</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">buena</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">fuerte</string>\n  <string name=\"encrypt_keys_dialog_show\">Mostrar PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Encriptando…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Desencriptando…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Hecho.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Lo sentimos</string>\n  <string name=\"scan_camera_problem_dialog_message\">La cámara ha sufrido un problema. Probablemente necesite reiniciar el dispositivo.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Permiso de cámara</string>\n  <string name=\"scan_camera_permission_dialog_message\">Para poder escanear códigos QR, debe conceder permiso para usar la cámara.</string>\n  <string name=\"input_parser_io_error\">No se pueden leer los datos:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">No se reconoce la entrada:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">URI Bitcoin inválida:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">¡Dirección Bitcoin inválida!\\n(¿Confusión entre mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">No se puede verificar la solicitud de pago:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Solicitud de pago inválida:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Transacción inválida:\\n%s</string>\n  <string name=\"preferences_activity_title\">Ajustes</string>\n  <string name=\"preferences_category_general\">General</string>\n  <string name=\"preferences_category_privacy\">Control de privacidad</string>\n  <string name=\"preferences_category_merchants\">Comerciantes</string>\n  <string name=\"preferences_category_diagnostics\">Diagnóstico</string>\n  <string name=\"preferences_category_labs\">Laboratorio</string>\n  <string name=\"preferences_precision_title\">Denominación y precisión</string>\n  <string name=\"preferences_precision_summary\">Unidad para mostrar cantidad. No afecta a los cálculos.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 lugares decimales</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 lugares decimales</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 lugares decimales</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 lugares decimales</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, sin decimales</string>\n  <string name=\"preferences_own_name_title\">Su nombre</string>\n  <string name=\"preferences_own_name_summary\">Ponte un nombre, que será añadido a las solicitudes de pago. Trata de que sea corto.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Cerrar automáticamente el diálogo de envío de Bitcoins</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Cuando se realiza el pago, el diálogo de envío se cerrará automáticamente.</string>\n  <string name=\"preferences_sync_mode_title\">Uso de datos vs Privacidad</string>\n  <string name=\"preferences_sync_mode_summary\">Elige entre bajo uso de datos y privacidad mejorada cuando te sincronices con la red.</string>\n  <string name=\"preferences_trusted_peer_title\">Par de confianza</string>\n  <string name=\"preferences_trusted_peer_summary\">IP o nombre de host del par individual al que conectarse.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Resolviendo…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">¡Nombre de host desconocido!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Saltar descubrimiento de pares regulares</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Evita las conexiones a todo par que no sea el de confianza.</string>\n  <string name=\"preferences_block_explorer_title\">Explorador de bloque</string>\n  <string name=\"preferences_block_explorer_summary\">Explorador externo de bloques, para navegar por las transacciones, direcciones y bloques.</string>\n  <string name=\"preferences_data_usage_title\">Uso de datos</string>\n  <string name=\"preferences_data_usage_summary\">Mostrar opciones para limitar el uso de datos en redes móviles.</string>\n  <string name=\"preferences_notifications_title\">Notificaciones</string>\n  <string name=\"preferences_notifications_summary\">Mostrar opciones para deshabilitar o habilitar notificaciones específicas.</string>\n  <string name=\"preferences_remind_balance_title\">Aviso de balance</string>\n  <string name=\"preferences_remind_balance_summary\">Después de unas semanas sin uso, la aplicación te notificará que aún tienes Bitcoins en la billetera.</string>\n  <string name=\"preferences_show_disclaimer_title\">Mostrar disclaimer</string>\n  <string name=\"preferences_show_disclaimer_summary\">¿De verdad leíste las notas de seguridad? ¿Ya aseguraste tu monedero en un lugar seguro?</string>\n  <string name=\"preferences_bluetooth_address_title\">Dirección bluethooth</string>\n  <string name=\"preferences_bluetooth_address_summary\">Configure manualmente su dirección Bluetooth para que pueda recibir los pagos sin conectividad. Deberá buscar la dirección del dispositivo en la configuracion de Android primero.</string>\n  <string name=\"preferences_report_issue_title\">Informar de incidencia</string>\n  <string name=\"preferences_initiate_reset_title\">Bloque de la cadena de reinicio</string>\n  <string name=\"preferences_initiate_reset_summary\">Cambiar cadena de bloque, las transacciones y el equilibrio billetera. Replay tomará un tiempo.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">¿Te gustaría reiniciar y repetir la cadena de bloque?\\n\\nEste ocultará temporalmente su saldo cartera y eliminar transacciones. Ambos se recuperará con la sincronización de la cadena de bloque avanzada.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Reiniciar</string>\n  <string name=\"preferences_extended_public_key_title\">Mostrar extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Ve la llave publica extendida de tu billetera, para que pueda ser importada hacia otras apps y servicios ten cuidado: hacer esto dara a conocer tu privacidad monetaria a esa app.</string>\n  <string name=\"bitmap_fragment_share\">Comparte…</string>\n  <string name=\"extended_public_key_fragment_title\">Extender llave publica</string>\n  <string name=\"extended_public_key_fragment_share\">Comparte extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Informar de incidencia</string>\n  <string name=\"report_issue_dialog_title_crash\">Detectado error grave anterior</string>\n  <string name=\"report_issue_dialog_title_transaction\">Informar del problema con el pago seleccionado</string>\n  <string name=\"report_issue_dialog_message_issue\">Por favor, su problema con detalle suficiente para que pueda ser reproducido. Usa el idioma inglés si puedes.</string>\n  <string name=\"report_issue_dialog_message_crash\">¿Deseas enviar un informe de error para ayudar a resolver la incidencia en un futuro?</string>\n  <string name=\"report_issue_dialog_description\">Descripción de la incidencia</string>\n  <string name=\"report_issue_dialog_report\">Informe</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Añadir información de dispositivo</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Añadir registro de aplicación</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Añadir volcado de datos de la cartera</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Enviar informe mediante…</string>\n  <string name=\"about_title\">Acerca de</string>\n  <string name=\"about_version_title\">Versión</string>\n  <string name=\"about_version_apk_hash_title\">Suma SHA256 de la APK</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">Licencia</string>\n  <string name=\"about_source_title\">Código fuente</string>\n  <string name=\"about_category_credits\">Esta aplicación utiliza…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, una biblioteca de criptografía</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, una biblioteca de cliente HTTP</string>\n  <string name=\"about_credits_moshi_title\">Moshi, una biblioteca JSON</string>\n  <string name=\"about_credits_guava_title\">Guava, una colección de utilidades de ayuda</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, un marco de registros</string>\n  <string name=\"about_market_app_title\">Página en %s</string>\n  <string name=\"about_market_app_summary\">Critica o evalúa la aplicación</string>\n  <string name=\"about_faq_title\">Prefuntas Frecuentes</string>\n  <string name=\"about_faq_summary\">Preguntas frecuentes sobre la aplicación</string>\n  <string name=\"notification_coins_received_msg\">%s Recibidos</string>\n  <string name=\"notification_connectivity_syncing_message\">Sincronizando con la red…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Sincronizando con sus pares de confianza…</string>\n  <string name=\"notification_peers_connected_msg\">%d pares conectados</string>\n  <string name=\"notification_peer_connected\">conectado</string>\n  <string name=\"notification_peer_not_connected\">no conectado</string>\n  <string name=\"notification_inactivity_title\">¡Aún tienes Bitcoins en este dispositivo!</string>\n  <string name=\"notification_inactivity_message\">Recuerda que tus %s Bitcoins se perderán si desinstalas la aplicación sin moverlos a otra billetera.</string>\n  <string name=\"notification_inactivity_message_donate\">Si no te importan tus Bitcoins, por favor considera donarlas al proyecto Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Avísame después</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">No recordar</string>\n  <string name=\"notification_bluetooth_service_listening\">Listo para recibir pagos mediante Bluetooth</string>\n  <string name=\"notification_channel_received_name\">Pagos recibidos</string>\n  <string name=\"notification_channel_ongoing_name\">Actividad de fondo</string>\n  <string name=\"notification_channel_important_name\">Alertas importantes</string>\n  <string name=\"appwidget_wallet_balance_title\">Balance Bitcoin</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">Aceptar</string>\n  <string name=\"button_dismiss\">Rechazar</string>\n  <string name=\"button_cancel\">Cancelar</string>\n  <string name=\"button_retry\">Reintentar</string>\n  <string name=\"button_help\">Ayuda</string>\n  <string name=\"button_add\">Añadir</string>\n  <string name=\"button_delete\">Eliminar</string>\n  <string name=\"button_set\">Establecer</string>\n  <string name=\"button_remove\">Quitar</string>\n  <string name=\"button_edit\">Modificar</string>\n  <string name=\"button_copy\">Copiar</string>\n  <string name=\"button_paste\">Pegar</string>\n  <string name=\"button_share\">Compartir</string>\n  <string name=\"button_set_as_default\">Establecer como predeterminado</string>\n  <string name=\"button_request_coins\">Pedir bitcoins</string>\n  <string name=\"button_send_coins\">Enviar</string>\n  <string name=\"button_scan\">Explorar</string>\n  <string name=\"button_settings\">Ajustes</string>\n  <string name=\"action_show_qr\">Mostrar código QR</string>\n  <string name=\"action_browse\">Navegar</string>\n  <!--generic strings-->\n  <string name=\"time_today\">hoy</string>\n  <string name=\"address_unlabeled\">(sin nombre)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">¡PIN incorrecto!</string>\n  <string name=\"qr_code\">Código QR</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Error de entrada/salida: %s</string>\n  <string name=\"error_parse\">Error de lectura: %s</string>\n  <string name=\"error_http\">Error HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Error de Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-es/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tLa parte superior izquierda de la pantalla muestra su balance entre Bitcoins y la moneda nacional que elija.\n\t\t\tToque para ir a la lista de monedas nacionales, y toque en una de las monedas para seleccionarla como predeterminada.\n\t\t</p>\n\t\t<p>\n\t\t\tEl código QR de la derecha contiene su dirección de Bitcoin, y se puede usar para ser escaneado por un tercero.\n\t\t\tToque el código QR para ver la versión más grande.\n\t\t</p>\n\t\t<p>\n\t\t\tLa parte inferior de la pantalla está cubierta por la lista de sus transacciones, la cual está vacía al principio.\n\t\t\tLas transacciones pendientes están en gris hasta que sean confirmadas.\n\t\t\tToque en la entrada para añadir las direcciones de los remitentes o destinatarios a su lista de contactos.\n\t\t</p>\n\t\t<p>\n\t\t\tPuede enviar o solicitar Bitcoins tocando los botones en la barra de acción.\n\t\t\tMás opciones disponibles en el menú de opciones.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tMediante este cuadro de diálogo puedes solicitar bitcoins de otra persona (que debería tener instalada Bitcoin Wallet).\n\t\t</p>\n\t\t<p>\n\t\t\tEn primer lugar, puedes introducir la cantidad de bitcoins que se desea solicitar.\n\t\t</p>\n\t\t<p>\n\t\t\tA continuación, puedes hacer que la otra persona explore el código QR generado,\n\t\t\to bien enviar tu solicitud a una persona remota mediante el botón de compartir de la barra de acciones.\n\t\t\tLa otra persona tendrá que acceder a la URL de Bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tEn ambos casos, a la otra persona se le mostrará un cuadro de diálogo para enviar bitcoins con todos los campos completados.\n\t\t\tSi está de acuerdo, bastará con que acepte la transacción.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tHas iniciado el proceso de enviar bitcoins.\n\t\t\tHas llegado aquí bien a través de la pantalla principal o bien al acceder a una URL Bitcoin en tu navegador móvil.\n\t\t</p>\n\t\t<p>\n\t\t\tEn primer lugar, debes introducir la dirección Bitcoin receptora del pago.\n\t\t\tLa dirección se irá autocompletando con las entradas conocidas de la libreta de direcciones.\n\t\t\tTambién puedes explorar códigos QR con direcciones Bitcoin o solicitudes de bitcoins pulsando el botón QR de la barra de acciones.\n\t\t</p>\n\t\t<p>\n\t\t\tA continuación, podrás ver cuántos bitcoins puedes gastar en este momento.\n\t\t\tCualquier discrepancia que haya con el saldo de la pantalla principal se debe a cantidades no confirmadas que aún no pueden gastarse.\n\t\t</p>\n\t\t<p>\n\t\t\tPor último, tendrás que introducir la cantidad que quieres pagar que ofreces.\n\t\t</p>\n\t\t<p>\n\t\t\tPuedes llevar a cabo una transacción sin conexión.\n\t\t\tSe enviará la siguiente vez que se reinicie Bitcoin Wallet.\n\t\t\tSi quieres que se procese una transacción lo más rápido posible, asegúrate de tener una buena conexión (WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tNota:\n\t\t\t¡Las transacciones no pueden revertirse!\n\t\t\tVerifica siempre la dirección de recepción.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Algunos comentarios sobre la seguridad de tus Bitcoins:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tLos bitcoins en Bitcoin Wallet se almacenan en el dispositivo.\n\t\t\t<b>Si pierdes tu dispositivo, pierdes tus Bitcoins.</b>\n\t\t\tEsto es lo mismo que ocurriría con tu dinero en una cartera convencional.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Antes de desinstalar Bitcoin Wallet</b> (o de eliminar los datos de aplicación o el almacenamiento del dispositivo), <b>transfiere tus Bitcoins a otra cartera</b>.\n\t\t\tLos bitcoins que queden en el dispositivo se perderán.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Las transacciones no se pueden deshacer</b>.\n\t\t\tSi envías bitcoins por error, no hay manera de recuperarlos a menos que conozcas al receptor y acepte devolvértelos.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>¡Mantén seguro tu dispositivo Android!</b>\n\t\t\tInstala solamente aplicaciones en las que confíes plenamente.\n\t\t\tPuede haber aplicaciones malignas que intenten robar tu cartera.\n\t\t</p>\n\t\t<p>\n\t\t\t¡Minimiza el riesgo!\n\t\t\t<b>Utiliza Bitcoin Wallet solamente para cantidades pequeñas</b> de uso diario.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Notas técnicas:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tComo un monedero SPV/ligero, Bitcoin Wallet sigue la cadena de la mayor prueba-de-trabajo (algunas veces también llamado la \\\"cadena mas larga\\\", la \\\"cadena ganadora\\\" o la \\\"Cadena de bloques Bitcoin\\\").\n\t\t\tSolo recibirás los pagos entrantes y podrás pagar en esa cadena.\n\t\t\tNo se pueden hacer garantías sobre Bitcoins en cadenas minoritarias, eso es, cadenas con menos prueba-de-trabajo.\n\t\t</p>\n\t\t<p>\n\t\t\tEn el pasado, las cadenas minoritarias siempre se han convertido irrelevantes en poco tiempo.\n\t\t\tSi deseas seguir una cadena minoritaria de todas formas, se le aconseja usar la característica \\\"compañero de confianza\\\" para conectar exclusivamente con la implementación bitcoind la cual hace cumplir tu cadena deseada.\n\t\t\tSi la red entre tu monedero y el compañero de confianza no debe ser confiada, use un VPN para autenticar la conexión.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-fi/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Lompakkosi nollattiin!\\nPalautuminen kestää hetken.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Käytät ohjelmaa omalla vastuulla. Lue &lt;u&gt;turvallisuusohjeet&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Sinun on &lt;u&gt;varmuuskopioitava lompakkosi&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d tuntia takana</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d päivää takana</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d viikkoa takana</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d kuukautta takana</string>\n  <string name=\"blockchain_state_progress_downloading\">Synkronoidaan verkon kanssa</string>\n  <string name=\"blockchain_state_progress_stalled\">Synkronointi kaatunut</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Synkronointi: Tilaongelma</string>\n  <string name=\"blockchain_state_progress_problem_network\">Synkronointi: Verkko-ongelma</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin-osoite on kopioitu leikepöydälle</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Suojellaksesi yksityisyyttäsi, osoitteesi vaihtuu aina kerran kun se vastaanottaa maksun.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Laitteesi on vanha ja turvaton. Käytäthän vain pienten määrien kanssa.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Tämä määrä on melko suuri kannettavaksi taskussasi. Siirrä se johonkin turvallisempaan paikkaan.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Saldo ei ole saatavilla uusinnan aikana.</string>\n  <string name=\"exchange_rates_activity_title\">Vaihtokurssit:</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Rahanvaihtokurssia ei löytynyt.</string>\n  <string name=\"exchange_rates_fragment_default\">(oletus)</string>\n  <string name=\"exchange_rates_fragment_rate\">kurssi</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Hinta paikasta %s</string>\n  <string name=\"exchange_rates_options_search\">Etsi rahanvaihtokurssi</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Bitcoineja ei ole vielä vastaanotettu.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Bitcoineja ei ole vielä lähetetty.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Kuinka saada Bitcoineja?\\nVaihda perinteiseen rahaan,\\nmyy tuotteita tai palveluita tai\\ntienaa työskentelemällä.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Varmuuskopioithan lompakkosi\\nennen Bitcoinien vastaanottamista!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Onnittelut, olet vastaanottanut ensimmäisen rahansiirtosi! Onko sinulla jo &lt;u&gt;varmuuskopio lompakostasi&lt;/u&gt; suojataksesi sitä katoamiselta?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Vinkki: parantaaksesi lompakkosi turvallisuutta, voit &lt;u&gt;salata laitteesi&lt;/u&gt;. Tämä myös suojaa muiden ohjelmien dataa.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Bitcoin-verkkoa huolletaan parhaillaan. Sinua neuvotaan olemaan lähettämättä tai vastaanottamatta kolikoita kunnes huolto on ohi. &lt;u&gt;Lisää tietoa.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">louhittu</string>\n  <string name=\"wallet_transactions_fragment_internal\">sisäinen</string>\n  <string name=\"wallet_transactions_options_filter\">Suodata</string>\n  <string name=\"wallet_transactions_options_filter_all\">Kaikki maksut</string>\n  <string name=\"wallet_transactions_options_filter_received\">Vastaanotetut maksut</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Lähetetyt maksut</string>\n  <string name=\"wallet_options_request_legacy\">Pyydä vanhanaikaiseen osoitteeseen</string>\n  <string name=\"wallet_options_safety_menu\">Turvallisuus</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Aseta PIN-koodi maksamista varten</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Vaihda maksamiseen käytettävä PIN-koodi</string>\n  <string name=\"wallet_options_safety\">Turvallisuustiedot</string>\n  <string name=\"wallet_options_technical_notes_title\">Tekniset tiedot</string>\n  <string name=\"wallet_options_donate\">Anna tippiä tai lahjoita</string>\n  <string name=\"wallet_donate_address_label\">Lahjoitus Bitcoin Walletille</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Turvallisuusvaroitus</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Laitteesi Bluetooth-komponentti on haavoittuvainen. Tällä laitteella olevat Bitcoinit ovat uhan alla riippumatta ohjelmasta jossa säilytät niitä. Suosittelemme, että sammutat Bluetoothin välittömästi ja tarkista laitevalmistajaltasi kanssa että Android OS:n päivitys on tasolla \\'%s\\' tai myöhempi.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Sisäinen tallennustila on vähissä!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet käyttää sisäistä tallennustilaa muistaakseen varainsiirrot ja lohkot. Jos se ei saa tarpeeksi tallennustilaa, se lakkaa toimimasta ja Bitcoinisi ovat silloin vaarassa!\\n\\nHaluatko avata ohjelmien hallinan poistaaksesi tarpeettomia ohjelmia?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Hallitse sovelluksia</string>\n  <string name=\"wallet_timeskew_dialog_title\">Tarkista päivämäärän &amp; ajan asetukset</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Laitteesi aika on jäljessä %d minuuttia. Et ehkä voi lähettää tai vastaanottaa Bitcoineja tämän ongelman takia.\\n\\nSinun tulisi tarkistaa ja tarvittaessa oikaista päivämäärän, ajan ja aikavyöhykkeen asetukset.</string>\n  <string name=\"wallet_version_dialog_title\">Uusi versio on saatavilla!</string>\n  <string name=\"wallet_version_dialog_msg\">Tämä versio korjaa tärkeitä ohjelmistovirheitä. Katso muutosloki lisätietoja varten osoitteessa %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Jos et näe päivitystä, se ehkä tarkoittaa että laitteesi Androidin versio ei ole enää tuettu.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Lataa</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android-järjestelmä ei ole ajan tasalla</string>\n  <string name=\"wallet_old_sdk_dialog_message\">On mahdollisuus että Bitcoin Walletin seuraava versio ei enää tue laitettasi. Joissakin tapauksissa kolikoiden käyttäö voi hankaloitua tässä laitteessa.\\n\\nMikäli et tiedä mitä teet, on suositeltavaa siirtää kolikkosi muualle pian.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Ongelma asetusten avaamisessa</string>\n  <string name=\"send_coins_activity_title\">Lähetä Bitcoineja</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Noudetaan allekirjoitus osoitteesta %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Maksupyynnön noutaminen epäonnistui</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Maksunsaaja (%1$s) käyttää yhteensopimatonta maksuprotokollaa (syy: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Väärä allekirjoitus!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">vahvistanut: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">tuntematon</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Vastaanottaja</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">kirjoita osoite tai nimi</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Epäkelpo Bitcoin-osoite!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Olet aikeissa maksaa itsellesi!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">monimutkainen\\nosoite</string>\n  <string name=\"send_coins_fragment_pending\">(%s odottaa vahvistusta)</string>\n  <string name=\"send_coins_fragment_amount_label\">Maksettava määrä</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Ekonominen rahansiirtokulu %s suoritetaan. Tärkeää: Käytä \\'economic\\'-tilaa vain, jos et välitä vahvistusajasta.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Verkon rahansiirtokulu %s suoritetaan.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Priorieettikulu %s maksetaan. Mikäli välität pienistä siirtokuluista, käytä \\'prioriteetti\\'-tilaa vain, mikäli tarvitset vahvistuksen mahdollisimman pian.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Määrä lähettämistä varten on liian pieni.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Käytettäviä kolikoita ei ole tarpeeksi. Sinulta puuttuu %s. Tämä voi myös johtua verkon rahansiirtokuulusta.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Pieniä maksuja lompakossasi ei yhteenlasketa lähetyskelpoiseen arvoon.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Rahansiirrot eivät ole tällä hetkellä mahdollisia koska uudelleenlataus on käynnissä.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Lähetä maksu suoraan saajalle.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Maksu lähetettiin suoraan onnistuneesti.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Suoran yhteyden maksu hylättiin.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Suora maksaminen epäonnistui</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Maksusi tullaan julkaisemaan silti P2P-verkkoon.</string>\n  <string name=\"send_coins_fragment_button_send\">Lähetä</string>\n  <string name=\"send_coins_fragment_button_back\">Takaisin</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Huomattava verkon siirtokulu</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Tämän maksun verkon siirtokulu (%1$s) in suhteessa suuri määrään nähden (%2$s). Haluatko lähettää siitä huolimatta?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Käytettäviä varoja ei ole tarpeeksi</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Sinulta puuttuu %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Haluatko maksaa kaikilla varoillasi?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Lompakon tyhjennys epäonnistui</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Puretaan salausta…</string>\n  <string name=\"send_coins_preparation_msg\">Allekirjoitetaan…</string>\n  <string name=\"send_coins_sending_msg\">Lähetetään…</string>\n  <string name=\"send_coins_sent_msg\">Lähetetty!</string>\n  <string name=\"send_coins_failed_msg\">Epäonnistui!</string>\n  <string name=\"send_coins_error_msg\">Ongelma lähetettäessä kolikoita!</string>\n  <string name=\"send_coins_options_fee_category\">Maksukulu</string>\n  <string name=\"send_coins_options_fee_category_economic\">Taloudellinen</string>\n  <string name=\"send_coins_options_fee_category_normal\">Tavallinen</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioriteetti</string>\n  <string name=\"send_coins_options_empty\">Tyhjennä lompakko</string>\n  <string name=\"raise_fee_dialog_title\">Korota verkon rahansiirtokulua</string>\n  <string name=\"raise_fee_dialog_message\">Haluatko korottaa tämän rahansiirron kulua määrällä %s? Se saa siirron vahvistumaan nopeammin.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Määritetään verkon siirtokulua…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Tämän maksun verkon siirtokulua ei voida korottaa.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Puretaan salausta…</string>\n  <string name=\"raise_fee_dialog_state_done\">Valmis.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Korota</string>\n  <string name=\"sweep_wallet_activity_title\">Pyyhkäise paperinen lompakko</string>\n  <string name=\"sweep_wallet_fragment_intro\">Olet pyykäisemässä paperista lompakkoa tai kuponkia. Tämä siirtää kaikki varat paperisesta lompakosta omaan lompakkoosi tässä laitteessa. Kun rahansiirto on vahvistettu, paperinen versio on mitätön eikä sitä pidä käyttää uudelleen turvallisuussyistä.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Paperisia lompakoita käytetään yleensä kylmää varastoa varten. Jotkut automaatit tulostavat suoraan paperille eivätkä lähetä varoja suoraan mobiililaitteeseesi. Ihmiset joskus käyttävät esiladattuja paperilompakoita jaeltavaksi (ei suositeltu).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Aloita skannaamalla yksityisavain paperisesta lompakosta. Käytä kameran laukaisinta.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Tämä yksityinen avain on salasanasuojattu.</string>\n  <string name=\"sweep_wallet_fragment_password\">salasana</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">väärä salasana!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Pyyhkäistävä saldo</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Pura salaus</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Pyyhkäise</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Puretaan salausta…\\nKuluu enintään 2 minuuttia.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Ladataan saldoa…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Lompakon saldon lataaminen epäonnistui</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Sinulla on huono yhteys Electrum-verkkoon.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Paperinen lompakko on tyhjä.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Varoja ei ole tarpeeksi</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Lompakossa ei ole tarpeeksi varoja pyyhkäisyä varten.</string>\n  <string name=\"sweep_wallet_options_reload\">Uudelleenlataa saldo</string>\n  <string name=\"maintenance_dialog_title\">Huoltoa suositellaan</string>\n  <string name=\"maintenance_dialog_message\">Vastaanotit %1$s turvattomiin osoitteisiin. Haluatko siirtää nämä kolikot turvallisiin osoitteisiin? Pieni verkon kulu %2$s maksetaan.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Puretaan salausta…</string>\n  <string name=\"maintenance_dialog_state_done\">Valmis.</string>\n  <string name=\"maintenance_dialog_button_move\">Siirrä</string>\n  <string name=\"request_coins_activity_title\">Vastaanota Bitcoineja</string>\n  <string name=\"request_coins_fragment_amount_label\">Pyydettävä määrä (valinnainen)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Hyväksy maksu Bluetoothin välityksellä luotettavamman siirron takaamiseksi</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Anna lähettäjän skannata tämä koodi.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Tai yhdistä NFC-laitteeseen.</string>\n  <string name=\"request_coins_clipboard_msg\">Bitcoin-pyyntö kopioitu leikepöydälle</string>\n  <string name=\"request_coins_share_dialog_title\">Jaa pyyntö Bitcoineille…</string>\n  <string name=\"request_coins_no_local_app_msg\">Toista Bitcoin-sovellusta ei löytynyt</string>\n  <string name=\"request_coins_options_local_app_title\">Pyyntö paikalliselta sovellukselta</string>\n  <string name=\"address_book_activity_title\">Osoitekirja</string>\n  <string name=\"address_book_list_receiving_title\">Oma osoitteesi</string>\n  <string name=\"address_book_list_receiving_random\">Vanhat osoitteet</string>\n  <string name=\"address_book_list_sending_title\">Vastaanottajien osoitteet</string>\n  <string name=\"address_book_empty_text\">Osoitekirja on tyhjä</string>\n  <string name=\"address_book_context_send_title\">Lähetä Bitcoineja osoitteeseen</string>\n  <string name=\"address_book_context_edit_title\">Muokkaa osoitetta</string>\n  <string name=\"address_book_context_remove_title\">Poista osoite</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopioi leikepöydälle</string>\n  <string name=\"address_book_options_scan_title\">Skannaa osoite</string>\n  <string name=\"address_book_options_scan_invalid\">Skannattua tietoa ei tunnisteta</string>\n  <string name=\"address_book_options_scan_own_address\">Skannattu osoite on oma osoitteesi.</string>\n  <string name=\"address_book_row_message_compromised_key\">Tämä osoite on saatettu murtaa. Sinun ei tulisi enää käyttää sitä varojen vastaanottoon.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Lisää lähetysosoite</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Muokkaa lähetysosoitteen nimikettä</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Anna nimike osoitteellesi</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Muokkaa osoitteesi nimikettä</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Osoite</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Nimike</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Tallenna</string>\n  <string name=\"transaction_row_fee\">Verkon rahansiirtokulu</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Tätä maksua ei ole lähetetty vielä.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Tämä maksu on välitetty lompakkoosi.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Maksusi onnistui. Se on saavuttanut vastaanottajan.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Tämä maksu on epäonnistunut.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Maksusi epäonnistui.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Tämä rahansiirto vahvistaa lompakkoasi varkauden varalta. &lt;u&gt;Lisää tietoa.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Tämä rahansiirto korottaa verkon rahansiirtokulua edeltävälle maksulle.</string>\n  <string name=\"transaction_row_message_received_direct\">Tämä maksu vastaanotettiin suoraan. On vaara, että sitä ei voida koskaan käyttää.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Tämän rahansiirron vahvistamista on viivästetty, todennäköisimmin Bitcoin-verkon ylikuormituksesta johtuen.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Tämän maksun pitäisi muuttua käytettäväksi muutaman minuutin kuluttua.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Bitcoin-verkon huollon vuoksi tähän rahansiirtoon ei tule luottaa, ennenkuin se on täysin vahvistettu.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Tässä rahansiirrossa on suurempi riski että lähettäjä voi perua sen! Mikäli mahdollista, odota vahvistusta.</string>\n  <string name=\"transaction_row_message_received_dead\">Lähettäjä on kumonnut tämän maksun.</string>\n  <string name=\"transaction_row_message_received_dust\">Näin pientä määrää ei voida ehkä koskaan käyttää taloudelliselta näkökannalta.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Tämä maksu maksaa moniin lompakoihin omasi lisäksi, joka hidastaa ohjelmaa ajan myötä. Jos pystyt, yritä vastaanottaa maksuja jotka maksavat vain sinulle.</string>\n  <string name=\"transaction_row_message_received_rbf\">Tätä maksua viivästytettiin koska lähettäjä käytti turvatonta rahansiirron muotoa.</string>\n  <string name=\"network_monitor_activity_title\">Verkkoyhteyksien näyttö</string>\n  <string name=\"network_monitor_peer_list_title\">Vertaisia</string>\n  <string name=\"network_monitor_block_list_title\">Lohkoja</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Louhinnan vaikeustason mukautuminen</string>\n  <string name=\"block_row_mining_reward_adjustment\">Lohkopalkkion puolittuminen</string>\n  <string name=\"block_row_now\">tällä hetkellä</string>\n  <string name=\"peer_list_fragment_empty\">Ei yhteyksiä vertaisiin</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Palauta lompakko</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Olet aikeissa korvata nykyisen lompakkosi. Kaikki varat tämänhetkisessä lompakossa katoaa ellet ota siitä erillistä varmuuskopiota.</string>\n  <string name=\"import_keys_dialog_warning\">Tärkeää: Ethän lataa yksityisavaimia kahdesta eri lähteestä! Muut voivat saada hallinan varoistasi.</string>\n  <string name=\"import_keys_dialog_button_import\">Palauta</string>\n  <string name=\"restore_wallet_dialog_success\">Lompakko palautettiin.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Lompakko palautettiin onnistuneesti. Tilin saldo määritetään seuraavaksi. Tämä toiminto vie hetken.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Varoitus: Lompakosta maksaminen on suojattu PIN-koodilla. Pidä huoli että muistat vielä sen ennen kuin teet tähän lompakkoon siirtoja.</string>\n  <string name=\"import_keys_dialog_failure\">Lompakkoa ei voitu palauttaa:\\n\\n%s\\n\\nVäärä salasana?</string>\n  <string name=\"export_keys_dialog_title\">Varmuuskopioi lompakko</string>\n  <string name=\"backup_wallet_dialog_message\">Varmuuskopiosi salataan valitulla salasanalla ja kirjoitetaan erilliselle tallennusvälineelle.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Lompakkosi käyttö on suojattu PIN-koodilla. Varmista, että muistat PIN-koodisi varmuuskopion salasanan ohella!</string>\n  <string name=\"export_keys_dialog_button_export\">Varmuuskopioi</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Lompakkosi on varmuuskopioitu <tt>%s</tt></p><p><b>Jos ainoan olemassaolevan varmuuskopiosi paikka on laitteesi, sinulla on riski menettää molemmat samaan aikaan!</b></p><p>Joka tapauksessa, varmista että muistat varmuuskopiosi salasanan.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Lompakkoasi ei voitu varmuuskopioida:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">salasana</string>\n  <string name=\"backup_wallet_dialog_password_again\">uudelleen</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">ei täsmää!</string>\n  <string name=\"import_export_keys_dialog_show\">Näytä salasana</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Virhe</string>\n  <string name=\"import_keys_intent_filter_action\">Palauta lompakko</string>\n  <string name=\"encrypt_keys_dialog_title\">Maksamisen PIN-koodi</string>\n  <string name=\"encrypt_keys_dialog_message\">Lompakon varojen käyttö suojataan valitulla PIN-koodilla.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Tärkeää: Sinun on muistettava PIN-koodisi! Älä käytä tavanomaisia numeroyhdistelmiä (kuten syntymäpäiviä).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Vanha PIN-koodi</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">heikko</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">kohtalainen</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">hyvä</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">vahva</string>\n  <string name=\"encrypt_keys_dialog_show\">näytä PIN-koodi</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Salataan…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Puretaan salausta…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Valmis.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Pahoittelut</string>\n  <string name=\"scan_camera_problem_dialog_message\">Kamerassa on ongelma. Sinun on mahdollisesti uudelleenkäynnistettävä laitteesi.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Kameran oikeudet</string>\n  <string name=\"scan_camera_permission_dialog_message\">Jotta voit skannata QR-koodeja, sinun on annettava lupa kameran käyttöön.</string>\n  <string name=\"input_parser_io_error\">Dataa ei voida lukea:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Syötettä ei tunnisteta:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Kelvoton Bitcoin-URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Saatiin kelvoton Bitcoin-osoite!\\n(Sekoitatko mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Maksupyyntöä ei voida vahvistaa:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Kelvoton maksupyyntö:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Kelvoton rahansiirto:\\n%s</string>\n  <string name=\"preferences_activity_title\">Asetukset</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostiikka</string>\n  <string name=\"preferences_category_labs\">Laboratoriot</string>\n  <string name=\"preferences_precision_title\">Nimellisarvo ja tarkkuus</string>\n  <string name=\"preferences_precision_summary\">Yksiköt, joissa määrät näytetään. Tämä ei vaikuta laskentoihin.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 desimaalia</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 desimaalia</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 desimaalia</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 desimaalia</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, ei desimaalia</string>\n  <string name=\"preferences_own_name_title\">Oma nimi</string>\n  <string name=\"preferences_own_name_summary\">Nimeä itsesi lisätäksesi nimesi maksupyyntöihin. Yritä pitää se lyhyenä.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Sulje kolikoiden lähetysikkuna automaattisesti</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Kun maksu on suoritettu, lähetysikkuna sulkeutuu automaattisesti.</string>\n  <string name=\"preferences_trusted_peer_title\">Luotettu vertainen</string>\n  <string name=\"preferences_trusted_peer_summary\">Yhdistettävän vertaisen IP-osoite tai isäntänimi.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Selvitetään…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Tuntematon isäntänimi!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Ohita tavanomainen vertaisten haku</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Estää yhdistämisen kaikkiin muihin paitsi luotettuihin vertaisiin.</string>\n  <string name=\"preferences_block_explorer_title\">Lohkoketjuselain</string>\n  <string name=\"preferences_block_explorer_summary\">Erillinen lohkoketjuselain jota käytetään rahansiirtojen, osoitteiden ja lohkojen selaamiseen.</string>\n  <string name=\"preferences_data_usage_title\">Tietojen käyttö</string>\n  <string name=\"preferences_data_usage_summary\">Näytä asetukset rajoittaaksesi datan käyttöä mobiiliverkoissa.</string>\n  <string name=\"preferences_notifications_title\">Ilmoitukset</string>\n  <string name=\"preferences_notifications_summary\">Näytä valinnat ottaaksesi käyttöön tiettyjä ilmoituksia.</string>\n  <string name=\"preferences_remind_balance_title\">Saldomuistutin</string>\n  <string name=\"preferences_remind_balance_summary\">Kun käyttöä ei ole muutamaan viikkoon, sovellus ilmoittaa mikäli lompakossa on vielä kolikoita jäljellä.</string>\n  <string name=\"preferences_show_disclaimer_title\">Näytä vastuuvapauslauseke</string>\n  <string name=\"preferences_show_disclaimer_summary\">Oletko varmasti lukenut turvallisuusohjeet? Varmuuskopioitko jo lompakkosi turvalliseen paikkaan?</string>\n  <string name=\"preferences_report_issue_title\">Ilmoita ongelmasta</string>\n  <string name=\"preferences_initiate_reset_title\">Nollaa lohkoketju</string>\n  <string name=\"preferences_initiate_reset_summary\">Nollaa lohkoketju, rahansiirrot ja lompakon saldo. Uudelleenlataaminen vie hetken, joten tee tämä vain jos tiedät miksi.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Haluatko nollata ja uudelleenladata lohkoketjun?\\n\\nTämä piilottaa väliaikaisesti lompakon saldosi ja poistaa rahansiirrot. Molemmat palautuvat kun lohkoketjun synkronointi edistyy. Varmista, että sinulla on luotettava internet-yhteys.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Nollaa</string>\n  <string name=\"preferences_extended_public_key_title\">Näytä extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Näytä lompakkosi laajennettu julkinen avain, jotta se voidaan tuoda toisiin sovelluksiin ja palveluihin. Ole varovainen: tekemällä näin, luovutat rahallisen yksityisyytesi tälle sovellukselle.</string>\n  <string name=\"bitmap_fragment_share\">Jaa…</string>\n  <string name=\"extended_public_key_fragment_title\">Laajennettu Public Key</string>\n  <string name=\"extended_public_key_fragment_share\">Jaa extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Ilmoita ongelma</string>\n  <string name=\"report_issue_dialog_title_crash\">Havaittiin viimekertainen kaaatuminen</string>\n  <string name=\"report_issue_dialog_title_transaction\">Raportoi ongelma valitun rahansiirron kohdalla</string>\n  <string name=\"report_issue_dialog_message_issue\">Määritäthän ongelmasi mahdollisimman tarkasti jotta se voidaan uudelleentoistaa. Käytä Englannin kieltä, mikäli mahdollista.</string>\n  <string name=\"report_issue_dialog_message_crash\">Haluaisitko lähettää kaatumisilmoituksen, auttaaksesi tämän ongelman korjaamista?</string>\n  <string name=\"report_issue_dialog_description\">Ongelman kuvaus</string>\n  <string name=\"report_issue_dialog_report\">Ilmoita</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Liitä laitteistotiedot</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Liitä sovelluksen loki</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Liitä lompakon käyttömuistin tiedot</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Lähetä raportti käyttäen…</string>\n  <string name=\"about_title\">Tietoja</string>\n  <string name=\"about_version_title\">Versio</string>\n  <string name=\"about_version_apk_hash_title\">APK:n SHA256-tarkiste</string>\n  <string name=\"about_copyright_title\">Tekijänoikeus</string>\n  <string name=\"about_license_title\">Lisenssi</string>\n  <string name=\"about_source_title\">Lähdekoodi</string>\n  <string name=\"about_category_credits\">Tämä sovellus käyttää…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, implementaatio Bitcoin-protokollasta</string>\n  <string name=\"about_credits_zxing_title\">ZXing, QR-koodien prosessointikirjasto</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, kryptografiakirjasto</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, HTTP-asiakaskirjasto</string>\n  <string name=\"about_credits_moshi_title\">Moshi, JSON-kirjasto</string>\n  <string name=\"about_credits_guava_title\">Guava, hyödyllisten avustajien kokoelma</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, lokiinkirjaava runkorakenne</string>\n  <string name=\"about_market_app_title\">%s sivu</string>\n  <string name=\"about_market_app_summary\">Arvostele tai arvioi sovellus</string>\n  <string name=\"about_faq_title\">UKK</string>\n  <string name=\"about_faq_summary\">Usein kysyttyjä kysymyksiä sovelluksesta</string>\n  <string name=\"notification_coins_received_msg\">Vastaanotettiin %s</string>\n  <string name=\"notification_connectivity_syncing_message\">Synkronoidaan verkon kanssa…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Synkronoidaan luotetun vertaisesi kanssa…</string>\n  <string name=\"notification_peers_connected_msg\">%d vertaiseen yhdistetty</string>\n  <string name=\"notification_peer_connected\">yhdistetty</string>\n  <string name=\"notification_peer_not_connected\">ei yhdistetty</string>\n  <string name=\"notification_inactivity_title\">Sinulla on vielä Bitcoineja tässä laitteessa!</string>\n  <string name=\"notification_inactivity_message\">Muistathan että saldosi %s katoaa mikäli poistat Bitcoin Wallet-sovelluksen ilman, että lähetät sen ensin pois.</string>\n  <string name=\"notification_inactivity_message_donate\">Jos et välitä kolikoistasi, voit myös lahjoittaa ne Bitcoin Wallet-projektille.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Muistuta jälleen</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Älä muistuta</string>\n  <string name=\"notification_channel_received_name\">Vastaanotetut maksut</string>\n  <string name=\"notification_channel_ongoing_name\">Aktiivisuus taustalla</string>\n  <string name=\"notification_channel_important_name\">Tärkeät varoitukset</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin-saldo</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Hylkää</string>\n  <string name=\"button_cancel\">Peruuta</string>\n  <string name=\"button_retry\">Yritä uudelleen</string>\n  <string name=\"button_help\">Ohje</string>\n  <string name=\"button_add\">Lisää</string>\n  <string name=\"button_delete\">Poista</string>\n  <string name=\"button_set\">Aseta</string>\n  <string name=\"button_remove\">Poista</string>\n  <string name=\"button_edit\">Muokkaa</string>\n  <string name=\"button_copy\">Kopioi</string>\n  <string name=\"button_paste\">Liitä</string>\n  <string name=\"button_share\">Jaa</string>\n  <string name=\"button_set_as_default\">Aseta oletukseksi</string>\n  <string name=\"button_request_coins\">Vastaanota</string>\n  <string name=\"button_send_coins\">Lähetä</string>\n  <string name=\"button_scan\">Skannaa</string>\n  <string name=\"button_settings\">Asetukset</string>\n  <string name=\"action_show_qr\">Näytä QR-koodi</string>\n  <string name=\"action_browse\">Selaa</string>\n  <!--generic strings-->\n  <string name=\"time_today\">tänään</string>\n  <string name=\"address_unlabeled\">(nimeämätön)</string>\n  <string name=\"private_key_password\">PIN-koodi</string>\n  <string name=\"private_key_bad_password\">väärä PIN-koodi!</string>\n  <string name=\"qr_code\">QR-koodi</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O-virhe: %s</string>\n  <string name=\"error_parse\">Jäsennysvirhe: %s</string>\n  <string name=\"error_http\">HTTP-virhe %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetooth-virhe: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-fi/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tNäytön vasemmassa yläkulmassa on näkyvillä saldosi Bitcoineina ja yhtenä valittuna kansainvälisenä valuuttana.\n\t\t\tNapauta mennäksesi kansainvälisten valuuttojen listaan, ja napauta yhtä valuutoista valitaksesi sen oletukseksi.\n\t\t</p>\n\t\t<p>\n\t\t\tQR-koodi oikealla yläreunassa sisältää tämänhetkisen bitcoin-osoitteesi ja sitä voidaan käyttää maksajan skannattavaksi.\n\t\t\tNapauta QR-koodia nähdäksesi siitä suuremman version.\n\t\t</p>\n\t\t<p>\n\t\t\tNäytön alaosa sisältää listan rahansiirroistasi.\n\t\t\tSe on aluksi tyhjä ja alkaa täyttyä, kun lähetät ja vastaanotat maksuja.\n\t\t\tVastaanotetut rahansiirrot ovat merkitty vihreällä ja lähetetyt punaisella värillä.\n\t\t</p>\n\t\t<p>\n\t\t\tVoit lähettää tai pyytää kolikoita napauttamalla painikkeita toimintapalkissa.\n\t\t\tAsetusvalikossa on enemmän valintoja saatavilla.\n\t\t</p>\n\t]]></string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tKäyttämällä tätä ikkunaa voit pyytää kolikoita maksajalta.\n\t\t\tMaksajalla tulisi olla jo Bitcoin-lompakko asennettuna.\n\t\t</p>\n\t\t<p>\n\t\t\tAluksi voit syöttää määrän Bitcoineina jonka haluat pyytää.\n\t\t</p>\n\t\t<p>\n\t\t\tSeuraavaksi voit joko skannauttaa QR-koodisi maksajalla,\n\t\t\ttai voit lähettää pyyntösi etäällä olevalle henkilölle jakamispainikkeen avulla toimintopalkissa.\n\t\t\tMikäli molemmissa laitteissa on NFC käytössä, voit myös koskettaa puhelimellasi toista puhelinta.\n\t\t</p>\n\t\t<p>\n\t\t\tPyyntökäytännön ollessa mikä tahansa, maksajalle esitetään ikkuna kolikoiden lähettämistä varten, jossa kaikki kentät ovat esitäytetyt.\n\t\t\tMikäli maksaja suostuu tähän, hän voi suorittaa maksun helposti.\n\t\t</p>\n\t]]></string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tOlet käynnistänyt kolikoiden lähetysprosessin.\n\t\t</p>\n\t\t<p>\n\t\t\tSyötä aluksi Bitcoin-osoite, johon maksetaan.\n\t\t\tOsoite täyttyy automaattisesti jo tunnetuista osoitteista osoitekirjassasi.\n\t\t\tVoit myös skannata vastaanottajan esittämän QR-koodin painamalla kameranäppäintä.\n\t\t</p>\n\t\t<p>\n\t\t\tSeuraavaksi syötä määrä, jonka haluat maksaa.\n\t\t</p>\n\t\t<p>\n\t\t\tViimeiseksi syötä maksamiseen tarkoitettu PIN-koodi, mikäli se on asetettu aiemmin.\n\t\t</p>\n\t\t<p>\n\t\t\tVoit luoda maksun ollessasi offline-tilassa.\n\t\t\tSe lähtetään seuraavassa Bitcoin-lompakon käynnistyksen yhteydessä.\n\t\t\tJos haluat maksun käsiteltäväksi mahdollisimman nopeasti, varmista, että olet hyvässä yhteydessä (esim. WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tHuomioi:\n\t\t\tMaksut ovat peruuttamattomia!\n\t\t\tTarkista aina vastaanotto-osoite!.\n\t\t</p>\n\t]]></string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Tärkeitä turvallisuusohjeita:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoinit on tallennettu laitteeseesi.\n\t\t\t<b>Jos kadotat sen, menetät Bitcoinisi.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tTämä tarkoittaa, että sinun on <b>varmuuskopioitava lompakkosi</b>!\n\t\t\tKäytä ennemmin sovelluksen omaa varmuuskopiointia tätä varten kuin kolmannen osapuolen ohjelmistoja.\n\t\t\tPidä varmuuskopioisi turvassa ja muista salasanasi.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Ennen sovelluksen poistoa</b> (tai sovellustietojen/laitteen nollausta), <b>siirrä Bitcoinisi muuhun lompakkoon</b>.\n\t\t\tJäljelle jääneet Bitcoinit katoavat.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Maksut ovat peruuttamattomia</b>.\n\t\t\tJos lähetät Bitcoinisi tyhjyyteen, ei ole juuri mitään mahdollisuutta saada niitä takaisin.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Pidä laitteesi turvassa!</b>\n\t\t\tÄlä anna root-oikeuksia laitetteellesi.\n\t\t\tAsenna vain sovelluksia joihin luotat täysin.\n\t\t\tHaitalliset ohjelmat voivat yrittää varastaa lompakkosi.\n\t\t</p>\n\t\t<p>\n\t\t\tPidä riskit pieninä!\n\t\t\t<b>Säilytä vain kohtuullista määrää</b> päivän käyttöä varten.\n\t\t</p>\n\t]]></string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Teknisiä tietoja:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoin-lompakko on SPV/kevytlompakko, joka seuraa suurinta ketjua enimmällä vahvistustyöllä (joskus myös kutsutaan nimellä \\\"pisin ketju\\\", \\\"voittava ketju\\\" tai \\\"Bitcoin block chain\\\").\n\t\t\tVastaanotat ainoastaan saapuvia rahansiirtoja ja sinulla on mahdollisuus maksaa kyseisessä ketjussa.\n\t\t\tMitään takuuta ei voida antaa Bitcoineista pienemmissä ketjuissa, jotka ovat ketjuja vähemmällä vahvistustyöllä.\n\t\t</p>\n\t\t<p>\n\t\t\tAiemmin pienimmät ketjut ovat aina muuttuneet turhiksi erittäin pian.\n\t\t\tJos haluat seurata pienempää ketjua kaikesta huolimatta, sinua neuvotaan käyttämään \\\"luotettu vertainen\\\"-ominaisuutta yhdistääksesi ainoastaan bitcoind-implementaatioon joka pakottaa halutun ketjun.\n\t\t\tJos verkko lompakkosi ja luotetun vertaisen välillä ei ole luotettava, käytä VPN:aa varmentaaksesi yhteyden.\n\t\t</p>\n\t]]></string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-fr/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Votre porte-monnaie a été réinitialisé !\\nLa récupération prendra un certain temps.</string>\n  <string name=\"toast_start_external_document_failed\">Aucun navigateur Web n’est installé pour ouvrir le document externe.</string>\n  <string name=\"toast_start_storage_provider_selector_failed\">Aucun fournisseur approprié de stockage nuagique n’est installé.\\nVous devez en installer un tel que « Nextcloud » ou « Disque Google Drive ».</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Utilisez à vos propres risques. Lire les &lt;u&gt;notes de sécurité&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Vous devez &lt;u&gt;sauvegarder votre porte-monnaie&lt;/u&gt; !</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d heures en retard</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d jours en retard</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d semaines en retard</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d mois en retard</string>\n  <string name=\"blockchain_state_progress_downloading\">Synchronisation avec le réseau</string>\n  <string name=\"blockchain_state_progress_stalled\">Synchronisation interrompue</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Problème de synchronisation : l’espace de stockage est faible</string>\n  <string name=\"blockchain_state_progress_problem_network\">Problème de synchronisation : aucune connexion au réseau</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">L’adresse Bitcoin a été copiée dans le presse-papiers</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Par souci de confidentialité, votre adresse changera après avoir reçu un paiement.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Votre appareil est vieux et n’est pas sûr. Veuillez ne l’utiliser que pour de petits montants.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Ce montant est plutôt élevé pour être gardé dans votre poche. Veuillez en déplacer une partie en lieu sûr.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Le solde n’est pas disponible durant la relecture.</string>\n  <string name=\"exchange_rates_activity_title\">Taux de change</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Taux de change introuvable.</string>\n  <string name=\"exchange_rates_fragment_default\">(par défaut)</string>\n  <string name=\"exchange_rates_fragment_rate\">taux</string>\n  <string name=\"exchange_rates_fragment_balance\">solde</string>\n  <string name=\"exchange_rates_fragment_source\">Prix de %s</string>\n  <string name=\"exchange_rates_options_search\">Chercher le taux de change</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Aucun bitcoin reçu jusqu’à présent.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Aucun bitcoin envoyé jusqu’à présent.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Comment obtenir des bitcoins ?\\nÉchangez-en contre de l’argent traditionnel,\\nvendez des biens ou des services ou\\ngagnez-en en travaillant.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Veuillez sauvegarder votre porte-monnaie\\navant de recevoir des bitcoins !</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Félicitations, vous avez reçu votre premier paiement ! Avez-vous déjà &lt;u&gt;sauvegardé votre porte-monnaie&lt;/u&gt; afin de vous protéger contre une perte ?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Astuce : Pour augmenter la sécurité de votre porte-monnaie, vous pouvez &lt;u&gt;chiffrer votre appareil&lt;/u&gt;. Cela protège aussi les données d’autres applis.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Le réseau Bitcoin fait l’objet de maintenance. Il vous est conseillé de ne pas envoyer ni de recevoir de pièces tant que la maintenance ne sera pas terminée. &lt;u&gt;Plus de renseignements.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">miné</string>\n  <string name=\"wallet_transactions_fragment_internal\">Interne</string>\n  <string name=\"wallet_transactions_options_filter\">Filtre</string>\n  <string name=\"wallet_transactions_options_filter_all\">Tous les paiements</string>\n  <string name=\"wallet_transactions_options_filter_received\">Paiements reçus</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Paiements envoyés</string>\n  <string name=\"wallet_options_request_legacy\">Demander à une adresse héritée</string>\n  <string name=\"wallet_options_safety_menu\">Sécurité</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Définir le NIP de dépense</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Changer le NIP de dépense</string>\n  <string name=\"wallet_options_safety\">Notes de sécurité</string>\n  <string name=\"wallet_options_technical_notes_title\">Notes techniques</string>\n  <string name=\"wallet_options_donate\">Faire un don</string>\n  <string name=\"wallet_donate_address_label\">Don pour Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Alerte de sécurité</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Le composant Bluetooth de votre appareil est vulnérable. Vos bitcoins sont exposés à des risques sur cet appareil, quelle que soit l’appli que vous utilisez pour les stocker !\\n\\nNous vous suggérons de désactiver Bluetooth immédiatement et de vérifier auprès du fabricant de votre appareil la disponibilité d’une mise à jour pour le SE Android qui met en œuvre le correctif de sécurité niveau \\'%s\\' ou ultérieur.</string>\n  <string name=\"wallet_low_storage_dialog_title\">L’appareil manque d’espace de stockage interne !</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet utilise la mémoire interne pour se rappeler des transactions et des blocs. S’il manque d’espace, il cessera de fonctionner et vos bitcoins seront à risque !\\n\\nVoulez-vous ouvrir le gestionnaire d’applications pour désinstaller des applis inutiles ?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Gérer les applis</string>\n  <string name=\"wallet_timeskew_dialog_title\">Vérifier les paramètres de date et heure</string>\n  <string name=\"wallet_timeskew_dialog_msg\">L’heure de votre appareil est décalée de %d minutes. Vous ne pouvez probablement pas envoyer ou recevoir de bitcoins à cause de ce problème.\\n\\nVous devriez vérifier vos paramètres de date, heure et de fuseau horaire et si nécessaire les corriger.</string>\n  <string name=\"wallet_version_dialog_title\">Une nouvelle version est proposée !</string>\n  <string name=\"wallet_version_dialog_msg\">Cette version corrige des bogues importants. Pour plus de détails, veuillez consulter la liste des modifications sur %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Si vous ne voyez pas de mise à jour, cela signifie probablement que votre version d’Android n’est plus prise en charge.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Télécharger</string>\n  <string name=\"wallet_old_sdk_dialog_title\">La version d’Android est obsolète</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Il est probable qu’une prochaine version de Bitcoin Wallet ne prendra plus en charge votre appareil. Dans certains cas, il peut être difficile de dépenser des bitcoins avec cet appareil.\\n\\nÀ moins de savoir ce que vous faites, il est recommandé de bientôt déplacer vos bitcoins.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problème d’ouverture des paramètres</string>\n  <string name=\"send_coins_activity_title\">Envoyer des bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Récupération de la signature de %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Échec de récupération de la demande de paiement</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Le bénéficiaire (%1$s) utilise un protocole de paiement incompatible (raison : %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">La signature est erronée !</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">vérifié par : %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">inconnu</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Payer à</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">saisir l’adresse ou le nom</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">L’adresse Bitcoin est invalide !</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Vous êtes sur le point d’envoyer à vous-même !</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">adresse\\ncomplexe</string>\n  <string name=\"send_coins_fragment_pending\">(%s en attente de confirmation)</string>\n  <string name=\"send_coins_fragment_amount_label\">Montant à payer</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Des frais moindres de %s seront acquittés. Important : n’utiliser Économique que si le délai de confirmation vous importe peu.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Des frais de réseau de %s seront acquittés.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Des frais de priorité de %s seront acquittés. Si vous préférez des frais moindres, n’utilisez Prioritaire que s’il vous faut la confirmation la plus rapide possible.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Le montant est trop petit pour être envoyé.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Vous n’avez pas assez de pièces disponibles. Il vous manque %s. Cela peut aussi être causé par les frais de réseau.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">La somme des petits paiements dans votre porte-monnaie ne donne pas une valeur pouvant être envoyée.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Les paiements ne sont pas possibles actuellement, car une relecture est en cours.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Envoyer le paiement directement au bénéficiaire.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Votre paiement a été envoyé directement avec succès.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Votre paiement par connexion directe a été rejeté.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Échec du paiement direct</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Votre paiement sera quand même diffusé par le réseau P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Envoyer</string>\n  <string name=\"send_coins_fragment_button_back\">Retour</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Frais de réseau importants</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Les frais de réseau pour ce paiement (%1$s) sont élevés par rapport au montant (%2$s). Souhaitez-vous quand même effectuer l’envoi ?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Pas assez de pièces disponibles</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Il vous manque %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Voulez-vous payer avec tout ce que vous avez ?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Le vidage du porte-monnaie a échoué</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Déchiffrement…</string>\n  <string name=\"send_coins_preparation_msg\">Signature…</string>\n  <string name=\"send_coins_sending_msg\">Envoi…</string>\n  <string name=\"send_coins_sent_msg\">Envoyé !</string>\n  <string name=\"send_coins_failed_msg\">Échec !</string>\n  <string name=\"send_coins_error_msg\">Problème durant l’envoi des pièces !</string>\n  <string name=\"send_coins_options_fee_category\">Frais</string>\n  <string name=\"send_coins_options_fee_category_economic\">Économique</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioritaire</string>\n  <string name=\"send_coins_options_empty\">Vider le porte-monnaie</string>\n  <string name=\"raise_fee_dialog_title\">Augmenter les frais de réseau</string>\n  <string name=\"raise_fee_dialog_message\">Voulez-vous augmenter les frais de réseau de ce paiement de %s ? Cela accélérera la confirmation du paiement.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Détermination des frais de réseau…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Les frais de réseau de ce paiement ne peuvent pas être augmentés.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Déchiffrement…</string>\n  <string name=\"raise_fee_dialog_state_done\">Terminé.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Augmenter</string>\n  <string name=\"sweep_wallet_activity_title\">Balayer un porte-monnaie papier</string>\n  <string name=\"sweep_wallet_fragment_intro\">Vous allez balayer un porte-monnaie papier ou un coupon. Ceci déplacera toutes les pièces de ce papier vers votre porte-monnaie sur cet appareil. Quand la transaction sera confirmée, le papier sera sans valeur et ne devrait pas être réutilisé, pour des raisons de sécurité.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Les porte-monnaie papier sont habituellement utilisés pour le stockage à froid. Certains GAB les impriment sur le reçu papier plutôt que d’envoyer les pièces directement vers votre appareil mobile. Certaines personnes utilisent des porte-monnaie papier préchargés pour passer des valeurs (non recommandé).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Commencez par balayer la clé privée d’un porte-monnaie papier. Utilisez le bouton d’action de l’appareil photo.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">La clé privée est protégée par un mot de passe.</string>\n  <string name=\"sweep_wallet_fragment_password\">mot de passe</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">le mot de passe est erroné !</string>\n  <string name=\"sweep_wallet_fragment_balance\">Solde à balayer</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Déchiffrer</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Balayer</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Déchiffrement…\\nPeut prendre jusqu’à 2 min.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Chargement du solde…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Échec de chargement du solde</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Vous avez une mauvaise connexion vers le réseau Electrum.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Le porte-monnaie papier est vide.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Pas assez de pièces</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Le montant de pièces dans le porte-monnaie est trop petit pour être traité.</string>\n  <string name=\"sweep_wallet_options_reload\">Recharger le solde</string>\n  <string name=\"maintenance_dialog_title\">Une maintenance est recommandée</string>\n  <string name=\"maintenance_dialog_message\">Vous avez reçu %1$s à des adresses non sécurisées. Voulez-vous déplacer ces pièces vers des adresses sécurisées ? Des petits frais de réseau de %2$s seront acquittés.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Déchiffrement…</string>\n  <string name=\"maintenance_dialog_state_done\">Terminé.</string>\n  <string name=\"maintenance_dialog_button_move\">Déplacer</string>\n  <string name=\"request_coins_activity_title\">Demander des bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Montant demandé (facultatif)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Accepter les paiements par Bluetooth pour un traitement plus fiable.</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Faites balayer ce code par l’expéditeur.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Ou touchez un appareil ayant la NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">La demande de bitcoins a été copiée dans le presse-papiers</string>\n  <string name=\"request_coins_share_dialog_title\">Partager la demande de bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">Aucune autre appli Bitcoin n’a été trouvée</string>\n  <string name=\"request_coins_options_local_app_title\">Demander d’une appli locale</string>\n  <string name=\"address_book_activity_title\">Carnet d’adresses</string>\n  <string name=\"address_book_list_receiving_title\">Vos adresses</string>\n  <string name=\"address_book_list_receiving_random\">Anciennes adresses</string>\n  <string name=\"address_book_list_sending_title\">Adresses d’envoi</string>\n  <string name=\"address_book_empty_text\">Le carnet d’adresses est vide</string>\n  <string name=\"address_book_context_send_title\">Envoyer des bitcoins à une adresse</string>\n  <string name=\"address_book_context_edit_title\">Modifier l’adresse</string>\n  <string name=\"address_book_context_remove_title\">Supprimer l’adresse</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Copier dans le presse-papiers</string>\n  <string name=\"address_book_options_scan_title\">Balayer l’adresse</string>\n  <string name=\"address_book_options_scan_invalid\">Les données balayées ne peuvent pas être reconnues</string>\n  <string name=\"address_book_options_scan_own_address\">L’adresse balayée est la vôtre.</string>\n  <string name=\"address_book_row_current_address\">C’est votre adresse actuelle de réception.</string>\n  <string name=\"address_book_row_message_compromised_key\">Cette adresse pourrait être compromise. Vous ne devriez plus l’utiliser pour recevoir des bitcoins.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Ajouter une adresse d’envoi</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Modifier l’étiquette de l’adresse d’envoi</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Ajouter une étiquette à l’adresse</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Modifier l’étiquette de votre étiquette</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adresse</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Étiquette</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Enregistrer</string>\n  <string name=\"transaction_row_fee\">Frais de réseau</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Ce paiement n’a pas encore été transmis.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Ce paiement a été crédité à votre porte-monnaie.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Votre paiement a été effectué avec succès. Il a atteint le bénéficiaire.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Ce paiement a échoué.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Votre paiement a échoué.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Cette transaction renforce votre porte-monnaie contre le vol. &lt;u&gt;Plus d’infos.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Cette transaction augmente les frais de réseau d’un paiement précédent.</string>\n  <string name=\"transaction_row_message_received_direct\">Ce paiement a été reçu directement. Il y a un risque qu’il ne puisse jamais être dépensé.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">La confirmation de ce paiement est retardée, probablement à cause d’une surcharge du réseau Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Ce paiement devrait pouvoir être dépensé dans quelques minutes.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">En raison d’une maintenance du réseau Bitcoin, vous ne devriez pas vous fier à cette transaction tant qu’elle n’aura pas entièrement été confirmée.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Ce paiement présente un risque plus élevé d’être annulé par l’expéditeur ! Si vous le pouvez, attendez la confirmation.</string>\n  <string name=\"transaction_row_message_received_dead\">Ce paiement a été annulé par son expéditeur.</string>\n  <string name=\"transaction_row_message_received_dust\">Ce petit montant ne pourra probablement jamais être dépensé de façon économique.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Ce paiement est distribué à de nombreux porte-monnaie en plus du vôtre, ce qui ralentit l’appli avec le temps. Si vous le pouvez, essayez de recevoir des paiements qui ne soient adressés qu’à vous.</string>\n  <string name=\"transaction_row_message_received_rbf\">Ce paiement a été retardé, car l’expéditeur a utilisé un type de transaction non fiable.</string>\n  <string name=\"network_monitor_activity_title\">Surveillance du réseau</string>\n  <string name=\"network_monitor_peer_list_title\">Pairs</string>\n  <string name=\"network_monitor_block_list_title\">Blocs</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Réglage de la difficulté de minage</string>\n  <string name=\"block_row_mining_reward_adjustment\">Réduction de moitié des récompenses de minage</string>\n  <string name=\"block_row_now\">à l’instant</string>\n  <string name=\"peer_list_fragment_empty\">Aucun pair n’est connecté</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Restaurer le porte-monnaie</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Vous allez remplacer votre porte-monnaie actuel. Toutes les pièces du porte-monnaie actuel seront perdues à moins que vous n’en ayez une sauvegarde séparée.</string>\n  <string name=\"import_keys_dialog_warning\">Important : Ne pas charger de clé privée de sources douteuses ! D’autres utilisateurs peuvent prendre contrôle de vos fonds si vous le faites.</string>\n  <string name=\"import_keys_dialog_button_import\">Restaurer</string>\n  <string name=\"restore_wallet_dialog_success\">Le porte-monnaie a été restauré.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Votre porte-monnaie a été restauré avec succès. Son solde sera maintenant déterminé. Cela prendra du temps.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Avertissement : Votre porte-monnaie est protégé par un NIP de dépense. Assurez-vous de vous en souvenir avant de recevoir des pièces dans ce porte-monnaie.</string>\n  <string name=\"import_keys_dialog_failure\">Impossible de restaurer le porte-monnaie :\\n\\n%s\\n\\nLe mot de passe est-il erroné ?</string>\n  <string name=\"export_keys_dialog_title\">Sauvegarder le porte-monnaie</string>\n  <string name=\"backup_wallet_dialog_message\">Votre sauvegarde sera chiffrée avec le mot de passe choisi et écrit sur la mémoire externe.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Votre porte-monnaie est protégé par un NIP de dépense. Assurez-vous de retenir le NIP en plus du mot de passe de sauvegarde !</string>\n  <string name=\"export_keys_dialog_button_export\">Sauvegarder</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Votre porte-monnaie a été sauvegardé vers <tt>%s</tt></p><p><b>Si votre sauvegarde existe seulement sur votre appareil, vous courez le risque de perdre les deux en même temps !</b></p><p>Dans tous les cas, assurez-vous de vous souvenir du mot de passe de votre sauvegarde.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Votre porte-monnaie n’a pas pu être exporté :\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">mot de passe</string>\n  <string name=\"backup_wallet_dialog_password_again\">de nouveau</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">différence !</string>\n  <string name=\"import_export_keys_dialog_show\">Montrer le mot de passe</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Erreur</string>\n  <string name=\"import_keys_intent_filter_action\">Restaurer le porte-monnaie</string>\n  <string name=\"encrypt_keys_dialog_title\">NIP de dépense</string>\n  <string name=\"encrypt_keys_dialog_message\">Les dépenses de votre porte-monnaie seront protégées par le NIP choisi.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Important : vous devez mémoriser votre NIP ! N’utilisez pas de nombre commun (comme une date de naissance).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Ancien NIP</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">faible</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">correct</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">bon</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">robuste</string>\n  <string name=\"encrypt_keys_dialog_show\">Montrer le NIP</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Chiffrement…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Déchiffrement…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Terminé.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Désolé</string>\n  <string name=\"scan_camera_problem_dialog_message\">L’appareil photo a un problème. Vous devez probablement redémarrer votre appareil.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Autorisation sur l’appareil photo</string>\n  <string name=\"scan_camera_permission_dialog_message\">Afin de balayer des codes QR, vous devez accorder autorisation d’utiliser l’appareil photo.</string>\n  <string name=\"input_parser_io_error\">Impossible de lire les données :\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Impossible de reconnaître l’entrée :\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">L’URI Bitcoin est invalide :\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Réception d’une adresse Bitcoin invalide !\\n(Mélange mainnet/testnet ?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Impossible de vérifier la demande de paiement :\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">La demande de paiement est invalide :\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">La transaction est invalide :\\n%s</string>\n  <string name=\"preferences_activity_title\">Paramètres</string>\n  <string name=\"preferences_category_general\">Général</string>\n  <string name=\"preferences_category_privacy\">Contrôle de la confidentialité</string>\n  <string name=\"preferences_category_merchants\">Marchands</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostics</string>\n  <string name=\"preferences_category_labs\">Labo</string>\n  <string name=\"preferences_precision_title\">Dénomination et précision</string>\n  <string name=\"preferences_precision_summary\">Unité d’affichage. Ceci n’affecte pas les calculs.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 décimales</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 décimales</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 décimales</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 décimales</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, pas de décimale</string>\n  <string name=\"preferences_own_name_title\">Votre nom</string>\n  <string name=\"preferences_own_name_summary\">Votre nom ou celui de votre entreprise, qui seront ajoutés aux demandes de paiements que vous envoyez à vos clients.</string>\n  <string name=\"preferences_own_name_dialog_message\">Soyez bref.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Fermer automatiquement la fenêtre d’envoi de pièces</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Une fois le paiement effectué, la fenêtre d’envoi sera fermée automatiquement.</string>\n  <string name=\"preferences_sync_mode_title\">Utilisation des données ou confidentialité</string>\n  <string name=\"preferences_sync_mode_summary\">Choisissez entre une faible utilisation des données ou une confidentialité améliorée lors de la synchronisation avec le réseau.</string>\n  <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>Faible utilisation des données :</b> Faites appel au filtrage du réseau pour ne lire que les transactions pertinentes pour votre porte-monnaie. 500 Mo seront utilisés par mois, mais le filtre sera divulgué au réseau.]]></string>\n  <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>Confidentialité améliorée :</b> Aucun renseignement sur votre porte-monnaie ne sera divulgué au réseau. Sachez que toutes les transactions seront lues, pour une utilisation très volumineuse de 10 Go par mois. Avant d’utiliser cette option, veuillez vérifier votre quantité de données autorisée.]]></string>\n  <string name=\"preferences_trusted_peer_title\">Pair de confiance</string>\n  <string name=\"preferences_trusted_peer_summary\">IP ou nom d’hôte d’un pair auquel se connecter.</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">Veuillez saisir une adresse IP ou un nom d’hôte valides. Si vous utilisez Tor, vous pouvez aussi utiliser une adresse onion ici.</string>\n  <string name=\"preferences_trusted_peer_dialog_message_multiple\">Vous pouvez indiquer plusieurs pairs de confiance en les séparant par une espace.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Résolution…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Le nom d’hôte est inconnu !</string>\n  <string name=\"preferences_trusted_peer_only_title\">Ignorer la découverte des pairs ordinaires</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Empêche la connexion à des pairs autres que le pair de confiance.</string>\n  <string name=\"preferences_block_explorer_title\">Explorateur de blocs</string>\n  <string name=\"preferences_block_explorer_summary\">L’explorateur de blocs externe à utiliser pour consulter les transactions, les adresses et les blocs.</string>\n  <string name=\"preferences_data_usage_title\">Utilisation des données</string>\n  <string name=\"preferences_data_usage_summary\">Montrer les options de restriction de l’utilisation des données sur les réseaux mobiles.</string>\n  <string name=\"preferences_notifications_title\">Notifications</string>\n  <string name=\"preferences_notifications_summary\">Afficher des options pour désactiver ou activer des notifications particulières.</string>\n  <string name=\"preferences_remind_balance_title\">Rappel de solde</string>\n  <string name=\"preferences_remind_balance_summary\">Après quelques semaines sans utilisation, l’appli vous signalera s’il y a encore des pièces dans le porte-monnaie.</string>\n  <string name=\"preferences_show_disclaimer_title\">Afficher l’avis de non-responsabilité</string>\n  <string name=\"preferences_show_disclaimer_summary\">Avez-vous vraiment lu les consignes de sécurité ? Avez-vous déjà sauvegardé votre porte-monnaie en lieu sûr ?</string>\n  <string name=\"preferences_bluetooth_address_title\">Adresse Bluetooth</string>\n  <string name=\"preferences_bluetooth_address_summary\">Configurez manuellement votre propre adresse Bluetooth afin de recevoir des paiements de payeurs, sans connectivité.</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">Malheureusement, Android empêche la détection automatique de l’adresse Bluetooth de votre appareil. Vous devez la trouver dans les paramètres Bluetooth d’Android et la saisir ici.\\n\\nVeuillez vous assurer de la justesse de chaque caractère. Les deux-points peuvent être omis et la casse n’est pas importante.</string>\n  <string name=\"preferences_report_issue_title\">Signaler un problème</string>\n  <string name=\"preferences_initiate_reset_title\">Réinitialiser la chaîne de blocs</string>\n  <string name=\"preferences_initiate_reset_summary\">Réinitialiser la chaîne de blocs et le solde du porte-monnaie. La relecture prendra du temps, ne le faites que si vous savez pourquoi.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Souhaitez-vous réinitialiser et relire la chaîne de blocs ?\\n\\nLe solde de votre porte-monnaie sera caché et les transactions retirées temporairement. Les deux seront récupérés alors que la synchronisation de la chaîne de blocs progressera. Assurez-vous d’avoir une connexion Internet fiable.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Réinitialiser</string>\n  <string name=\"preferences_extended_public_key_title\">Afficher la clé privée étendue</string>\n  <string name=\"preferences_extended_public_key_summary\">Visualisez la clé privée étendue de votre porte-monnaie afin qu’elle puisse être importée dans d’autres applis et services. Attention : Ceci divulguera vos renseignements monétaires à cette appli.</string>\n  <string name=\"bitmap_fragment_share\">Partager…</string>\n  <string name=\"extended_public_key_fragment_title\">Clé privée étendue</string>\n  <string name=\"extended_public_key_fragment_share\">Partager la clé privée étendue…</string>\n  <string name=\"report_issue_dialog_title_issue\">Signaler un problème</string>\n  <string name=\"report_issue_dialog_title_crash\">Un plantage précédent a été détecté</string>\n  <string name=\"report_issue_dialog_title_transaction\">Signaler un problème avec le paiement sélectionné</string>\n  <string name=\"report_issue_dialog_message_issue\">Veuillez décrire votre problème avec assez de précisions pour qu’il soit reproduit. Écrivez en anglais si vous le pouvez.</string>\n  <string name=\"report_issue_dialog_message_crash\">Souhaitez-vous envoyer un rapport de plantage pour aider à corriger ce problème dans le futur ?</string>\n  <string name=\"report_issue_dialog_description\">description du problème</string>\n  <string name=\"report_issue_dialog_report\">Signaler</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Ajouter les renseignements relatifs à l’appareil</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Ajouter le journal de l’application</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Ajouter un vidage du porte-monnaie</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Envoyer le rapport avec…</string>\n  <string name=\"about_title\">À propos du programme</string>\n  <string name=\"about_version_title\">Version</string>\n  <string name=\"about_version_apk_hash_title\">Empreinte SHA256 de l’APK</string>\n  <string name=\"about_copyright_title\">Tous droits réservés</string>\n  <string name=\"about_license_title\">Licence</string>\n  <string name=\"about_source_title\">Code source</string>\n  <string name=\"about_category_credits\">Cette appli utilise…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, une application du protocole Bitcoin</string>\n  <string name=\"about_credits_zxing_title\">ZXing, un bibliothèque de traitement de codes QR</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, une bibliothèque cryptographique</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, une bibliothèque client HTTP</string>\n  <string name=\"about_credits_moshi_title\">Moshi, une bibliothèque JSON</string>\n  <string name=\"about_credits_guava_title\">Guava, une collection d’aides utiles</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, un cadre applicatif de connexion</string>\n  <string name=\"about_market_app_title\">Page %s</string>\n  <string name=\"about_market_app_summary\">Critiquer ou évaluer l’appli</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Foire aux questions au sujet de l’appli</string>\n  <string name=\"notification_coins_received_msg\">%s reçu</string>\n  <string name=\"notification_connectivity_syncing_message\">Synchronisation avec le réseau…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Synchronisation avec votre pair de confiance…</string>\n  <string name=\"notification_peers_connected_msg\">%d pairs connectés</string>\n  <string name=\"notification_peer_connected\">connecté</string>\n  <string name=\"notification_peer_not_connected\">non connecté</string>\n  <string name=\"notification_inactivity_title\">Vous avez encore des bitcoins sur cet appareil !</string>\n  <string name=\"notification_inactivity_message\">Souvenez-vous que votre solde de %s sera perdu si vous désinstallez l’appli Bitcoin Wallet sans d’abord envoyer ce solde.</string>\n  <string name=\"notification_inactivity_message_donate\">Si ces quelques pièces vous importent peu, vous pourriez aussi en faire  le don au projet Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Rappeler + tard</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Ne plus rappeler</string>\n  <string name=\"notification_bluetooth_service_listening\">Vous êtes prêt à recevoir des paiements par Bluetooth</string>\n  <string name=\"notification_channel_received_name\">Paiements reçus</string>\n  <string name=\"notification_channel_ongoing_name\">Activité d’arrière-plan</string>\n  <string name=\"notification_channel_important_name\">Alertes importantes</string>\n  <string name=\"appwidget_wallet_balance_title\">Solde en bitcoins</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">Valider</string>\n  <string name=\"button_dismiss\">Fermer</string>\n  <string name=\"button_cancel\">Annuler</string>\n  <string name=\"button_retry\">Ressayer</string>\n  <string name=\"button_help\">Aide</string>\n  <string name=\"button_add\">Ajouter</string>\n  <string name=\"button_delete\">Effacer</string>\n  <string name=\"button_set\">Définir</string>\n  <string name=\"button_remove\">Enlever</string>\n  <string name=\"button_edit\">Modifier</string>\n  <string name=\"button_copy\">Copier</string>\n  <string name=\"button_paste\">Coller</string>\n  <string name=\"button_share\">Partager</string>\n  <string name=\"button_set_as_default\">Définir par défaut</string>\n  <string name=\"button_request_coins\">Demande de BTC</string>\n  <string name=\"button_send_coins\">Envoi de BTC</string>\n  <string name=\"button_scan\">Balayer</string>\n  <string name=\"button_settings\">Paramètres</string>\n  <string name=\"action_show_qr\">Montrer le code QR</string>\n  <string name=\"action_browse\">Parcourir</string>\n  <!--generic strings-->\n  <string name=\"time_today\">aujourd’hui</string>\n  <string name=\"address_unlabeled\">(sans étiquette)</string>\n  <string name=\"private_key_password\">NIP</string>\n  <string name=\"private_key_bad_password\">le NIP est erroné !</string>\n  <string name=\"qr_code\">Code QR</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Erreur E/S : %s</string>\n  <string name=\"error_parse\">Erreur d’analyse : %s</string>\n  <string name=\"error_http\">Erreur HTTP %1$s :\\n%2$s</string>\n  <string name=\"error_bluetooth\">Erreur Bluetooth : %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-fr/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tLa partie supérieure gauche de l’écran affiche votre solde en bitcoins ainsi qu’une monnaie nationale choisie.\n\t\t\tTouchez-la pour atteindre la liste des monnaies nationales et touchez l’une d’elles pour la choisir par défaut.\n\t\t</p>\n\t\t<p>\n\t\t\tLe code QR en haut à droite contient votre adresse Bitcoin actuelle et peut être balayé par un payeur.\n\t\t\tTouchez le code QR pour l’agrandir.\n\t\t</p>\n\t\t<p>\n\t\t\tLe bas de l’écran est couvert par votre liste de transactions.\n\t\t\tElle est vide initialement et se remplira alors que recevez et envoyez des paiements.\n\t\t\tLes paiements reçus seront marqués en vert et les paiements envoyés en rouge.\n\t\t</p>\n\t\t<p>\n\t\t\tVous pouvez envoyer ou recevoir des pièces en touchant les boutons dans la barre de menus.\n\t\t\tPlus d’options sont offertes dans le menu des options.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tGrâce à cette fenêtre de dialogue, vous pouvez demander des pièces à un payeur.\n\t\t</p>\n\t\t<p>\n\t\t\tVous pouvez d’abord un montant de bitcoins à demander.\n\t\t</p>\n\t\t<p>\n\t\t\tEnsuite, le payeur devra balayé le code QR généré.\n\t\t\tOu vous pourrez envoyer votre demande à une personne éloignée grâce au bouton Partager de la barre de menus.\n\t\t\tSi la CCP (NFC) est activée sur les deux téléphones, vous pouvez aussi les faire se toucher.\n\t\t</p>\n\t\t<p>\n\t\t\tDans les deux cas, une fenêtre d’envoi de pièces sera présentée préremplie au payeur.\n\t\t\tSi le payeur accepte, il ou elle pourra facilement envoyer le paiement.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tVous avez amorcé un processus d’envoi de bitcoins.\n\t\t</p>\n\t\t<p>\n\t\t\tSaisissez d’abord l’adresse Bitcoin de destination.\n\t\t\tL’adresse sera saisie automatiquement pour les entrées connues de votre carnet d’adresses.\n\t\t\tVous pouvez aussi balayer un code QR présenté par le bénéficiaire du paiement en touchant le bouton de l’appareil photo.\n\t\t</p>\n\t\t<p>\n\t\t\tSaisissez ensuite le montant à payer.\n\t\t</p>\n\t\t<p>\n\t\t\tEnfin, le NIP de dépense doit être saisi s’il a été défini au préalable.\n\t\t</p>\n\t\t<p>\n\t\t\tVous pouvez saisir un paiement alors que vous êtes hors ligne.\n\t\t\tIl sera envoyé lors du prochain démarrage de Bitcoin Wallet.\n\t\t\tPour que le paiement soit traité aussi rapidement que possible, assurez-vous d’être bien connecté (c.-à-d. sur un WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tNote :\n\t\t\tLes paiements sont irréversibles !\n\t\t\tVérifiez toujours l’adresse de destination.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Notes de sécurité importantes :</b>\n\t\t</p>\n\t\t<p>\n\t\t\tLes bitcoins sont stockés sur l’appareil.\n\t\t\t<b>Si vous le perdez, vous perdrez vos bitcoins.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tCela signifie que vous devez <b>sauvegarder votre porte-monnaie</b> !\n\t\t\tUtilisez la fonction de sauvegarde de l’appli plutôt qu’une appli de sauvegarde tierce.\n\t\t\tConservez votre sauvegarde en lieu sûr et souvenez-vous du mot de passe.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Avant de désinstaller l’appli</b> (ou d’en effacer les données ou de purger les données de votre appareil), <b>transférez vos bitcoins vers un autre porte-monnaie</b>.\n\t\t\tLes bitcoins restants seront perdus.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Les paiements sont irréversibles</b>.\n\t\t\tSi vous envoyez vos bitcoins dans le vide, il n’y a presque aucun moyen de les récupérer.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Assurez la sécurité de votre appareil mobile !</b>\n\t\t\tNe prenez pas le contrôle de la racine (root) de votre appareil.\n\t\t\tN’installez que des applications de confiance.\n\t\t\tDes applications malveillantes pourraient essayer de voler votre porte-monnaie.\n\t\t</p>\n\t\t<p>\n\t\t\tMinimisez les risques !\n\t\t\t<b>Ne gardez qu’un montant raisonnable,</b> pour la journée.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Notes techniques :</b>\n\t\t</p>\n\t\t<p>\n\t\t\tEn tant que porte-monnaie VPS (vérification de paiement simplifiée), léger, le porte-monnaie Bitcoin Wallet suit la chaîne de la plus grande preuve de travail (parfois aussi appelé « la chaîne la plus longue », « la chaîne gagnante », ou la « chaîne de blocs Bitcoin »).\n\t\t\tVous ne pourrez recevoir des paiements entrants et ne pourrez payer que sur cette chaîne.\n\t\t\tIl ne peut y avoir aucune garantie sur les bitcoins des chaînes minoritaires, c’est-à-dire les chaînes avec moins de preuve de travail.\n\t\t</p>\n\t\t<p>\n\t\t\tPar le passé, les chaînes minoritaires ont toujours très rapidement perdu toute pertinence.\n\t\t\tSi vous souhaitez quand même suivre une chaîne minoritaire, il vous est conseillé d’utiliser la fonction « Pair de confiance » pour vous connecter exclusivement à une instance de bitcoind qui utilise votre chaîne désirée.\n\t\t\tSi le réseau entre votre porte-monnaie et le pair de confiance n’est pas digne de confiance, utilisez un RPV pour authentifier cette connexion.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-h400dp/layouts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <item name=\"show_local_balance\" type=\"bool\">true</item>\n    <bool name=\"show_wallet_address_dialog_hint\">true</bool>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-he/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">הארנק אופס, התאוששת תקח זמן מה.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">השימוש באחריותך, קרא את הוראות השימוש</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">אתה צריך &lt;u&gt;לגבות את הארנק שלך&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d שעות איחור</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d ימי איחור</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d שבועות איחור</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d חודשי איחור</string>\n  <string name=\"blockchain_state_progress_downloading\">מסנכרן רשת</string>\n  <string name=\"blockchain_state_progress_stalled\">סינכרון עוקב</string>\n  <string name=\"blockchain_state_progress_problem_storage\">סינכרון: בעיית אחסון</string>\n  <string name=\"blockchain_state_progress_problem_network\">סינכרון:בעיית רשת</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">כתובת הביטקוין הועתקה ללוח</string>\n  <string name=\"wallet_balance_fragment_replaying\">היתרה אינה זמינה במהלך שחזור</string>\n  <string name=\"exchange_rates_activity_title\">שערי המרה</string>\n  <string name=\"exchange_rates_fragment_empty_search\">לא ניתן למצוא שער חליפין.</string>\n  <string name=\"exchange_rates_fragment_default\">(ברירת מחדל)</string>\n  <string name=\"exchange_rates_fragment_rate\">שער</string>\n  <string name=\"exchange_rates_fragment_balance\">מאזן</string>\n  <string name=\"exchange_rates_fragment_source\">המחיר נתקבל מ: %s</string>\n  <string name=\"exchange_rates_options_search\">חפש שער חליפין</string>\n  <string name=\"wallet_transactions_options_filter_received\">נתקבל</string>\n  <string name=\"wallet_transactions_options_filter_all\">נשלח/נתקבל</string>\n  <string name=\"wallet_transactions_options_filter_sent\">נשלח</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">לא נתקבלו ביטקוינים עד כה.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">לא נשלחו ביטקוינים עד כה.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">איך להשיג ביטקוין ?\\nהמר תמורת כסף פיאט,\\nמכור סחורות או שירותים או\\nהשג על ידי עבודה.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">ברכותי, קיבלת את התשלום הראשון! האם כבר &lt;u&gt;גיבית את הארנק&lt;/u&gt; כדי להגן מפני אבדן?</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">נכרו</string>\n  <string name=\"wallet_transactions_fragment_internal\">פנימי</string>\n  <string name=\"wallet_options_safety_menu\">בטיחות</string>\n  <string name=\"wallet_options_safety\">הוראות בטיחות</string>\n  <string name=\"wallet_options_donate\">תרומה</string>\n  <string name=\"wallet_donate_address_label\">תרום לארנק ביטקוין</string>\n  <string name=\"wallet_low_storage_dialog_title\">אין מקום פנוי על המכשיר</string>\n  <string name=\"wallet_low_storage_dialog_msg\">ארנק הביטקוין משתמש באחסון הפנימי לצורך שמירת עסקאות ובלוקים. אם נגמר המקום, הוא יפסיק לעבוד והביטקוינים שלך יהיו בסיכון!\\n\\nהאם אתה רוצה לפתוח את מנהל היישומים ולהסיר יישומים שאינם נחוצים?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">נהל יישומים</string>\n  <string name=\"wallet_timeskew_dialog_title\">בדוק את הגדרות הזמנים שלך</string>\n  <string name=\"wallet_timeskew_dialog_msg\">זמן המכשיר מאחר ב %d דקות. אתה כנראה לא יכול לקבל או לשלוח ביטקוינים בגלל בעיה זהו.\\n\\nכדאי שתבדוק את הגדרות הזמן ואיזור הזמן שלך.</string>\n  <string name=\"wallet_version_dialog_title\">גירסה חדשה זמינה!</string>\n  <string name=\"wallet_version_dialog_msg\">גירסה זו מתקנת באגים חשובים, לפרטים גש לדף העדכון ב%s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">אם אתה לא רואה עדכון, זה כנראה אומר שגרסאת האנדרואיד שלך אינה נתמכת יותר.</string>\n  <string name=\"wallet_version_dialog_button_binary\">הורדה</string>\n  <string name=\"wallet_old_sdk_dialog_title\">גירסת אנדרויד לא מעודכנת</string>\n  <string name=\"wallet_old_sdk_dialog_message\">יש סיכוי כי מהגרסאות הקרובות של ארנק ביטקוין לא נתמוך במכשירך יותר. במקרים מסוימים יהיה קשה להשתמש במטבעות על המכשיר.\\n\\nאלא אם אתה יודע מה אתה עושה, מומלץ שתעביר את המטבעות בקרוב.</string>\n  <string name=\"send_coins_activity_title\">שלח ביטקוין</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">אוסף חתימה מ%s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">איסוף חתימה נכשל</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">חתימה שגויה!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">נבדק על ידי: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">לא ידוע</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">שלם ל</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">הקש כתובת או שם</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">כתובת ביטקוין לא חוקית!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">כתובת\\nמסובכת</string>\n  <string name=\"send_coins_fragment_pending\">(%s ממתין לאישור)</string>\n  <string name=\"send_coins_fragment_amount_label\">סכום לתשלום</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">שלח תשלום ישירות לנמען.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">התשלום שלך נשלח בהצלחה</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">התשלום שלך נדחה על ידי חיבור ישיר.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">תשלום ישיר נדחה.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">התשלום שלך עדיין יכול להיות משודר על רשת P2P (עמית לעמית).</string>\n  <string name=\"send_coins_fragment_button_send\">שלח</string>\n  <string name=\"send_coins_fragment_button_back\">חזרה</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">אין מספיק מטבעות זמינים</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">חסר לך %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">האם אתה רוצה לשלם עם כל שיש לך?</string>\n  <string name=\"send_coins_preparation_msg\">חותם…</string>\n  <string name=\"send_coins_sending_msg\">שולח…</string>\n  <string name=\"send_coins_sent_msg\">נשלח!</string>\n  <string name=\"send_coins_failed_msg\">נכשל!</string>\n  <string name=\"send_coins_error_msg\">בעיה בשליחת מטבעות</string>\n  <string name=\"send_coins_options_empty\">ארנק ריק</string>\n  <string name=\"sweep_wallet_activity_title\">גרוף ארנק נייר</string>\n  <string name=\"sweep_wallet_fragment_intro\">אתה עומד לגרוף ארנק נייר או קופון. זה יעביר את כל המטבעות מהנייר לארנקך במכשיר זה. כאשר התנועה מאושרת, הנייר יהפוך חסר ערך ואין להשתמש בו שנית מסיבות אבטחה.</string>\n  <string name=\"sweep_wallet_fragment_hint\">ארנקי נייר משמשים בעיקר לאחסון קר. כספומטים מסוימים מדפיסים אותם על פיסת נייר בניגוד ללשלוח אותם ישירות למכשירך. אנשים לפעמים משתמשים בארנקי נייר טעונים מראש כדי להעביר ערך (לא מומלץ).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">התחל על ידי סריקת המפתח הפרטי של ארנק נייר. השתמש בכפתור הפעולה של המצלמה.</string>\n  <string name=\"sweep_wallet_fragment_balance\">יתרה לגרוף</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">גריפה</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">טוען יתרה…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">טעינת יתרת ארנק נכשלה</string>\n  <string name=\"sweep_wallet_options_reload\">טען יתרה מחדש</string>\n  <string name=\"request_coins_activity_title\">בקש ביטקוין</string>\n  <string name=\"request_coins_fragment_amount_label\">כמות לבקשה</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">קבל תשלום באמצעות Bluetooth לעיבוד מאובטח יותר</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">תן לשולח לסרוק ברקוד זה</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">או גע עם מכשיר  NFC</string>\n  <string name=\"request_coins_clipboard_msg\">בקשה הועתקה ללוח</string>\n  <string name=\"request_coins_share_dialog_title\">שתף בקשה לביטקוין</string>\n  <string name=\"request_coins_options_local_app_title\">בקשה מיישום מקומי</string>\n  <string name=\"address_book_activity_title\">ספר כתובות</string>\n  <string name=\"address_book_list_receiving_title\">בכתובת שלך</string>\n  <string name=\"address_book_list_sending_title\">כתובת שליחה</string>\n  <string name=\"address_book_empty_text\">אין כניסות בספר הכתובות</string>\n  <string name=\"address_book_context_send_title\">שלח ביטקוינים לכתובת</string>\n  <string name=\"address_book_context_edit_title\">ערוך כתובת</string>\n  <string name=\"address_book_context_remove_title\">הסר כתובת</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">העתק ללוח</string>\n  <string name=\"address_book_options_scan_title\">סרוק כתובת</string>\n  <string name=\"address_book_options_scan_invalid\">המידע הנסרק לא ניתן לזיהוי</string>\n  <string name=\"address_book_row_message_compromised_key\">כתובת זו נגועה. לא מומלץ שתשתמש בה כדי לקבל מטבעות.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">הוסף כתובת</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">ערוך כתובת</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">כתובת</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">שם</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">שמירה</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">התשלום עדיין לא שודר</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">העסקה מחזקת את הארנק שלך נגד גניבה.\\n\\n&lt;u&gt; עוד מידע. &lt;/u&gt;</string>\n  <string name=\"transaction_row_message_received_direct\">התשלום התקבל ישירות. יש סיכון שהוא לעולם לא יהיה ניתן לניצול.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">התשלום יהיה זמין בעוד מספר דקות</string>\n  <string name=\"transaction_row_message_received_dead\">תשלום זה בוטל על ידי השולח</string>\n  <string name=\"transaction_row_message_received_dust\">כמות זעירה כזו ככל הנראה לא תוכל להיות בשימוש לעולם.</string>\n  <string name=\"network_monitor_activity_title\">מוניטור רשת</string>\n  <string name=\"network_monitor_peer_list_title\">עמיתים</string>\n  <string name=\"network_monitor_block_list_title\">בלוקים</string>\n  <string name=\"peer_list_fragment_empty\">אין עמיתים מחוברים</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">שחזר ארנק</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">אתה עומד להחליף את הארנק הנוכחי שלך. כל המטבעות בארנק הנוכחי יאבדו אלא אם יש לך גיבוי שלו.</string>\n  <string name=\"import_keys_dialog_warning\">חשוב: אל תטען מפתחות פרטיים ממקורות מפוקפקים! אחרים יכולים לקבל שליטה על כספי אם תעשה כן.</string>\n  <string name=\"import_keys_dialog_button_import\">ייבא</string>\n  <string name=\"restore_wallet_dialog_success\">ארנק שוחזר.</string>\n  <string name=\"import_keys_dialog_failure\">לא ניתן לשחזר ארנק:\\n\\n%s\\n\\nסיסמא שגויה?</string>\n  <string name=\"export_keys_dialog_title\">גבה ארנק</string>\n  <string name=\"backup_wallet_dialog_message\">הארנק שלך יהיה מוצפן עם הסיסמא הנבחרת ומועתק לאחסון חיצוני</string>\n  <string name=\"export_keys_dialog_button_export\">ייצוא</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>ארנקך גובה אל <tt>%s</tt></p><p><b>אם המקום היחיד בו קיים הגיבוי הוא במכשירך, אתה מסתכן באיבוד שניהם בו-זמנית!</b></p><p>האם אתה מעוניין לגבות את ארנקך כעת.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">לא ניתן היה לגבות את ארנקך:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">סיסמא</string>\n  <string name=\"import_export_keys_dialog_show\">הצג סיסמא</string>\n  <string name=\"import_export_keys_dialog_failure_title\">שגיאה</string>\n  <string name=\"import_keys_intent_filter_action\">שחזר ארנק</string>\n  <string name=\"scan_camera_problem_dialog_title\">סליחה</string>\n  <string name=\"scan_camera_problem_dialog_message\">בעיה במצלמה, אנא אחתל מחדש את המכשיר שלך.</string>\n  <string name=\"input_parser_io_error\">לא יכול לקרוא מידע:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">לא ניתן לזהות קלט:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">כתובת ביטקוין לא חוקית:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">כתובת ביטקוין לא חוקית</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">לא יכול לאמת בקשת תשלום:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">בקשת תשלום לא חוקית:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">עסקה לא חוקית:\\n%s</string>\n  <string name=\"preferences_activity_title\">הגדרות</string>\n  <string name=\"preferences_category_diagnostics\">בדיקה</string>\n  <string name=\"preferences_category_labs\">מעבדות</string>\n  <string name=\"preferences_precision_title\">מטבע ודיוק</string>\n  <string name=\"preferences_precision_summary\">יחידה להציג כמויות בה. זה לא משפיע על חישובים.</string>\n  <string name=\"preferences_trusted_peer_title\">עמית מהימן</string>\n  <string name=\"preferences_trusted_peer_summary\">כתוובת IP או מארח של עמית שיש להתחבר לו.</string>\n  <string name=\"preferences_trusted_peer_only_title\">דלג על מערכת גילוי עמיתים רגילה</string>\n  <string name=\"preferences_trusted_peer_only_summary\">מונע מלהתחבר לעמיתים שאינם עמיתים מהימנים.</string>\n  <string name=\"preferences_data_usage_title\">מידע בשימוש</string>\n  <string name=\"preferences_data_usage_summary\">הצג אפשרויות להגביל שימוש במידע בעת גלישה ברשת סלולרית.</string>\n  <string name=\"preferences_report_issue_title\">דווח על תקלה</string>\n  <string name=\"preferences_initiate_reset_title\">אפס שרשרת בלוקים</string>\n  <string name=\"preferences_initiate_reset_summary\">מאפס את שרשרת הבלוקים, עסקאות ויתרה בארנק. העדכון יקח זמן מה.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">האם לאפס ולשחזר את שרשרת הבלוקים ? הדבר יקח זמן מה ויאפס את יתרתך באופן זמני. היתרה והעסקאות יחזרו לאחר סנכרון עם הרשת.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">איפוס</string>\n  <string name=\"report_issue_dialog_title_issue\">דווח תקלה</string>\n  <string name=\"report_issue_dialog_title_crash\">תקלה קודמת נתגלתה</string>\n  <string name=\"report_issue_dialog_message_issue\">אנא תאר את הבעיה בה נתקלת בצורה שניתנת לשחזור.</string>\n  <string name=\"report_issue_dialog_message_crash\">האם לשלוח דיווח תקלה? עדכון כזה יעזור לנו למנוע מתקלות להשנות בעתיד.</string>\n  <string name=\"report_issue_dialog_description\">תיאור הבעיה</string>\n  <string name=\"report_issue_dialog_report\">דיווח</string>\n  <string name=\"report_issue_dialog_collect_device_info\">הוסף מידע על המכשיר</string>\n  <string name=\"report_issue_dialog_collect_application_log\">הוסף מידע מהאפליקציה</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">הוסף</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">שלח דוח באמצעות…</string>\n  <string name=\"about_title\">על אודות</string>\n  <string name=\"about_version_title\">גירסה</string>\n  <string name=\"about_copyright_title\">זכויות יוצרים</string>\n  <string name=\"about_license_title\">רישיון</string>\n  <string name=\"about_source_title\">קוד מקור</string>\n  <string name=\"about_category_credits\">אפליקציה זו משתמשת ב</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_summary\">כתוב ביקורת או דרג את האפליקציה</string>\n  <string name=\"notification_coins_received_msg\">נתקבלו %s</string>\n  <string name=\"notification_peers_connected_msg\">%d עמיתים מחוברים</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">אישור</string>\n  <string name=\"button_dismiss\">התעלם</string>\n  <string name=\"button_cancel\">בטל</string>\n  <string name=\"button_retry\">נסה שוב</string>\n  <string name=\"button_help\">עזרה</string>\n  <string name=\"button_add\">הוסף</string>\n  <string name=\"button_delete\">מחק</string>\n  <string name=\"button_edit\">ערוך</string>\n  <string name=\"button_copy\">העתק</string>\n  <string name=\"button_paste\">הדבק</string>\n  <string name=\"button_share\">שתף</string>\n  <string name=\"button_set_as_default\">שמור ברירת מחדל</string>\n  <string name=\"button_request_coins\">בקש מטבעות</string>\n  <string name=\"button_send_coins\">שלח מטבעות</string>\n  <string name=\"button_scan\">סרוק</string>\n  <string name=\"button_settings\">הגדרות</string>\n  <string name=\"action_show_qr\">הראה ברקוד</string>\n  <string name=\"action_browse\">גלוש</string>\n  <string name=\"time_today\">היום</string>\n  <string name=\"address_unlabeled\">(לא מסומן)</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">שגיאת קלט פלט:\\n%s</string>\n  <string name=\"error_parse\">שגיאת ניתוח: %s</string>\n  <string name=\"error_http\">שגיאת HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">שגיאת בלוטות\\' %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-he/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\\n<![CDATA[\n\t\t<p>\n\t\t\tהצד העליון של המסך מציג את כתובת הביטקוין הנבחרת שלך, שאנשים אחרים צריכים לדעת כדי לשלוח לך ביטקוינים.\n\t\t\tלחץ כאן כדי לשנות את הכתובת.\n\t\t</p>\n\t\t<p>\n\t\t\tקוד הQR מימין מכיל את כתובת הביטקוין שלך ויכול להסרק על ידי אחרים.\n\t\t\tלחץ על קוד הQR כדי לקבל גרסא גדולה יותר שלו.\n\t\t</p>\n\t\t<p>\n\t\t\tבאמצע המסך מופיעה יתרתך.\n\t\t\tערך הארנק שלך מופיע באחד המטבעות שבחרת.\n\t\t\tלחץ על היתרה כדי להציג את כל המטבעות המקומיים, ולחץ על אחד המטבעות כדי להגדירו כברירת מחדל.\n\t\t</p>\n\t\t<p>\n\t\t\tבתחתית המסך יופיעו העסקאות שלך, שיהיו ריקות בתחילה.\n\t\t\tעסקאות בהמתנה מוצגות באפור עד לאישורן.\n\t\t\tלחץ על רשומה כדי להוסיף את כתובת השולח או המקבל לספר הכתובות.\n\t\t</p>\n\t\t<p>\n\t\t\tאתה יכול לשלוח או לבקש מטבעות על ידי לחיצה על הכפתורים בפס הפעילות.\n\t\t\tעוד אפשרויות זמינות בתפריט האפשרויות.\n\t\t</p>\n]]>\\n\\t</string>\n  <string name=\"help_request_coins\">\\n<![CDATA[\n\t\t<p>\n\t\t\tבאמצעות התיבה כאן תוכל לבקש מטבעות ממשתמש אחר (שצריך להתקין גם ארנק ביטקוין).\n\t\t</p>\n\t\t<p>\n\t\t\tראשית, עלייך להכניס את מספר הביטקוינים שתבקש.\n\t\t</p>\n\t\t<p>\n\t\t\tלאחר מכן, עלייך להציג את קוד הQR שנוצר על ידי המשתמש השני.\n\t\t\tאו שתוכל לשלוח לו בקשה לשתף איתך את הקוד באמצעות פס הפעילות.\n\t\t\tהוא יצטרך להקליק על כתובת הביטקוין שלה.\n\t\t</p>\n\t\t<p>\n\t\t\tבכל מקרה, למשתמש השני תוצג תיבת דו-שיח לשליחת המטבעות כאשר כל השדות יהיו מלאים מראש.\n\t\t\tאם הוא מעוניין, כל שהוא ידרש לעשות הוא לאשר את השימוש.\n\t\t</p>\n\t]]>\\n\\t</string>\n  <string name=\"help_send_coins\">\\n<![CDATA[\n\t\t<p>\n\t\t\tהתחלת בתהליך שליחת ביטקוינים.\n\t\t\tהגעת לכאן בין אם באמצעות המסך הראשי או על ידי לחיצה על קישור ביטקוין בדפדפן הנייד שלך.\n\t\t</p>\n\t\t<p>\n\t\t\tקודם כל, הכנס את כתובת הביטקוין שברצונך לשלם לה.\n\t\t\tהכתובת תושלם בצורה אוטומטית מרשימת הכתובות המוכרות בספר הכתובות שלך.\n\t\t\tאתה גם יכול לסרוק קוד QR של כתובות ביטקוין או בקשות לביטקוין על ידי לחיצה על כפתור הQR או בר הפעילות.\n\t\t</p>\n\t\t<p>\n\t\t\tלאחר מכן, תוכל לראות כמה ביטקוינים תוכל להוציא באותו הרגע.\n\t\t\tכל הפרש ביתרה מול המסך הראשי טרם אושר ועל כן לא ניתן להוצאה.\n\t\t</p>\n\t\t<p>\n\t\t\tלבסוף, הכנס את הסכום לתשלום.\n\t\t</p>\n\t\t<p>\n\t\t\tאתה יכול להכניס תשלום גם כשאינך מחובר לרשת.\n\t\t\tהוא ישלח באתחול הבא של ארנק ביטקוין.\n\t\t\tאם אתה רוצה שהתשלום יועבר במהרה ודא שאתה מחובר (לדוגמא לחיבור רשת מהיר).\n\t\t</p>\n\t\t<p>\n\t\t\tהערה:\n\t\t\tהתשלומים הם בלתי הפיכים.\n\t\t\tתמיד תבדוק את הכתובת לתשלום.\n\t\t</p>\n\t]]>\\n\\t</string>\n  <string name=\"help_safety\">\\n<![CDATA[\n\t\t<p>\n\t\t\t<b>אזהרות בטיחות חשובות:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tהביטקוינים מאוחסנים על המכשיר שלך.\n\t\t\t<b>אם תאבד אותו, תאבד את הביטקוינים שלך</b>.\n\t\t</p>\n\t\t<p>\n\t\t\tזה אומר שכדאי שאתה <b>תגבה את הארנק שלך</b>!\n\t\t\tהשתמש בשיטת הגיבוי בתוך האפליקציה, ולא ביישום חיצוני.\n\t\t\tשמור את הגיבוי בטוח וזכור את הססמא.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>לפני הסרה</b> (או מחיקה של היישום או המכשיר), <b>העבר את היתרה לארנק אחר</b>.\n\t\t\tביטקוין משוחרר לא יוחזר.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>תשלומים אינם ניתנים להחזרה</b>.\n\t\t\tאם תשלח את הביטקוינים שלך לחלל העולם, , כנראה שלא תקבל אותם בחזרה.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>שמור על המכשיר הנייד שלך בטוח!</b>\n\t\t\tאל תפרוץ אותו.\n\t\t\tהתקן רק יישומים שאתה בוטח בהם.\n\t\t\tיישומים זדוניים יגנבו לך את הארנק.\n\t\t</p>\n\t\t<p>\n\t\t\tשמור על הסיכון נמוך!\n\t\t\t<b>השתמש רק לסכומים נמוכים</b> לשימוש יום-יומי.\n\t\t</p>\n\t]]>\\n\\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-hr/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d sati iza</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dani iza</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d tjedana iza</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d mjeseci iza</string>\n  <string name=\"blockchain_state_progress_downloading\">Sinkroniziranje sa mrežom</string>\n  <string name=\"blockchain_state_progress_stalled\">Sinkronizacija u zastoju</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Sinkroniziranje: Spremišni problem</string>\n  <string name=\"blockchain_state_progress_problem_network\">Sinkroniziranje: Mrežni problem</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin adresa je kopirana u međuspremnik</string>\n  <string name=\"exchange_rates_activity_title\">stopa konverzije</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Konverzijska stopa nije pronađena.</string>\n  <string name=\"exchange_rates_fragment_default\">(zadano)</string>\n  <string name=\"exchange_rates_fragment_rate\">stopa</string>\n  <string name=\"exchange_rates_fragment_balance\">stanje</string>\n  <string name=\"exchange_rates_fragment_source\">Cijena sa %s</string>\n  <string name=\"exchange_rates_options_search\">Traži konverzijsku stopu</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Nema primljenih Bitcoina do sad</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Nema poslanih Bitcoina do sada.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">iskopano</string>\n  <string name=\"wallet_transactions_fragment_internal\">unutarnja</string>\n  <string name=\"wallet_options_safety_menu\">Sigurnost</string>\n  <string name=\"wallet_options_safety\">Sigurnosne poruke</string>\n  <string name=\"wallet_donate_address_label\">Donacije za Bitcoin Novčanik</string>\n  <string name=\"wallet_timeskew_dialog_title\">Provjerite svoje vremenske postavke!</string>\n  <string name=\"wallet_version_dialog_title\">Nova verzija je dobavljiva!</string>\n  <string name=\"wallet_version_dialog_msg\">U ovoj verziji su uklonjene greške. Za detalje posjetite %s</string>\n  <string name=\"wallet_version_dialog_button_binary\">Preuzmi</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android verzija je zastarjela</string>\n  <string name=\"send_coins_activity_title\">Pošalji Bitcoin-ove</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Plati</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">upiši adresu ili ime</string>\n  <string name=\"send_coins_fragment_amount_label\">Iznos za uplatiti</string>\n  <string name=\"send_coins_fragment_button_send\">Pošalji</string>\n  <string name=\"send_coins_fragment_button_back\">Natrag</string>\n  <string name=\"send_coins_sending_msg\">Slanje…</string>\n  <string name=\"send_coins_sent_msg\">Poslano!</string>\n  <string name=\"send_coins_failed_msg\">Neuspješno!</string>\n  <string name=\"send_coins_error_msg\">Problem pri slanju coin-ova!</string>\n  <string name=\"request_coins_activity_title\">Zatraži Bitcoin-ove</string>\n  <string name=\"request_coins_fragment_amount_label\">Zatraženi iznos (slobodan izbor)</string>\n  <string name=\"request_coins_clipboard_msg\">Bitcoin zahtjev je kopiran u međuspremnik</string>\n  <string name=\"request_coins_share_dialog_title\">Podjeli zahtjev za Bitcoin-om</string>\n  <string name=\"address_book_list_receiving_title\">Tvoje adrese</string>\n  <string name=\"address_book_list_sending_title\">Slanje adrese</string>\n  <string name=\"address_book_empty_text\">Nema unosa u adresnu knjigu</string>\n  <string name=\"address_book_context_send_title\">Pošalji bitcoin-ove na adresu</string>\n  <string name=\"address_book_context_edit_title\">Uredi adresu</string>\n  <string name=\"address_book_context_remove_title\">Ukloni adresu</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopirano u međuspremnik</string>\n  <string name=\"address_book_options_scan_title\">Skeniraj adresi</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adresa</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Spremi</string>\n  <string name=\"peer_list_fragment_empty\">Nema povezani klijenata</string>\n  <string name=\"scan_camera_problem_dialog_title\">Ispričavamo se</string>\n  <string name=\"scan_camera_problem_dialog_message\">Kamera je naišla na problem. Vjerovatno ćete morati ponovno pokrenuti uređaj</string>\n  <string name=\"about_title\">O nama</string>\n  <string name=\"about_license_title\">Licenca</string>\n  <string name=\"about_category_credits\">Ova aplikacija koristi…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"notification_peers_connected_msg\">%d klijenata spojeno</string>\n  <!--generic buttons-->\n  <string name=\"button_dismiss\">Odbaciti</string>\n  <string name=\"button_cancel\">Otkaži</string>\n  <string name=\"button_help\">Pomoć</string>\n  <string name=\"button_add\">Dodaj</string>\n  <string name=\"button_delete\">Obriši</string>\n  <string name=\"button_edit\">Uredi</string>\n  <string name=\"button_copy\">Kopiraj</string>\n  <string name=\"button_paste\">Zaljepi</string>\n  <string name=\"button_share\">Podjeli</string>\n  <string name=\"button_set_as_default\">Postavi kao zadano</string>\n  <string name=\"button_request_coins\">Zatraži coin</string>\n  <string name=\"button_send_coins\">Pošalji coin</string>\n  <string name=\"action_show_qr\">Prikaži QR kod</string>\n  <string name=\"time_today\">danas</string>\n  <string name=\"address_unlabeled\">(ne obilježen)</string>\n  <!--generic error messages-->\n</resources>\n"
  },
  {
    "path": "wallet/res/values-hu/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">A tárcád alapállapotba került!\\nA visszaállítás némi időt vesz igénybe.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Csak saját felelősségre használd. Olvasd el a &lt;u&gt;biztonsági megjegyzéseket&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Szükséges &lt;u&gt;biztonsági mentést készítened a tárcádról&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d óra van még hátra</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d nap van még hátra</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d hét van még hátra</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d hónap van még hátra</string>\n  <string name=\"blockchain_state_progress_downloading\">Szinkronizálás a hálózattal</string>\n  <string name=\"blockchain_state_progress_stalled\">A szinkronizálás szünetel</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Szinkronizálás: tárolóhely probléma</string>\n  <string name=\"blockchain_state_progress_problem_network\">Szinkronizálás: Hálózati probléma</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin cím a vágólapra másolva</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">A magánéleted megvédéséhez a címed megváltozik, amint beérkezik egy fizetés.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">A készüléked régi és nem biztonságos. Kérlek csak kis összegekhez használd.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Ez az összeg igen magas ahhoz, hogy a zsebedben hordd. Kérlek helyezd át egy részét biztonságosabb helyre.</string>\n  <string name=\"wallet_balance_fragment_replaying\">A frissítés során az egyenleg nem elérhető.</string>\n  <string name=\"exchange_rates_activity_title\">Árfolyamok</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Árfolyam nem található.</string>\n  <string name=\"exchange_rates_fragment_default\">(alapértelmezett)</string>\n  <string name=\"exchange_rates_fragment_rate\">árfolyam</string>\n  <string name=\"exchange_rates_fragment_balance\">egyenleg</string>\n  <string name=\"exchange_rates_fragment_source\">Ár innen: %s</string>\n  <string name=\"exchange_rates_options_search\">Árfolyam keresése</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Eddig nem érkezett Bitcoin.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Eddig nem lett küldve Bitcoin.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Bitcoint szerezhetsz\\nhagyományos pénz eladásával,\\náruért/szolgáltatásért cserébe,\\nvagy munkával.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Készíts biztonsági mentést a tárcádról,\\nmielőtt bitcoint fogadsz!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Gratulálunk, megérkezett az első kifizetésed! Már készítettél &lt;u&gt;biztonsági mentést a tárcádról&lt;/u&gt;, hogy megóvd a veszteségtől?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Tipp: a tárcád biztonságának növeléséhez &lt;u&gt;titkosíthatod a készüléked&lt;/u&gt;. Ez más alkalmazások adatait is védi.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">bányászott</string>\n  <string name=\"wallet_transactions_fragment_internal\">belső</string>\n  <string name=\"wallet_transactions_options_filter\">Szűrő</string>\n  <string name=\"wallet_transactions_options_filter_all\">Minden kifizetés</string>\n  <string name=\"wallet_transactions_options_filter_received\">Kapott fizetség</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Küldött fizetés</string>\n  <string name=\"wallet_options_request_legacy\">Igénylés hagyományos címre</string>\n  <string name=\"wallet_options_safety_menu\">Biztonság</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Költekezési PIN beállítása</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Költekezési PIN megváltoztatása</string>\n  <string name=\"wallet_options_safety\">Biztonsági megjegyzések</string>\n  <string name=\"wallet_options_technical_notes_title\">Technikai megjegyzések</string>\n  <string name=\"wallet_options_donate\">Borravaló / támogatás</string>\n  <string name=\"wallet_donate_address_label\">Támogatás a Bitcoin Wallet-nek</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Biztonsági figyelmeztetés</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Eszközöd Bluetooth egysége sérülékenységet tartalmaz. Az ezen az eszközön tárolt bitcoinjaid veszélyben vannak, függetlenül a tárolásukra használt apptól!\\n\\nAzt javasoljuk, azonnal kapcsold ki a Bluetooth-t, és szerezz be az eszközöd gyártójától egy olyan Android rendszerfrissítést, amelynek a biztonsági javítás szintje legalább \\'%s\\'.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Kevés a hely a készülék belső tárolóján!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">A Bitcoin Wallet belső tárhelyet használ a tranzakciók és blokkok megjegyzéséhez. Ha kifogy a helyből, leáll a működése és a Bitcoin-jaid veszélyben lesznek!\\n\\nMeg akarod nyitni az Alkalmazáskezelőt, hogy eltávolítsd a szükségtelen alkalmazásokat?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Alkalmazások kezelése</string>\n  <string name=\"wallet_timeskew_dialog_title\">Dátum &amp; időbeállítások ellenőrzése</string>\n  <string name=\"wallet_timeskew_dialog_msg\">A készülék időd késik %d percet. Valószínűleg nem tudsz küldeni és fogadni Bitcoin-okat ezen probléma miatt.\\n\\nLe kellene ellenőrizned, és ha szükséges, akkor javítanod a dátum, idő és időzóna beállításaidat.</string>\n  <string name=\"wallet_version_dialog_title\">Egy új verzió elérhető!</string>\n  <string name=\"wallet_version_dialog_msg\">Ez a verzió fontos javításokat tartalmaz. Részletekért lásd a változásnaplót itt: %s</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Ha nem látsz egy frissítést, az valószínűleg azt jelenti, hogy az Androidod verziója többé nem támogatott.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Letöltés</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Ez az Android verzió elavult</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Van esély arra, hogy a Bitcoin Wallet következő kiadásaiból egy már nem fogja többé támogatni a készüléked. Egyes esetekben bonyolult lehet érméket küldeni ezen a készüléken.\\n\\nHacsak nem vagy tisztában vele, hogy mit csinálsz, akkor minél előbb ajánlott az érméid átmozgatása.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Probléma a beállítások megnyitásával</string>\n  <string name=\"send_coins_activity_title\">Bitcoin küldése</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Aláírás begyűjtése tőle: %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Fizetési kérelem begyűjtése sikertelen</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Helytelen aláírás!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">ellenőrizve általa: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">ismeretlen</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Fizetés</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">írd be a címet vagy nevet</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Érvénytelen Bitcoin cím!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Magadnak akarsz küldeni!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">egész\\ncím</string>\n  <string name=\"send_coins_fragment_pending\">(%s megerősítésre vár)</string>\n  <string name=\"send_coins_fragment_amount_label\">Fizetendő összeg</string>\n  <string name=\"send_coins_fragment_hint_fee\">Hálózati díjként %s lesz fizetve.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Az összeg túl kicsi a küldéshez.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Nincs elég elérhető érme, hiányzik még %s. Ez lehet a hálózati díj miatt is.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">A tárcádban lévő apró fizetségek összege nem tesz ki egy küldhető értéket.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Jelenleg kifizetések nem lehetségesek, mert visszaállítás van folyamatban.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Fizetség küldése közvetlenül a kedvezményezettnek.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">A fizetésed sikeresen elküldve közvetlenül.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">A fizetésed vissza lett utasítva közvetlen kapcsolaton.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Közvetlen fizetés sikertelen</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">A fizetésed közvetítve lesz a P2P hálózattal.</string>\n  <string name=\"send_coins_fragment_button_send\">Küldés</string>\n  <string name=\"send_coins_fragment_button_back\">Vissza</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Jelentős hálózati díj</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">A kifizetés hálózati díja (%1$s) elég magas az összeghez képest (%2$s). Biztosan el akarod így küldeni?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Nincs elég elérhető érme</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">%s hiányod van.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Az összessel fizetni akarsz, amid van?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Tárca kiürítése sikertelen</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Visszafejtés…</string>\n  <string name=\"send_coins_preparation_msg\">Aláírás…</string>\n  <string name=\"send_coins_sending_msg\">Küldés folyamatban…</string>\n  <string name=\"send_coins_sent_msg\">Elküldve!</string>\n  <string name=\"send_coins_failed_msg\">Sikertelen!</string>\n  <string name=\"send_coins_error_msg\">Probléma az érmeküldésben!</string>\n  <string name=\"send_coins_options_fee_category\">Díj</string>\n  <string name=\"send_coins_options_fee_category_economic\">Gazdaságos</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normál</string>\n  <string name=\"send_coins_options_fee_category_priority\">Elsőbbségi</string>\n  <string name=\"send_coins_options_empty\">Üres tárca</string>\n  <string name=\"raise_fee_dialog_title\">Hálózati díj emelése</string>\n  <string name=\"raise_fee_dialog_message\">Meg akarod emelni ennek a fizetésnek a díját ennyivel: %s? Ez a fizetés megerősítését gyorsabbá teszi.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Hálózati díj megállapítása…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Ennek a kifizetésnek a hálózati díja nem növelhető.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Visszafejtés…</string>\n  <string name=\"raise_fee_dialog_state_done\">Kész.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Emelés</string>\n  <string name=\"sweep_wallet_activity_title\">Papírtárca söprése</string>\n  <string name=\"sweep_wallet_fragment_intro\">Arra készülsz, hogy söpörj egy papírtárcát vagy kupont. Ez áthelyezi az összes érmét arról a papírról az ezen a készüléken lévő tárcádba. Amennyiben a tranzakció megerősített, a papír értéktelen lesz és biztonsági okokból nem kéne újra használni.</string>\n  <string name=\"sweep_wallet_fragment_hint\">A papírtárcák leggyakrabban hűtőháznak vannak használva. Néhány ATM a saját papírfecnijére nyomtatja inkább, minthogy elküldje az érméket közvetlenül a mobilkészülékedre. Az emberek néha előre feltöltött papírtárcát használnak, hogy értéket mozgósítsanak (nem ajánlott).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Kezdd egy papírtárca privát kulcsának beolvasásával. Használd a kamera akciógombot.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Ez a privát kulcs jelszóval van védve.</string>\n  <string name=\"sweep_wallet_fragment_password\">jelszó</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">rossz jelszó!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Söpörhető egyenleg</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Visszafejt</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Söprés</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Visszafejtés…\\nMaximum 2 percig tart.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Egyenleg betöltése…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Tárcaegyenleg betöltése sikertelen</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Rossz minőségű a kapcsolatod az Electrum hálózatához.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">A papírtárca üres.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Nincs elég érme</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">A tárcában lévő összeg túl kevés a söpréshez.</string>\n  <string name=\"sweep_wallet_options_reload\">Egyenleg újratöltése</string>\n  <string name=\"maintenance_dialog_title\">Karbantartás ajánlott</string>\n  <string name=\"maintenance_dialog_message\">Kaptál %1$s-t nem biztonságos címekre. Szeretnéd áthelyezni ezeket az érméket biztonságos címekre? Egy kis hálózati díj, %2$s kerül kifizetésre.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Visszafejtés…</string>\n  <string name=\"maintenance_dialog_state_done\">Kész.</string>\n  <string name=\"maintenance_dialog_button_move\">Áthelyezés</string>\n  <string name=\"request_coins_activity_title\">Bitcoin kérése</string>\n  <string name=\"request_coins_fragment_amount_label\">Igényelt összeg (opcionális)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Fizetség elfogadás Bluetooth-on keresztül a megbízhatóbb feldolgozásért</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">A kód a küldő által beolvasva.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Vagy válassz ki egy NFC-képes készüléket.</string>\n  <string name=\"request_coins_clipboard_msg\">Bitcoin igény a vágólapra másolva</string>\n  <string name=\"request_coins_share_dialog_title\">Bitcoin kérelem megosztása…</string>\n  <string name=\"request_coins_no_local_app_msg\">Nem található másik Bitcoin alkalmazás</string>\n  <string name=\"request_coins_options_local_app_title\">Igénylés helyi alkalmazásból</string>\n  <string name=\"address_book_activity_title\">Címjegyzék</string>\n  <string name=\"address_book_list_receiving_title\">Saját címek</string>\n  <string name=\"address_book_list_receiving_random\">Régi címek</string>\n  <string name=\"address_book_list_sending_title\">Küldési címek</string>\n  <string name=\"address_book_empty_text\">A címjegyzék üres</string>\n  <string name=\"address_book_context_send_title\">Bitcoin küldése címre</string>\n  <string name=\"address_book_context_edit_title\">Cím szerkesztése</string>\n  <string name=\"address_book_context_remove_title\">Cím eltávolítása</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Másolás</string>\n  <string name=\"address_book_options_scan_title\">Cím beolvasása</string>\n  <string name=\"address_book_options_scan_invalid\">A beolvasott adat felismerhetetlen</string>\n  <string name=\"address_book_options_scan_own_address\">A beolvasott cím a tiéd.</string>\n  <string name=\"address_book_row_message_compromised_key\">Ez a cím vélhetőleg hamisítás áldozata lett. Ne használd a későbbiekben érmék fogadására.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Küldési cím hozzáadása a címjegyzékhez</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Küldési cím címkéjének szerkesztése</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Címke hozzáadása a címedhez</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">A címed címkéjének szerkesztése</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Cím</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Címke</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Mentés</string>\n  <string name=\"transaction_row_fee\">Hálózati díj</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Ez a kifizetés még nem került elküldésre.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Ez az összeg jóvá lett írva a tárcádra.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Kifizetésed sikeres volt, megérkezett a címzetthez.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Ez a kifizetés sikertelen volt.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Fizetésed sikertelen volt.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Ez a művelet megerősíti a tárcád a lopások ellen. &lt;u&gt;Bővebb információ&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Ez a tranzakció felemeli a hálózati díjat egy korábbi fizetésért.</string>\n  <string name=\"transaction_row_message_received_direct\">Ez a fizetés közvetlenül érkezett. Fennáll a veszélye, hogy talán soha nem lesz elkölthető.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Ez a kifizetés perceken belül hozzáférhetővé válik.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Ennek a kifizetésnek megnövelt a kockázata a küldő általi visszafordításra. Ha tudsz, várj a megerősítésre.</string>\n  <string name=\"transaction_row_message_received_dead\">A kifizetés visszafordítva a küldő által.</string>\n  <string name=\"transaction_row_message_received_dust\">Ez a kis összeg valószínűleg soha nem lesz gazdaságosan elköltve.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Ez a kifizetés túl sok tárcának fizet a tiéd mellett, ami idővel lelassítja az alkalmazást. Ha tudod, akkor csak olyan kifizetést fogadj, ami neked fizet.</string>\n  <string name=\"transaction_row_message_received_rbf\">Ez a kifizetés késett, mert a küldő bizonytalan tranzakció típust használt.</string>\n  <string name=\"network_monitor_activity_title\">Hálózatfigyelő</string>\n  <string name=\"network_monitor_peer_list_title\">Kapcsolatok</string>\n  <string name=\"network_monitor_block_list_title\">Blokkok</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Bányász nehézségi szint változás</string>\n  <string name=\"block_row_mining_reward_adjustment\">Bányász jutalom feleződés</string>\n  <string name=\"block_row_now\">csak most</string>\n  <string name=\"peer_list_fragment_empty\">Nincs kapcsolat</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Tárca visszaállítása</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Arra készülsz, hogy lecseréld a jelenlegi tárcád. A jelenlegi tárcában lévő minden érme el fog veszni, hacsak nincs egy különálló biztonsági mentésed róla.</string>\n  <string name=\"import_keys_dialog_warning\">Fontos: Ne tölts be privát kulcsokat kétes forrásokból! Mások átvehetik az irányítást a tőkéd felett, ha megteszed.</string>\n  <string name=\"import_keys_dialog_button_import\">Visszaállítás</string>\n  <string name=\"restore_wallet_dialog_success\">Tárca visszaállítva.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">A tárcád sikeresen visszaállítva. Az egyenleg visszaállítása következik. Ez eltarthat egy ideig.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Vigyázat: tárcádat költekezési PIN kód védi. Győződj meg arról, hogy még emlékszel rá, mielőtt pénzt fogadsz ebbe a tárcába.</string>\n  <string name=\"import_keys_dialog_failure\">A tárcát nem lehetett visszaállítani:\\n\\n%s\\n\\nRossz jelszó?</string>\n  <string name=\"export_keys_dialog_title\">Tárca biztonsági mentése</string>\n  <string name=\"backup_wallet_dialog_message\">A biztonsági mentésed titkosítva lesz a választott jelszóval és külső tárolóra lesz írva.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">A tárcádat költekezési PIN védi. Bizonyosodj meg róla, hogy emlékszel a PIN-re is a biztonsági mentés jelszava mellett!</string>\n  <string name=\"export_keys_dialog_button_export\">Biztonsági mentés</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>A tárcád biztonsági mentése elkészült ide: <tt>%s</tt></p><p><b>Ha a készüléked az egyetlen hely, ahol a biztonsági mentésed létezik, akkor azt veszélyezted, hogy mindkettőt elveszted egyszerre!</b></p><p>Mindenesetre bizonyosodj meg róla, hogy emlékszel a biztonsági mentés jelszavára.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">A tárcádról nem lehetett biztonsági mentést készíteni:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">jelszó</string>\n  <string name=\"backup_wallet_dialog_password_again\">újra</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">eltérés!</string>\n  <string name=\"import_export_keys_dialog_show\">Jelszó megjelenítése</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Hiba</string>\n  <string name=\"import_keys_intent_filter_action\">Tárca visszaállítása</string>\n  <string name=\"encrypt_keys_dialog_title\">Költekezési PIN</string>\n  <string name=\"encrypt_keys_dialog_message\">A tárcádból való költekezés a választott PIN-nel lesz védve.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Fontos: Emlékezned kell a PIN-edre! Ne használj gyakori számokat (mint születésnapok).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Régi PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">gyenge</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">kielégítő</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">jó</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">erős</string>\n  <string name=\"encrypt_keys_dialog_show\">PIN megjelenítése</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Titkosítás…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Visszafejtés…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Kész.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Sajnáljuk</string>\n  <string name=\"scan_camera_problem_dialog_message\">A kamera nem válaszol. Próbáld meg újraindítani a készüléket.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Kamera engedély</string>\n  <string name=\"input_parser_io_error\">Nem lehet olvasni az adatot:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Nem lehet felismerni a bemenetet:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Érvénytelen Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">A kapott bitcoin cím érvénytelen!\\n(Össze van keverve a mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Nem lehet megerősíteni a fizetési kérelmet:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Érvénytelen fizetési kérelem:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Érvénytelen tranzakció:\\n%s</string>\n  <string name=\"preferences_activity_title\">Beállítások</string>\n  <string name=\"preferences_category_diagnostics\">Diagnosztika</string>\n  <string name=\"preferences_category_labs\">Labor</string>\n  <string name=\"preferences_precision_title\">Pénzegység és tizedesjegyek beállítása</string>\n  <string name=\"preferences_precision_summary\">Egység, amelyben mutatja az összeget. Ez nem érinti a számításokat.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 tizedeshely</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 tizedeshely</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 tizedeshely</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 tizedeshely</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, nincs tizedeshely</string>\n  <string name=\"preferences_own_name_title\">Saját név</string>\n  <string name=\"preferences_own_name_summary\">Saját elnevezésed, ami a fizetési kérelemhez adódik. Próbáld röviden.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Érmék küldése párbeszédpanel automatikus bezárása</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Amikor a fizetés megtörténik, a küldés párbeszédpanel automatikusan bezáródik.</string>\n  <string name=\"preferences_trusted_peer_title\">Megbízható peer</string>\n  <string name=\"preferences_trusted_peer_summary\">IP cím, vagy állomásnév a közvetlen peer kapcsolódáshoz.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Megoldás…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Ismeretlen állomásnév!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Szokásos peer felderítés kihagyása</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Megakadályozza, hogy a megbízható kapcsolatokon kívül más peer-ekhez kapcsolódjon.</string>\n  <string name=\"preferences_block_explorer_title\">Blokk felfedező</string>\n  <string name=\"preferences_block_explorer_summary\">Külső blokk felfedező tranzakciók, címek és blokkok böngészésére használva.</string>\n  <string name=\"preferences_data_usage_title\">Adathasználat</string>\n  <string name=\"preferences_data_usage_summary\">Opciók megjelenítése a mobilhálózatokon történő adathasználat korlátozásához.</string>\n  <string name=\"preferences_remind_balance_title\">Egyenleg emlékeztető</string>\n  <string name=\"preferences_remind_balance_summary\">Néhány hét nem használat után az alkalmazás értesít, ha még vannak érméid a tárcában.</string>\n  <string name=\"preferences_show_disclaimer_title\">Figyelmeztetések mutatása</string>\n  <string name=\"preferences_show_disclaimer_summary\">Tényleg elolvastad a biztonsági megjegyzéseket? Elmentetted már a tárcádat biztonságos helyre?</string>\n  <string name=\"preferences_report_issue_title\">Hiba jelentése</string>\n  <string name=\"preferences_initiate_reset_title\">Blokklánc visszaállítása</string>\n  <string name=\"preferences_initiate_reset_summary\">Alaphelyzetbe állítja a blokkláncot, a tranzakciókat és a tárcaegyenleget. A frissítés sokáig tart, szóval csak akkor válaszd ezt, ha tudod, miért teszed.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Szeretnéd visszaállítani és visszajátszani a blokkláncot?\\n\\nEz átmenetileg elrejti a tárca egyenleged és eltávolítja a tranzakciókat. Mindkettő visszaáll a blokklánc szinkronizálás előrehaladtával.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Visszaállítás</string>\n  <string name=\"preferences_extended_public_key_title\">extended public key megjelenítése</string>\n  <string name=\"preferences_extended_public_key_summary\">Nézd meg a tárcád kiterjesztett nyilvános kulcsát, így tudod importálni másik alkalmazásokba és szolgáltatásokba. Legyél óvatos: ezt téve felfeded a pénzügyi magánéletedet annak az alkalmazásnak.</string>\n  <string name=\"bitmap_fragment_share\">Megosztás…</string>\n  <string name=\"extended_public_key_fragment_title\">Kiterjesztett nyilvános kulcs</string>\n  <string name=\"extended_public_key_fragment_share\">extended public key megosztása…</string>\n  <string name=\"report_issue_dialog_title_issue\">Hiba jelentése</string>\n  <string name=\"report_issue_dialog_title_crash\">Az előző alkalommal a program összeomlott.</string>\n  <string name=\"report_issue_dialog_title_transaction\">Hiba jelentése a kiválasztott kifizetésről</string>\n  <string name=\"report_issue_dialog_message_issue\">Kérjük, fejtsd ki a problémádat elég részletesen ahhoz, hogy reprodukálni lehessen. Ha lehetséges, írj angol nyelven.</string>\n  <string name=\"report_issue_dialog_message_crash\">Segítenél nekünk azzal, hogy elküldöd számunkra a hiba részleteit, hogy kijavíthassuk ezt a problémát a jövőben?</string>\n  <string name=\"report_issue_dialog_description\">hibaleírás</string>\n  <string name=\"report_issue_dialog_report\">Jelentés</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Készülékinformáció csatolása</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Alkalmazás napló csatolása</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Tárca információk csatolása</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Hiba küldése ezzel…</string>\n  <string name=\"about_title\">Rólunk</string>\n  <string name=\"about_version_title\">Verzió</string>\n  <string name=\"about_version_apk_hash_title\">Az APK SHA256 hash-e</string>\n  <string name=\"about_copyright_title\">Szerzői jog</string>\n  <string name=\"about_license_title\">Licensz</string>\n  <string name=\"about_source_title\">Forráskód</string>\n  <string name=\"about_category_credits\">Ez az app a következőket használja…</string>\n  <string name=\"about_credits_bitcoinj_title\">Az applikáció bitcoinj %s-t használ</string>\n  <string name=\"about_credits_zxing_title\">ZXing, egy QR-kód feldolgozó könyvtár</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, egy kriptografikus könyvtár</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, egy HTTP kliens könyvtár</string>\n  <string name=\"about_credits_moshi_title\">Moshi, egy JSON könyvtár</string>\n  <string name=\"about_credits_guava_title\">Guava, hasznos segítők gyűjteménye</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, egy naplózó keretrendszer</string>\n  <string name=\"about_market_app_title\">%s oldal</string>\n  <string name=\"about_market_app_summary\">Értékelések</string>\n  <string name=\"about_faq_title\">GYIK</string>\n  <string name=\"about_faq_summary\">Gyakran ismételt kérdések az alkalmazásról</string>\n  <string name=\"notification_coins_received_msg\">Fogadott mennyiség: %s</string>\n  <string name=\"notification_peers_connected_msg\">%d peer kapcsolódva</string>\n  <string name=\"notification_inactivity_title\">Még vannak Bitcoin-jaid ezen a készüléken!</string>\n  <string name=\"notification_inactivity_message\">Emlékezz, hogy a(z) %s egyenleged el fog veszni, ha eltávolítod a Bitcoin Wallet alkalmazást anélkül, hogy először elküldenéd.</string>\n  <string name=\"notification_inactivity_message_donate\">Ha nem érdekelnek az érméid, el is adományozhatod őket a Bitcoin Wallet projektnek.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Emlékeztess később</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Ne emlékeztess</string>\n  <string name=\"notification_channel_received_name\">Kapott fizetség</string>\n  <string name=\"notification_channel_important_name\">Fontos riasztások</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin egyenleg</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Elvet</string>\n  <string name=\"button_cancel\">Mégse</string>\n  <string name=\"button_retry\">Újra</string>\n  <string name=\"button_help\">Segítség</string>\n  <string name=\"button_add\">Hozzáadás</string>\n  <string name=\"button_delete\">Törlés</string>\n  <string name=\"button_set\">Beállítás</string>\n  <string name=\"button_remove\">Eltávolítás</string>\n  <string name=\"button_edit\">Szerkesztés</string>\n  <string name=\"button_copy\">Másolás</string>\n  <string name=\"button_paste\">Beillesztés</string>\n  <string name=\"button_share\">Megosztás</string>\n  <string name=\"button_set_as_default\">Alapértelmezetté tesz</string>\n  <string name=\"button_request_coins\">Érmék igénylése</string>\n  <string name=\"button_send_coins\">Érmék küldése</string>\n  <string name=\"button_scan\">Beolvasás</string>\n  <string name=\"button_settings\">Beállítások</string>\n  <string name=\"action_show_qr\">QR-kód megtekintése</string>\n  <string name=\"action_browse\">Böngészés</string>\n  <!--generic strings-->\n  <string name=\"time_today\">ma</string>\n  <string name=\"address_unlabeled\">(címke nélkül)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">rossz PIN!</string>\n  <string name=\"qr_code\">QR-kód</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O hiba: %s</string>\n  <string name=\"error_parse\">Elemzés hiba: %s</string>\n  <string name=\"error_http\">HTTP hiba %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetooth hiba: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-hu/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tA bal felső része a képernyőnek megjeleníti az egyenleged Bitcoin-ban és egy választott nemzeti valutát.\n\t\t\tÉrintsd meg a nemzeti valuták listájához, és érints meg egy valutát az alapértelmezettként választáshoz.\n\t\t</p>\n\t\t<p>\n\t\t\tA QR a jobb oldalon tartalmazza a bitcoin címed és használható másik fél általi beolvasásra.\n\t\t\tÉrintsd meg a QR kódot, hogy megkapd nagyobb verzióban.\n\t\t</p>\n\t\t<p>\n\t\t\tA képernyő alja a tranzakciós listáddal van fedve, ami kezdetben üres.\n\t\t\tA függő tranzakciók ki vannak szürkülve,  amíg nincsenek megerősítve.\n\t\t\tÉrints meg egy bejegyzést, hogy hozzáadd a küldők vagy fogadók címét a címjegyzékbe.\n\t\t</p>\n\t\t<p>\n\t\t\tKüldhetsz vagy kérhetsz érméket a gombok megérintésével az akciósávban.\n\t\t\tTovábbi lehetőségek elérhetők az opciók menüben.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tEzt a dialógot használva kérhetsz érméket másik személytől (akinek már fel van telepítve a Bitcoin Wallet).\n\t\t</p>\n\t\t<p>\n\t\t\tElőször adj meg egy Bitcoin összeget a kéréshez.\n\t\t</p>\n\t\t<p>\n\t\t\tAztán egyikőtöknek megvan a generált QR kód a másik személy által beolvasva.\n\t\t\tVagy elküldheted a kérésed egy irányító személynek az akciósávban a megosztás gombbal.\n\t\t\tA másik személynek rá kell kattintania a Bitcoin URL-re.\n\t\t</p>\n\t\t<p>\n\t\t\tAkárhogy is, de a másik személy bemutat egy dialógot az érmeküldésről minden mezővel előre kitöltve.\n\t\t\tHa elfogadja, akkor csak annyit kell tennie, hogy küldi a fizetést.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tÉrmeküldési folyamatot kezdeményeztél.\n\t\t\tVagy a főképernyőn keresztül jöttél ide, vagy rákattintottál a Bitcoin URL-re a mobil böngésződben.\n\t\t</p>\n\t\t<p>\n\t\t\tElőször írd be a Bitcoin címet a fizetéshez.\n\t\t\tA cím automatikusan kitöltődik a címjegyzékedből ismert bejegyzésekből.\n\t\t\tBe is olvashatsz QR kódokat Bitcoin címekkel vagy Bitcoin kéréseket az akciósávon a QR gomb megnyomásával.\n\t\t</p>\n\t\t<p>\n\t\t\tKövetkezőként láthatod, hogy mennyi Bitcoin-t tudsz ebben a pillanatban elkölteni.\n\t\t\tBármilyen különbség a főképernyőn lévő egyenleghez képest még nincs megerősítve és így még nem lehet elkölteni.\n\t\t</p>\n\t\t<p>\n\t\t\tUtoljára beírod a fizetés összegét.\n\t\t</p>\n\t\t<p>\n\t\t\tAdhatsz meg kifizetést amíg offline vagy.\n\t\t\tA Bitcoin Wallet következő újraindításánál lesz elküldve.\n\t\t\tHa azt szeretnéd, hogy a fizetés olyan gyorsan legyen feldolgozva, amennyire csak lehet, akkor bizonyosodj meg róla, hogy jól kapcsolódsz (azaz egy WLAN-on).\n\t\t</p>\n\t\t<p>\n\t\t\tMegjegyzés:\n\t\t\tA kifizetések visszavonhatatlanok!\n\t\t\tMindig ellenőrizd a fogadó címét.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Fontos biztonsági tudnivalók:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tA Bitcoin-ok a készüléken vannak tárolva.\n\t\t\t<b>Ha elveszted, akkor elveszted a Bitcoin-jaidat is.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tEz azt jelenti, hogy készítened kell <b>biztonsági mentést a tárcádról</b>!\n\t\t\tErre inkább az alkalmazáson belüli biztonsági mentés lehetőséget használd, mint egy harmadik fél biztonsági mentés alkalmazását.\n\t\t\tTartsd a biztonsági mentésed biztonságban és emlékezz a jelszóra.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Eltávolítás előtt</b> (vagy alkalmazás adatainak törlése/készüléked törlése előtt), <b>utald át a Bitcoin-jaidat másik tárcába</b>.\n\t\t\tA fennmaradó Bitcoin-ok elvesznek.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>A kifizetések visszafordíthatatlanok</b>.\n\t\t\tHa elküldöd a Bitcoin-jaidat a semmibe, szinte nincs rá mód, hogy visszakapd.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Tartsd a mobilkészüléked biztonságban!</b>\n\t\t\tNe root-old a készüléked.\n\t\t\tCsak olyan alkalmazásokat telepíts, amikben teljesen megbízol.\n\t\t\tA rosszindulatú alkalmazások megpróbálhatják ellopni a tárcádat.\n\t\t</p>\n\t\t<p>\n\t\t\tTartsd alacsonyan a kockázatot!\n\t\t\t<b>Csak kicsi összegeket használj</b> napi használatra.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-id/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"toast_wallet_reset\">Dompet diatur-ulang,\\nakan memakan waktu utk dipulihkan</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_safety\">Gunakan dlm resiko Anda. Baca &lt;u&gt;nota keamanan&lt;/u&gt;.</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_backup\">Anda seharusnya &lt;u&gt;mencadangkan dompet Anda&lt;/u&gt;!</string>\n\t<string name=\"blockchain_state_progress_hours\">%1$s, %2$d jam terlambat</string>\n\t<string name=\"blockchain_state_progress_days\">%1$s, %2$d hari terlambat</string>\n\t<string name=\"blockchain_state_progress_weeks\">%1$s, %2$d minggu terlambat</string>\n\t<string name=\"blockchain_state_progress_months\">%1$s, %2$d bulan terlambat</string>\n\t<string name=\"blockchain_state_progress_downloading\">Mensinkronisasi dgn jaringan</string>\n\t<string name=\"blockchain_state_progress_stalled\">Sinkronisasi terhenti</string>\n\t<string name=\"blockchain_state_progress_problem_storage\">Sinkronisasi: Masalah penyimpanan</string>\n\t<string name=\"blockchain_state_progress_problem_network\">Sinkronisasi: Masalah jaringan</string>\n\t<string name=\"wallet_address_fragment_clipboard_msg\">Alamat Bitcoin disalin</string>\n\t<string name=\"wallet_balance_fragment_replaying\">Saldo tidak tersedia saat pengulangan.</string>\n\t<string name=\"exchange_rates_activity_title\">Nilai Tukar</string>\n\t<string name=\"exchange_rates_fragment_default\">(standar)</string>\n\t<string name=\"exchange_rates_fragment_rate\">nilai</string>\n\t<string name=\"exchange_rates_fragment_balance\">saldo</string>\n\t<string name=\"exchange_rates_fragment_source\">Harga diambil dari %s</string>\n\t<string name=\"wallet_transactions_options_filter_received\">Diterima</string>\n\t<string name=\"wallet_transactions_options_filter_all\">Keduanya</string>\n\t<string name=\"wallet_transactions_options_filter_sent\">Dikirim</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_received\">Tidak ada Bitcoin yg diterima.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_sent\">Tidak ada Bitcoin yg dikirim.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_howto\">Bagaimana mendapatkan Bitcoin?\\nTukar dgn uang tradisional,\\njual barang atau jasa atau\\ndengan bekerja.</string>\n\t<string name=\"wallet_transactions_row_warning_backup\">Selamat, Anda menerima pembayaran pertama Anda! Sudahkah Anda &lt;u&gt;mencadangkan dompet Anda&lt;/u&gt;, utk hindari kehilangan?</string>\n\t<string name=\"wallet_transactions_fragment_coinbase\">ditambang</string>\n\t<string name=\"wallet_transactions_fragment_internal\">Internal</string>\n\t<string name=\"wallet_options_safety\">Nota keamanan</string>\n\t<string name=\"wallet_options_donate\">Tip / Donasi</string>\n\t<string name=\"wallet_donate_address_label\">Donasi untuk Bitcoin Wallet</string>\n\t<string name=\"wallet_low_storage_dialog_title\">Penyimpanan Internal tdk cukup!</string>\n\t<string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet menggunakan penyimpanan internal untuk meyimpan transaksi dan blok. Jika kekurangan ruang, ia akan berhenti berfungsi dan Bitcoin Anda dlm bahaya!\\n\\nApakah Anda ingin buka Manajer Aplikasi untuk menghapus apl tak terpakai?</string>\n\t<string name=\"wallet_low_storage_dialog_button_apps\">Mengelola Apl</string>\n\t<string name=\"wallet_timeskew_dialog_title\">Periksa pengaturan waktu!</string>\n\t<string name=\"wallet_timeskew_dialog_msg\">Waktu perangkat Anda tertinggal %d menit. Anda mungkin tidak dapat mengirim atau menerima Bitcoin karena hal ini.\\n\\nAnda seharusnya memeriksa dan atur kembali pengaturan waktu dan zona waktu Anda.</string>\n\t<string name=\"wallet_version_dialog_title\">Versi baru tersedia!</string>\n\t<string name=\"wallet_version_dialog_msg\">Versi ini perbaikan bug penting. Untuk rincian, lihatlah catatan perubahan di %s.</string>\n\t<string name=\"wallet_version_dialog_button_binary\">Unduh</string>\n\t<string name=\"wallet_old_sdk_dialog_title\">Versi Android kedaluwarsa</string>\n\t<string name=\"wallet_old_sdk_dialog_message\">Salah satu kemungkinan Bitcoin Wallet versi akan datang tidak akan mendukung ponsel Anda lagi. Dalam beberapa kasus, akan sulit untuk menggunakan koin di ponsel ini.\\n\\nKecuali Anda tahu apa yang Anda lakukan, sangat direkomendasikan untuk segera memindahkan koin Anda.</string>\n\t<string name=\"send_coins_activity_title\">Kirim Bitcoin</string>\n\t<string name=\"send_coins_fragment_receiving_address_label\">Bayar ke</string>\n\t<string name=\"send_coins_fragment_receiving_address_hint\">masukkan alamat atau nama</string>\n\t<string name=\"send_coins_fragment_receiving_address_error\">Alamat Bitcoin Salah!</string>\n\t<string name=\"send_coins_fragment_pending\">(%s menunggu konfirmasi)</string>\n\t<string name=\"send_coins_fragment_amount_label\">Jumlah pembayaran</string>\n\t<string name=\"send_coins_fragment_button_send\">Kirim</string>\n\t<string name=\"send_coins_fragment_button_back\">Kembali</string>\n\t<string name=\"send_coins_preparation_msg\">Menandai…</string>\n\t<string name=\"send_coins_sending_msg\">Mengirim…</string>\n\t<string name=\"send_coins_sent_msg\">Terkirim!</string>\n\t<string name=\"send_coins_failed_msg\">Gagal!</string>\n\t<string name=\"send_coins_error_msg\">Gagal mengirim koin!</string>\n\t<string name=\"send_coins_options_empty\">Dompet kosong</string>\n\t<string name=\"request_coins_activity_title\">Meminta BItcoin</string>\n\t<string name=\"request_coins_fragment_amount_label\">Jumlah permintaan (pilihan)</string>\n\t<string name=\"request_coins_fragment_initiate_request_qr\">Berikan kode untuk dipindai oleh pengirim.</string>\n\t<string name=\"request_coins_fragment_initiate_request_nfc\">Atau tempelkan pada ponsel dgn NFC</string>\n\t<string name=\"request_coins_clipboard_msg\">Permintaan Bitcoin disalin</string>\n\t<string name=\"request_coins_share_dialog_title\">Berbagi permintaan Bitcoin…</string>\n\t<string name=\"request_coins_options_local_app_title\">Meminta dari apl lokal</string>\n\t<string name=\"address_book_activity_title\">Buku Alamat</string>\n\t<string name=\"address_book_list_receiving_title\">Alamat Anda</string>\n\t<string name=\"address_book_list_sending_title\">Mengirim alamat</string>\n\t<string name=\"address_book_empty_text\">Tidak ada masukan di buku alamat</string>\n\t<string name=\"address_book_context_send_title\">Kirim Bitcoin ke alamat</string>\n\t<string name=\"address_book_context_edit_title\">Mengubah alamat</string>\n\t<string name=\"address_book_context_remove_title\">Hapus alamat</string>\n\t<string name=\"address_book_context_copy_to_clipboard_title\">Salin</string>\n\t<string name=\"address_book_options_scan_title\">Pindai alamat</string>\n\t<string name=\"address_book_row_message_compromised_key\">Alamat ini mungkin telah dibajak. Anda seharusnya tidak lagi menggunakannya utk menerima koin.</string>\n\t<string name=\"edit_address_book_entry_dialog_title_add\">Tambahkan alamat</string>\n\t<string name=\"edit_address_book_entry_dialog_title_edit\">Ubah alamat</string>\n\t<string name=\"edit_address_book_entry_dialog_address_label\">Alamat</string>\n\t<string name=\"edit_address_book_entry_dialog_label_label\">Nama</string>\n\t<string name=\"edit_address_book_entry_dialog_button_edit\">Simpan</string>\n\t<string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Pembayaran ini belum disiarkan.</string>\n\t<string name=\"transaction_row_message_purpose_key_rotation\">Transaksi ini memperkuat dompet Anda terhadap pencurian. &lt;u&gt;Rincian.&lt;/u&gt;</string>\n\t<string name=\"transaction_row_message_received_unconfirmed_unlocked\">Pembayaran ini bisa digunakan dalam beberapa menit.</string>\n\t<string name=\"transaction_row_message_received_dead\">Pembayaran ini dibatalkan oleh pengirim.</string>\n\t<string name=\"transaction_row_message_received_dust\">Jumlah kecil ini tidak akan pernah bisa digunakan secara ekonomis.</string>\n\t<string name=\"network_monitor_activity_title\">Monitor Jaringan</string>\n\t<string name=\"network_monitor_peer_list_title\">Peer</string>\n\t<string name=\"network_monitor_block_list_title\">Blok</string>\n\t<string name=\"peer_list_fragment_empty\">Tidak ada peer yang terhubung</string>\n\t<string name=\"peer_list_row_ping_time\">⇆ %d ms</string>\n\t<string name=\"import_keys_dialog_title\">Kembalikan kunci pribadi</string>\n\t<string name=\"import_keys_dialog_button_import\">Pulihkan</string>\n\t<string name=\"import_keys_dialog_failure\">Kunci pribadi tidak dpt dipulihkan:\\n\\n%s\\n\\nKata sandi salah?</string>\n\t<string name=\"export_keys_dialog_title\">Cadangkan kunci pribadi</string>\n\t<string name=\"backup_wallet_dialog_message\">Kunci pribadi Anda akan dienkripsi dgn kata sandi terpilih dan akan disimpan ke penyimpanan eksternal.</string>\n\t<string name=\"export_keys_dialog_button_export\">Cadangkan</string>\n\t<string name=\"export_keys_dialog_success\">Kunci pribadi Anda telah dicadangkan ke\\n\\n%s\\n\\nAmankan, dan jagalah kata sandi Anda!</string>\n\t<string name=\"export_keys_dialog_failure\">Kunci pribadi Anda tidak dpt dicadangkan:\\n%s</string>\n\t<string name=\"import_export_keys_dialog_password\">kata sandi</string>\n\t<string name=\"import_export_keys_dialog_show\">Tampilkan sandi</string>\n\t<string name=\"import_export_keys_dialog_failure_title\">Kesalahan</string>\n\t<string name=\"import_keys_intent_filter_action\">Pulihkan kunci pribadi</string>\n\t<string name=\"scan_camera_problem_dialog_title\">Maaf</string>\n\t<string name=\"scan_camera_problem_dialog_message\">Kamera mengalami masalah. Anda mungkin harus menyala-ulangkan ponsel.</string>\n\t<string name=\"input_parser_invalid_bitcoin_uri\">Tautan Bitcoin Salah:\\n%s</string>\n\t<string name=\"input_parser_invalid_address\">Alamat bitcoin salah!\\n(Keliru dgn Mainet/Testnet?)</string>\n\t<string name=\"preferences_activity_title\">Pengaturan</string>\n\t<string name=\"preferences_category_diagnostics\">Diagnosa</string>\n\t<string name=\"preferences_category_labs\">Lab</string>\n\t<string name=\"preferences_trusted_peer_title\">Peer Terpercaya</string>\n\t<string name=\"preferences_trusted_peer_summary\">IP atau hostname dari satu peer untuk dihubungkan.</string>\n\t<string name=\"preferences_trusted_peer_only_title\">Lewati Pencarian Peer Reguler</string>\n\t<string name=\"preferences_trusted_peer_only_summary\">Cegah hubungan dengan peer lain selain peer terpercaya.</string>\n\t<string name=\"preferences_data_usage_title\">Penggunaan data</string>\n\t<string name=\"preferences_data_usage_summary\">Tampilkan pilihan utk pembatasan penggunaan data ponsel.</string>\n\t<string name=\"preferences_report_issue_title\">Laporkan Masalah</string>\n\t<string name=\"preferences_initiate_reset_title\">Atur-ulang Rantai-blok</string>\n\t<string name=\"preferences_initiate_reset_summary\">Atur-ulang rantai-blok, transaksi dan saldo dompet. pengulangan akan berlangsung lama.</string>\n\t<string name=\"preferences_initiate_reset_dialog_message\">Apakah Anda ingin mengatur-ulang untuk pengulangan rantai-blok?\\n\\nIni akan menyembunyikan saldo Anda dan hapus transaksi sementara. Keduanya akan pulih setelah rantai-blok sinkron.</string>\n\t<string name=\"preferences_initiate_reset_dialog_positive\">Atur-ulang</string>\n\t<string name=\"report_issue_dialog_title_issue\">Laporkan masalah</string>\n\t<string name=\"report_issue_dialog_title_crash\">Kesalahan terdeteksi</string>\n\t<string name=\"report_issue_dialog_message_issue\">Mohon jelaskan masalah Anda dgn jelas sehingga pengembang bisa perbaiki.</string>\n\t<string name=\"report_issue_dialog_message_crash\">Apakah Anda ingin kirim laporan kesalahan, bantu perbaiki masalah ini di akan datang?</string>\n\t<string name=\"report_issue_dialog_description\">Penjelasan masalah</string>\n\t<string name=\"report_issue_dialog_report\">Laporkan</string>\n\t<string name=\"report_issue_dialog_collect_device_info\">Tambahkan informasi ponsel</string>\n\t<string name=\"report_issue_dialog_collect_application_log\">Tambahkan catatan aplikasi</string>\n\t<string name=\"report_issue_dialog_collect_wallet_dump\">Tambahkan dump dompet</string>\n\t<string name=\"report_issue_dialog_mail_intent_chooser\">Kirim laporan dgn…</string>\n\t<string name=\"about_title\">Mengenai</string>\n\t<string name=\"about_license_title\">Lisensi</string>\n\t<string name=\"about_category_credits\">Apl ini menggunakan…</string>\n\t<string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n\t<string name=\"about_credits_zxing_title\">ZXing</string>\n\t<string name=\"about_market_app_title\">Halaman Apl %s</string>\n\t<string name=\"notification_coins_received_msg\">Diterima %s</string>\n\t<string name=\"notification_peers_connected_msg\">%d peer terhubung</string>\n\t<!-- generic buttons -->\n\t<string name=\"button_ok\">IYA</string>\n\t<string name=\"button_dismiss\">Tolak</string>\n\t<string name=\"button_cancel\">Batal</string>\n\t<string name=\"button_help\">Bantuan</string>\n\t<string name=\"button_add\">Tambahkan</string>\n\t<string name=\"button_delete\">Hapus</string>\n\t<string name=\"button_edit\">Ubah</string>\n\t<string name=\"button_copy\">Salin</string>\n\t<string name=\"button_paste\">Tempel</string>\n\t<string name=\"button_share\">Berbagi</string>\n\t<string name=\"button_set_as_default\">Tetapkan sebagai standar</string>\n\t<string name=\"button_request_coins\">Meminta koin</string>\n\t<string name=\"button_send_coins\">Kirim koin</string>\n\t<string name=\"button_scan\">Pindai</string>\n\t<string name=\"button_settings\">Pengaturan</string>\n\t<string name=\"action_show_qr\">Tampilkan kode QR</string>\n\t<string name=\"time_today\">hari ini</string>\n\t<string name=\"address_unlabeled\">(tak berlabel)</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-it/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Il portafoglio è stato reinizializzato!\\nOccorrerà del tempo per ripristinarlo.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Usalo a tuo rischio. Leggi le &lt;u&gt;avvertenze per la sicurezza&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Hai bisogno di &lt;u&gt;eseguire un backup del tuo portafoglio&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d ore indietro</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d giorni indietro</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d settimane indietro</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d mesi indietro</string>\n  <string name=\"blockchain_state_progress_downloading\">Sincronizzazione con la rete</string>\n  <string name=\"blockchain_state_progress_stalled\">Sincronizzazione bloccata</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Sincronizzazione: problema di Memorizzazione</string>\n  <string name=\"blockchain_state_progress_problem_network\">Sincronizzazione: problema di Rete</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Indirizzo Bitcoin copiato negli appunti</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Per proteggere la tua privacy, il tuo indirizzo cambierà alla ricezione di un pagamento.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Il tuo dispositivo è vecchio e insicuro. Si prega di usarlo solo per piccole quantità.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Questo importo è alto per essere portato con se. Si prega di spostarne alcuni in un luogo più sicuro.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Il conto non è disponibile durante la ripetizione.</string>\n  <string name=\"exchange_rates_activity_title\">Tasso di cambio</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Impossibile trovare il tasso di cambio.</string>\n  <string name=\"exchange_rates_fragment_default\">(predefinito)</string>\n  <string name=\"exchange_rates_fragment_rate\">tasso</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Prezzo da %s</string>\n  <string name=\"exchange_rates_options_search\">Ricerca tasso di cambio</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Nessun Bitcoin ancora ricevuto</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Nessun Bitcoin ancora inviato</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Come ottenere Bitcoins?\\nBarattali per soldi reali,\\nvendi beni o servizi oppure\\nricavali lavorando.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Congratulazioni, hai ricevuto i tuoi primi pagamenti! Hai già &lt;u&gt;eseguito un backup del tuo portafoglio &lt;/u&gt;, per proteggerlo dai danni?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Suggerimento: per incrementare la sicurezza del tuo portafoglio, puoi &lt;u&gt;criptare il tuo dispositivo&lt;/u&gt;. Questo protegge i dati anche delle altre applicazioni.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Il network di Bitcoin è attualmente in manutenzione. Sei pregato di non inviare e non ricevere coins fino alla fine della manutenzione.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">minato</string>\n  <string name=\"wallet_transactions_fragment_internal\">Interna</string>\n  <string name=\"wallet_transactions_options_filter\">Filtro</string>\n  <string name=\"wallet_transactions_options_filter_all\">Tutti i pagamenti</string>\n  <string name=\"wallet_transactions_options_filter_received\">Pagamenti ricevuti</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Pagamenti inviati</string>\n  <string name=\"wallet_options_safety_menu\">Salvataggio</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Imposta il PIN per spendere.</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Cambia il PIN di spesa.</string>\n  <string name=\"wallet_options_safety\">Note di sicurezza</string>\n  <string name=\"wallet_options_technical_notes_title\">Note tecniche</string>\n  <string name=\"wallet_options_donate\">Mancia / donazione</string>\n  <string name=\"wallet_donate_address_label\">Donazione per Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Avviso di sicurezza</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Il componente tuo dispositivo Bluetooth è vulnerabile. I tuoi Bitcoins su questo dispositivo sono a rischio, indipendentemente dall\\'app che stai usando per salvarli! Suggeriamo di spegnere immediatamente il Bluetooth e richiedere al produttore del vostro dispositivo un aggiornamento del SO Android che implementi una patch di sicurezza di livello \\'%s\\' o superiore.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Spazio di memorizzazione interno quasi esaurito!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet usa lo spazio interno per ricordarsi le transizioni e i blocchi. Se non hai più spazio, l\\'applicazione smetterà di funzionare e i tuoi Bitcoin saranno a rischio!\\n\\nVuoi aprire il gestore delle applicazioni per disinstallare le applicazioni inutili/non necessarie?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Gestisci applicazioni</string>\n  <string name=\"wallet_timeskew_dialog_title\">Controlla data e ora!</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Il tuo dispositivo è spento da %d minuti. Probabilmente non puoi inviare ne ricevere Bitcoins per via di questo problema.\\n\\nDevi controllare e correggere l\\'ora e il fuso orario del tuo dispositivo.</string>\n  <string name=\"wallet_version_dialog_title\">Una nuova versione è disponibile!</string>\n  <string name=\"wallet_version_dialog_msg\">Questa versione ha corretto bug importanti. Per dettagli, guarda il change log su %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Se non si vede un aggiornamento, questo probabilmente significa che la vostra versione di Android non è più supportata.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Scarica</string>\n  <string name=\"wallet_old_sdk_dialog_title\">La versione Android non è aggiornata</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Potrebbe essere che le prossime versioni di Bitcoin Wallet non supporterà più il tuo dispositivo. In questi casi, potrebbe essere difficile spendere i Bitcoin su questo dispositivo.\\n\\nA meno che tu non sappia quello che stai facendo, ti raccomandiamo di spostare il tuo denaro al più presto.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problema nell\\'aprire le impostazioni</string>\n  <string name=\"send_coins_activity_title\">Invia Bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Acquisizione firma da %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Acquisizione firma fallita</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Firma errata!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">confermato da: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">sconosciuto</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Paga a</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">inserisci indirizzo o nome</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Indirizzo Bitcoin errato!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Stai per inviare a te stesso!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">completo\\nindirizzo</string>\n  <string name=\"send_coins_fragment_pending\">(%s in attesa di conferma)</string>\n  <string name=\"send_coins_fragment_amount_label\">Importo da pagare</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Va pagata una tassa dell\\'%s. Importante: usa \\'economic\\' solo se non ti interessa riguardo il tempo di conferma.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Sarà pagata una commissione di rete di %s.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Sarà pagata una commissione prioritaria di %s. Se ti interessano commissioni basse, usa la priorità solo se hai bisogno di una conferma il prima possibile.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">L\\'importo è troppo piccolo per l\\'invio.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Non ci sono abbastanza monete disponibili. Ne mancano %s.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">La quantità di piccoli pagamenti nel vostro portamonete non raggiunge valori inviabili.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">I pagamenti correnti non sono possibili perché è in corso un replay.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Invia il pagamento al beneficiario</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Il tuo pagamento è stato inviato con successo.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Il tuo pagamento via connessione diretta è stato rifiutato.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Pagamento diretto fallito</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Il tuo pagamento sarà trasmesso tramite la rete P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Invia</string>\n  <string name=\"send_coins_fragment_button_back\">Indietro</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Non abbastanza monete disponibili</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Manca %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Vuoi pagare con tutto quello che hai?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Svuotamento del portafoglio fallito</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Decrittazione…</string>\n  <string name=\"send_coins_preparation_msg\">Sottoscrittura…</string>\n  <string name=\"send_coins_sending_msg\">Invio in corso…</string>\n  <string name=\"send_coins_sent_msg\">Inviato!</string>\n  <string name=\"send_coins_failed_msg\">Fallito!</string>\n  <string name=\"send_coins_error_msg\">Problemi durante l\\'invio dei Bitcoins!</string>\n  <string name=\"send_coins_options_fee_category\">Commissione</string>\n  <string name=\"send_coins_options_fee_category_economic\">Economica</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normale</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioritaria</string>\n  <string name=\"send_coins_options_empty\">Portafoglio vuoto</string>\n  <string name=\"raise_fee_dialog_title\">Aumenta le commissioni di rete</string>\n  <string name=\"raise_fee_dialog_message\">Vuoi aumentare le commissioni di rete di questo pagamento di %s? Renderà la conferma del pagamento più veloce.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Determinazione commissioni rete…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Le commissioni di rete di questo pagamento non possono essere alzate.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Sto decriptando…</string>\n  <string name=\"raise_fee_dialog_state_done\">Fatto.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Aumenta</string>\n  <string name=\"sweep_wallet_activity_title\">Spazzola portafoglio cartaceo</string>\n  <string name=\"sweep_wallet_fragment_intro\">Stai per spazzolare un portamonete carteceo o coupon. Questo sposterà tutte le monete dal foglio al tuo portamonete su questo dispositivo. Quando la transazione è confermata, il foglio non avrà più alcun valore e non dovrebbe essere ri-utilizzato per ragioni di sicurezza.</string>\n  <string name=\"sweep_wallet_fragment_hint\">I portafogli cartacei sono per lo più comunemente utilizzzati come cold storage. Alcuni ATM li stampano sui loro scontrini invece che inviare le monete al vostro dispositivo mobile. La gente a volte usano portafogli cartacei pre-caricati per spostare valore in giro (non raccomandato)</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Inizia scannerizzando la chiave privata di un portafoglio cartaceo. Usa il pulsante di azione della fotocamera.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">La chiave privata è protetta con una password.</string>\n  <string name=\"sweep_wallet_fragment_password\">password</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">password errata!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Quantità da spostare</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Decritta</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Svuota</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Decrittazione in corso…\\n impiega fino a un massimo di 2 minuti.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Caricamento saldo…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Caricamento saldo del portafoglio fallito</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Non hai abbastanza soldi disponibili</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">La quantità di coins che hai nel portafoglio è troppo piccolo</string>\n  <string name=\"sweep_wallet_options_reload\">Ricarica saldo</string>\n  <string name=\"maintenance_dialog_title\">Manutenzione raccomandata</string>\n  <string name=\"maintenance_dialog_message\">Hai ricevuto %1$s su indirizzi insicuri. Vorresti muovere queste monete su indirizzi sicuri? Si pagherà una piccola commissione di rete di %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Decrittazione in corso…</string>\n  <string name=\"maintenance_dialog_state_done\">Fatto.</string>\n  <string name=\"maintenance_dialog_button_move\">Sposta</string>\n  <string name=\"request_coins_activity_title\">Richiedi Bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Importo richiesto (opzionale)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Accettazione pagamento via Bluetooth per un procedimento più affidabile</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Questo codice deve essere scansionato dal mittente.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Oppure tocca un dispositivo abilitato per NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">Richiesta Bitcoin copiata negli appunti</string>\n  <string name=\"request_coins_share_dialog_title\">Condividi richiesta di Bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">Nessun\\'altra applicazione Bitcoin trovata</string>\n  <string name=\"request_coins_options_local_app_title\">Richiesta dall\\'app locale</string>\n  <string name=\"address_book_activity_title\">Rubrica</string>\n  <string name=\"address_book_list_receiving_title\">I tuoi indirizzi</string>\n  <string name=\"address_book_list_receiving_random\">Vecchi indirizzi</string>\n  <string name=\"address_book_list_sending_title\">Invio di indirizzi</string>\n  <string name=\"address_book_empty_text\">Nessun indirizzo in rubrica</string>\n  <string name=\"address_book_context_send_title\">Invia Bitcoins all\\'indirizzo</string>\n  <string name=\"address_book_context_edit_title\">Modifica indirizzo</string>\n  <string name=\"address_book_context_remove_title\">Rimuovi indirizzo</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Copia negli appunti</string>\n  <string name=\"address_book_options_scan_title\">Scansione indirizzo</string>\n  <string name=\"address_book_options_scan_invalid\">Dati scannerizzati irriconoscibli</string>\n  <string name=\"address_book_options_scan_own_address\">L\\'indirizzo scansionato è tuo.</string>\n  <string name=\"address_book_row_message_compromised_key\">Questo indirizzo potrebbe essere compromesso. Non dovresti usarlo più per ricevere denaro.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Aggiungi indirizzo inviante</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Modifica etichetta dell\\'indirizzo inviante</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Aggiungi etichetta al tuo indirizzo</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Modifica etichetta del tuo indirizzo</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Indirizzo</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etichetta</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Salva</string>\n  <string name=\"transaction_row_fee\">Commissione di rete</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Questo pagamento non è ancora stato trasmesso.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Questa transazione rinforza il tuo portafoglio contro i furti. &lt;u&gt;Maggiori dettagli.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Questa transazione aumenta l\\'imposta della rete per un precedente pagamento.</string>\n  <string name=\"transaction_row_message_received_direct\">Questo pagamento è stato ricevuto direttamente. C\\'è il rischio che non diventi spendibile.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">La conferma di questo pagamento è in ritardo, probabilmente a causa di un sovraccarico della rete Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Questo pagamento dovrebbe diventare spendibile entro pochi minuti.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">A causa di manutenzione sulla rete Bitcoin, questa transazione non dovrebbe essere considerata attendibile fino a quando non sarà pienamente confermata.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Questo pagamento ha un notevole rischio di essere invertito dal mittente! Se puoi, attenti la conferma.</string>\n  <string name=\"transaction_row_message_received_dead\">Questo pagamento è stato revocato dal mittente.</string>\n  <string name=\"transaction_row_message_received_dust\">Questo piccolo importo probabilmente non sarà mai speso economicamente.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Questo pagamento paga molti portamonete oltre ai vostri, rallentando l\\'applicazione nel tempo. Se è possibile, provare a ricevere i pagamenti che paghino soltanto voi.</string>\n  <string name=\"transaction_row_message_received_rbf\">Il pagamento è stato ritardato perché il mittente ha usato un metodo di transazione non sicura.</string>\n  <string name=\"network_monitor_activity_title\">Controllo della rete</string>\n  <string name=\"network_monitor_peer_list_title\">Peers</string>\n  <string name=\"network_monitor_block_list_title\">Blocchi</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Aggiustamento difficoltà mining</string>\n  <string name=\"block_row_mining_reward_adjustment\">Dimezzamento ricompensa mining</string>\n  <string name=\"block_row_now\">proprio ora</string>\n  <string name=\"peer_list_fragment_empty\">Nessun peer connesso</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Ripristina portafoglio</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Stai per sostituire il tuo attuale portafoglio. Se non hai un backup tutte le monete nell\\' attuale portafoglio andranno perse.</string>\n  <string name=\"import_keys_dialog_warning\">Importante: Non caricare chiavi private da dubbiose provenienze! Altri possono ottenere il controllo sui vostri fondi se lo fate.</string>\n  <string name=\"import_keys_dialog_button_import\">Ripristina</string>\n  <string name=\"restore_wallet_dialog_success\">Il portafoglio è stato recuperato.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Il tuo portafoglio è stato ripristinato correttamente. Il bilancio verrà determinato in un secondo momento. Questo potrebbe richiedere diverso tempo</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Attenzione: il tuo portafogli è protetto da un PIN. Assicurati di ricordartelo prima di ricevere questo portafogli.</string>\n  <string name=\"import_keys_dialog_failure\">Il portafoglio non può essere recuperato:\\n\\n%s\\n\\nPassword sbagliata?</string>\n  <string name=\"export_keys_dialog_title\">Backup portafoglio</string>\n  <string name=\"backup_wallet_dialog_message\">Il vostro backup sarà cifrato con la password scelta e scritto su una memoria esterna.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Il tuo portafoglio è protetto da un PIN di sicurezza. Assicurati di ricordare il PIN assieme alla password di backup!</string>\n  <string name=\"export_keys_dialog_button_export\">Backup</string>\n  <string name=\"export_keys_dialog_success\">Le tue chiavi private sono state salvate con un backup a\\n\\n%s\\n\\nMantienile sicure, e mantieni sicura anche la tua password!</string>\n  <string name=\"export_keys_dialog_failure\">Non è stato possibile effettuare il backup del tuo portafoglio:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">password</string>\n  <string name=\"backup_wallet_dialog_password_again\">ancora</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">sbagliata!</string>\n  <string name=\"import_export_keys_dialog_show\">Mostra password</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Errore</string>\n  <string name=\"import_keys_intent_filter_action\">Ripristina portafoglio</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN di sicurezza</string>\n  <string name=\"encrypt_keys_dialog_message\">La spesa dal tuo wallet verrà protetta con il PIN scelto.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Importante: Dovrai ricordarti il tuo PIN! Non usare numeri comuni (come il tuo compleanno).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Vecchio PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">debole</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">giusta</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">buono</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">forte</string>\n  <string name=\"encrypt_keys_dialog_show\">mostra PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Crittografando…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Decrittazione…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Fatto.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Scusa</string>\n  <string name=\"scan_camera_problem_dialog_message\">La videocamera ha un problema. Probabilmente è necessario riavviare il dispositivo.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Permesso per la fotocamera</string>\n  <string name=\"scan_camera_permission_dialog_message\">Per eseguire la scansione dei codici QR, devi concedere il permesso per usare la fotocamera.</string>\n  <string name=\"input_parser_io_error\">Impossibile leggere i dati:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Impossibile classificare l\\'input:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">URI Bitcoin errato:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Ricevuto indirizzo bitcoin non valido!\\n(Hai mescolato la mainnet con la testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Impossibile verificare la richiesta di pagamento:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Richiesta di pagamento invalida:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Transazione non valida:\\n%s</string>\n  <string name=\"preferences_activity_title\">Impostazioni</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostica</string>\n  <string name=\"preferences_category_labs\">Laboratori</string>\n  <string name=\"preferences_precision_title\">Denominazione e precisione</string>\n  <string name=\"preferences_precision_summary\">Unità per mostrare gli importi. Questo non influisce calcoli.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 cifre decimali</string>\n  <string name=\"preferences_precision_labels_6\">µBTC, 6 cifre decimali</string>\n  <string name=\"preferences_precision_labels_4\">µBTC, 4 cifre decimali</string>\n  <string name=\"preferences_precision_labels_2_3\">µBTC, 2 cifre decimali</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, nessuna cifra decimale</string>\n  <string name=\"preferences_own_name_title\">Nome</string>\n  <string name=\"preferences_own_name_summary\">Il tuo nome da aggiungere alle richieste di pagamento. Prova a mantenerlo corto.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Auto-chiusura messaggio di invio monete</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Quando viene fatto un pagamento, il messaggio di invio si chiuderà automaticamente.</string>\n  <string name=\"preferences_trusted_peer_title\">Peer attendibili</string>\n  <string name=\"preferences_trusted_peer_summary\">Indirizzo IP o hostname di un singolo peer a cui connettersi.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Risoluzione…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Hostname sconosciuto!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Salta il regolare rilevamento dei peer</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Impedisce il collegamento a qualsiasi peer oltre che ai peer affidabili.</string>\n  <string name=\"preferences_block_explorer_title\">Analizzatore di blocchi</string>\n  <string name=\"preferences_block_explorer_summary\">Analizzatore di blocchi esterno da utilizzare per esaminare transazioni, indirizzi e blocchi.</string>\n  <string name=\"preferences_data_usage_title\">Utilizzo dei dati</string>\n  <string name=\"preferences_data_usage_summary\">Mostra le opzioni per restringere l\\'utilizzo dei dati su reti mobili.</string>\n  <string name=\"preferences_remind_balance_title\">Promemoria saldo.</string>\n  <string name=\"preferences_remind_balance_summary\">Dopo un paio di settimane in disuso, l\\'app notificherà se ci sono ancora monete nel portafoglio.</string>\n  <string name=\"preferences_show_disclaimer_title\">Controlla l\\'esenzione delle responsabilità</string>\n  <string name=\"preferences_show_disclaimer_summary\">Hai veramente letto le note di sicurezza? Hai già fatto il backup del tuo portafogli in un posto sicuro?</string>\n  <string name=\"preferences_report_issue_title\">Segnala un problema</string>\n  <string name=\"preferences_initiate_reset_title\">Reinizializza il block chain</string>\n  <string name=\"preferences_initiate_reset_summary\">Reinizializza il block chain, transazioni e conto del portafoglio. Il processo impiegherà un po\\'.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Vorresti riavviare e ripetere il block chain?\\n\\nQuesto nasconderà temporaneamente il tuo bilancio dal portafoglio, e rimuoverà le transazioni. Entrambi saranno recuperati con la sincronizzazione del block chain.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Reset</string>\n  <string name=\"preferences_extended_public_key_title\">Mostra extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Mostra la chiave pubblica estesa del tuo portafoglio, in modo tale che possa essere importata su altre applicazioni e servizi. Fai attenzione: facendo ciò ti priverai della tua privacy monetaria nei confronti dell\\'applicazione.</string>\n  <string name=\"bitmap_fragment_share\">Condividi…</string>\n  <string name=\"extended_public_key_fragment_title\">Chiave pubblica estesa</string>\n  <string name=\"extended_public_key_fragment_share\">Condividi extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Segnala un problema</string>\n  <string name=\"report_issue_dialog_title_crash\">Crash precedente rilevato</string>\n  <string name=\"report_issue_dialog_title_transaction\">Segnala il problema sul pagamento selezionato</string>\n  <string name=\"report_issue_dialog_message_issue\">Per piacere descrivi abbastanza precisamente il tuo problema in modo che sia riproducibile. Usa la lingua inglese se puoi.</string>\n  <string name=\"report_issue_dialog_message_crash\">Vorresti inviare una segnalazione di crash, aiutando a correggere questo problema nel futuro?</string>\n  <string name=\"report_issue_dialog_description\">descrizione del problema</string>\n  <string name=\"report_issue_dialog_report\">Segnala</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Allega informazioni sul dispositivo</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Allega il registro dell\\'applicazione</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Allega il dump del portafoglio</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Invio della segnalazione…</string>\n  <string name=\"about_title\">Informazioni</string>\n  <string name=\"about_version_title\">Versione</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">Licenza</string>\n  <string name=\"about_source_title\">Codice Sorgente</string>\n  <string name=\"about_category_credits\">Questa applicazione fa uso di…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, un\\'implementazione del protocollo Bitcoin</string>\n  <string name=\"about_credits_zxing_title\">ZXing, una libreria di elaborazione di QR-code</string>\n  <string name=\"about_market_app_title\">Pagina su %s</string>\n  <string name=\"about_market_app_summary\">Recensire o votare l\\'app</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Domande richieste frequentemente riguardo all\\'app</string>\n  <string name=\"notification_coins_received_msg\">Ricevuti %s</string>\n  <string name=\"notification_peers_connected_msg\">Connesso a %d peers</string>\n  <string name=\"notification_inactivity_title\">Hai ancora dei Bitcoin su questo dispositivo!</string>\n  <string name=\"notification_inactivity_message\">Ricorda che il tuo saldo di %s andrà perso se disinstalli l\\'app Bitcoin Wallet senza prima averli inviati via.</string>\n  <string name=\"notification_inactivity_message_donate\">Se non sei interessato ai tuoi soldi, puoi anche donarli al progetto Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Ricordamelo</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Non ricordarmelo</string>\n  <string name=\"notification_channel_received_name\">Pagamenti ricevuti</string>\n  <string name=\"notification_channel_ongoing_name\">Attività in background</string>\n  <string name=\"notification_channel_important_name\">Avvisi importanti</string>\n  <string name=\"appwidget_wallet_balance_title\">Saldo Bitcoin</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Chiudi</string>\n  <string name=\"button_cancel\">Annulla</string>\n  <string name=\"button_retry\">Riprova</string>\n  <string name=\"button_help\">Aiuto</string>\n  <string name=\"button_add\">Aggiungi</string>\n  <string name=\"button_delete\">Cancella</string>\n  <string name=\"button_set\">Imposta</string>\n  <string name=\"button_remove\">Rimuovi</string>\n  <string name=\"button_edit\">Modifica</string>\n  <string name=\"button_copy\">Copia</string>\n  <string name=\"button_paste\">Incolla</string>\n  <string name=\"button_share\">Condividi</string>\n  <string name=\"button_set_as_default\">Imposta come predefinito</string>\n  <string name=\"button_request_coins\">Richiedi Bitcoins</string>\n  <string name=\"button_send_coins\">Invia Bitcoins</string>\n  <string name=\"button_scan\">Analizza</string>\n  <string name=\"button_settings\">Impostazioni</string>\n  <string name=\"action_show_qr\">Mostra codice QR</string>\n  <string name=\"action_browse\">Sfoglia</string>\n  <!--generic strings-->\n  <string name=\"time_today\">oggi</string>\n  <string name=\"address_unlabeled\">(non etichettato)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">PIN errato!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O errore: %s</string>\n  <string name=\"error_parse\">Errore di analisi: %s</string>\n  <string name=\"error_http\">Errore HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Errore bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-it/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tLa parte in alto a sinistra dello schermo mostra il tuo saldo in Bitcoins e nella valuta nazionale selezionata.\n\t\t\tToccare per visualizzare la lista delle valute nazionali, e toccare una valuta per sceglierla come predefinita.\n\t\t</p>\n\t\t<p>\n\t\t\tIl codice QR sulla destra contiene il vostro indirizzo bitcoin e può essere utilizzato per la scansione da parte di un altro soggetto.\n\t\t\tToccare il codice QR per ingrandirlo.\n\t\t</p>\n\t\t<p>\n\t\t\tLa parte inferiore dello schermo è occupata dalla lista delle transazioni, inizialmente è vuota.\n\t\t\tLe operazioni in sospeso sono visualizzate in grigio finché non vengono confermate.\n\t\t\tToccare un elemento della lista per aggiungere l\\'indirizzo del mittente o del destinatario nella rubrica degli indirizzi.\n\t\t</p>\n\t\t<p>\n\t\t\tÈ possibile inviare o ricevere Bitcoins toccando i pulsanti nella barra delle azioni.\n\t\t\tUlteriori opzioni sono disponibili nel menu delle opzioni.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tUtilizzando questa finestra puoi richiedere dei Bitcoin ad un\\'altra persona\n\t\t\t(che dovrebbe aver già installato Bitcoin Wallet).\n\t\t</p>\n\t\t<p>\n\t\t\tCome prima cosa puoi inserire il numero di Bitcoin da richiedere.\n\t\t</p>\n\t\t<p>\n\t\t\tPoi puoi generare dei codici QR da far acquisire all\\'altra persona.\n\t\t\tOppure puoi inviare la richiesta con il tasto \\\"condividi\\\" nella barra azioni.\n\t\t\tLa persona che riceve la richiesta dovrà cliccare l\\'URL Bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tIn ogni modo alla persona ricevente verrà presentata un modulo precompilato per inviare i Bitcoin.\n\t\t\tPer confermare l\\'invio dovrà solo accettare la transazione.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tHai iniziato il processo per inviare Bitcoins.\n\t\t\tSei giunto qui a partire dalla schermata principale o cliccando su di un URL Bitcoin dal tuo browser.\n\t\t</p>\n\t\t<p>\n\t\t\tCome prima cosa è necessario inserire l\\'indirizzo Bitcoin a cui inviare.\n\t\t\tL\\'indirizzo si autocompleterà in base al contenuto della tua rubrica.\n\t\t\tPuoi anche acquisire un codice QR che contiene indirizzi Bitcoin o richieste Bitcoin premendo il tasto QR sulla barra azioni.\n\t\t</p>\n\t\t<p>\n\t\t\tTi è poi possibile visualizzare quanti Bitcoin puoi spendere.\n\t\t\tEventuali differenze con il saldo visualizzato sulla schermata principale fanno parte di transazioni\n\t\t\tnon ancora confermate il cui importo non può quindi essere ancora utilizzato.\n\t\t</p>\n\t\t<p>\n\t\t\tPuoi infine inserire il numero di Bitcoin da inviare.\n\t\t</p>\n\t\t<p>\n\t\t\tPuoi inserire una transazione anche senza collegamento ad Internet, verrà inviata alla prossima esecuzione di Bitcoin Wallet.\n\t\t\tSe vuoi che la transazione venga processata il prima possibile assicurati di avere un buon collegamento ad Internet.\n\t\t</p>\n\t\t<p>\n\t\t\tNota:\n\t\t\tI pagamenti non possono essere annullate!\n\t\t\tControlla sempre la correttezza degli indirizzi di destinazione.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Alcune informazioni riguardo la sicurezza relativa ai vostri Bitcoins:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tI Bitcoins di Bitcoin Wallet vengono memorizzati sul dispositivo.\n\t\t\t<b>Se perdi il dispositivo, perdi i tuoi Bitcoin.</b>\n\t\t\tEsattamente come denaro nel tuo vero portafoglio.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Prima di disinstallare Bitcoin Wallet</b> (o cancellare i dati dell\\'applicazione o del dispositivo), <b>trasferisci i tuoi Bitcoins ad un altro portafoglio</b>.\n\t\t\tEventuali Bitcoin non trasferiti saranno persi per sempre.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>I pagamenti non possono essere annullati</b>.\n\t\t\tSe invi i tuoi Bitcoin ad indirizzi errati non c\\'è modo di riaverli indietro\n\t\t\ta meno che tu non conosca il ricevente e che sia disponibile a restituirli.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Proteggi il tuo dispositivo Android!</b>\n\t\t\tInstalla solo applicazioni di cui ti fidi completamente.\n\t\t\tApplicazioni malevole potrebbero provare a rubare il tuo portafoglio.\n\t\t</p>\n\t\t<p>\n\t\t\tTieni basso il rischio!\n\t\t\t<b>Usa Bitcoin Wallet solo con piccoli importi</b> sufficienti per l\\'uso quotidiano.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-iw/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"toast_wallet_reset\">הארנק אופס, התאוששת תקח זמן מה.</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_safety\">השימוש באחריותך, קרא את הוראות השימוש</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_backup\">אתה צריך &lt;u&gt;לגבות את הארנק שלך&lt;/u&gt;!</string>\n\t<string name=\"blockchain_state_progress_hours\">%1$s, %2$d שעות איחור</string>\n\t<string name=\"blockchain_state_progress_days\">%1$s, %2$d ימי איחור</string>\n\t<string name=\"blockchain_state_progress_weeks\">%1$s, %2$d שבועות איחור</string>\n\t<string name=\"blockchain_state_progress_months\">%1$s, %2$d חודשי איחור</string>\n\t<string name=\"blockchain_state_progress_downloading\">מסנכרן רשת</string>\n\t<string name=\"blockchain_state_progress_stalled\">סינכרון עוקב</string>\n\t<string name=\"blockchain_state_progress_problem_storage\">סינכרון: בעיית אחסון</string>\n\t<string name=\"blockchain_state_progress_problem_network\">סינכרון:בעיית רשת</string>\n\t<string name=\"wallet_address_fragment_clipboard_msg\">כתובת הביטקוין הועתקה ללוח</string>\n\t<string name=\"wallet_balance_fragment_replaying\">היתרה אינה זמינה במהלך שחזור</string>\n\t<string name=\"exchange_rates_activity_title\">שערי המרה</string>\n\t<string name=\"exchange_rates_fragment_default\">(ברירת מחדל)</string>\n\t<string name=\"exchange_rates_fragment_rate\">שער</string>\n\t<string name=\"exchange_rates_fragment_balance\">מאזן</string>\n\t<string name=\"exchange_rates_fragment_source\">המחיר נתקבל מ: %s</string>\n\t<string name=\"wallet_transactions_options_filter_received\">נתקבל</string>\n\t<string name=\"wallet_transactions_options_filter_all\">נשלח/נתקבל</string>\n\t<string name=\"wallet_transactions_options_filter_sent\">נשלח</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_received\">לא נתקבלו ביטקוינים עד כה.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_sent\">לא נשלחו ביטקוינים עד כה.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_howto\">איך להשיג ביטקוין ?\\nהמר תמורת כסף פיאט,\\nמכור סחורות או שירותים או\\nהשג על ידי עבודה.</string>\n\t<string name=\"wallet_transactions_row_warning_backup\">ברכותי, קיבלת את התשלום הראשון! האם כבר &lt;u&gt;גיבית את הארנק&lt;/u&gt; כדי להגן מפני אבדן?</string>\n\t<string name=\"wallet_transactions_fragment_coinbase\">נכרו</string>\n\t<string name=\"wallet_transactions_fragment_internal\">פנימי</string>\n\t<string name=\"wallet_options_safety\">הוראות בטיחות</string>\n\t<string name=\"wallet_options_donate\">תרומה</string>\n\t<string name=\"wallet_donate_address_label\">תרום לארנק ביטקוין</string>\n\t<string name=\"wallet_low_storage_dialog_title\">אין מקום פנוי על המכשיר</string>\n\t<string name=\"wallet_low_storage_dialog_msg\">ארנק הביטקוין משתמש באחסון הפנימי לצורך שמירת עסקאות ובלוקים. אם נגמר המקום, הוא יפסיק לעבוד והביטקוינים שלך יהיו בסיכון!\\n\\nהאם אתה רוצה לפתוח את מנהל היישומים ולהסיר יישומים שאינם נחוצים?</string>\n\t<string name=\"wallet_low_storage_dialog_button_apps\">נהל יישומים</string>\n\t<string name=\"wallet_timeskew_dialog_title\">בדוק את הגדרות הזמנים שלך</string>\n\t<string name=\"wallet_timeskew_dialog_msg\">זמן המכשיר מאחר ב %d דקות. אתה כנראה לא יכול לקבל או לשלוח ביטקוינים בגלל בעיה זהו.\\n\\nכדאי שתבדוק את הגדרות הזמן ואיזור הזמן שלך.</string>\n\t<string name=\"wallet_version_dialog_title\">גירסה חדשה זמינה!</string>\n\t<string name=\"wallet_version_dialog_msg\">גירסה זו מתקנת באגים חשובים, לפרטים גש לדף העדכון ב%s.</string>\n\t<string name=\"wallet_version_dialog_msg_deprecated\">אם אתה לא רואה עדכון, זה כנראה אומר שגרסאת האנדרואיד שלך אינה נתמכת יותר.</string>\n\t<string name=\"wallet_version_dialog_button_binary\">הורדה</string>\n\t<string name=\"wallet_old_sdk_dialog_title\">גירסת אנדרויד לא מעודכנת</string>\n\t<string name=\"wallet_old_sdk_dialog_message\">יש סיכוי כי מהגרסאות הקרובות של ארנק ביטקוין לא נתמוך במכשירך יותר. במקרים מסוימים יהיה קשה להשתמש במטבעות על המכשיר.\\n\\nאלא אם אתה יודע מה אתה עושה, מומלץ שתעביר את המטבעות בקרוב.</string>\n\t<string name=\"send_coins_activity_title\">שלח ביטקוין</string>\n\t<string name=\"send_coins_fragment_request_payment_request_progress\">אוסף חתימה מ%s…</string>\n\t<string name=\"send_coins_fragment_request_payment_request_failed_title\">איסוף חתימה נכשל</string>\n\t<string name=\"send_coins_fragment_request_payment_request_wrong_signature\">חתימה שגויה!</string>\n\t<string name=\"send_coins_fragment_payee_verified_by\">נבדק על ידי: %s</string>\n\t<string name=\"send_coins_fragment_payee_verified_by_unknown\">לא ידוע</string>\n\t<string name=\"send_coins_fragment_receiving_address_label\">שלם ל</string>\n\t<string name=\"send_coins_fragment_receiving_address_hint\">הקש כתובת או שם</string>\n\t<string name=\"send_coins_fragment_receiving_address_error\">כתובת ביטקוין לא חוקית!</string>\n\t<string name=\"send_coins_fragment_receiving_address_complex\">כתובת\\nמסובכת</string>\n\t<string name=\"send_coins_fragment_pending\">(%s ביטקוין מחכים לאישור)</string>\n\t<string name=\"send_coins_fragment_amount_label\">סכום לתשלום</string>\n\t<string name=\"send_coins_fragment_direct_payment_enable\">שלח תשלום ישירות לנמען.</string>\n\t<string name=\"send_coins_fragment_direct_payment_ack\">התשלום שלך נשלח בהצלחה</string>\n\t<string name=\"send_coins_fragment_direct_payment_nack\">התשלום שלך נדחה על ידי חיבור ישיר.</string>\n\t<string name=\"send_coins_fragment_direct_payment_failed_title\">תשלום ישיר נדחה.</string>\n\t<string name=\"send_coins_fragment_direct_payment_failed_msg\">התשלום שלך עדיין יכול להיות משודר על רשת P2P (עמית לעמית).</string>\n\t<string name=\"send_coins_fragment_button_send\">שלח</string>\n\t<string name=\"send_coins_fragment_button_back\">חזרה</string>\n\t<string name=\"send_coins_fragment_insufficient_money_title\">אין מספיק מטבעות זמינים</string>\n\t<string name=\"send_coins_fragment_insufficient_money_msg1\">חסר לך %s.</string>\n\t<string name=\"send_coins_fragment_insufficient_money_msg2\">האם אתה רוצה לשלם עם כל שיש לך?</string>\n\t<string name=\"send_coins_preparation_msg\">חותם…</string>\n\t<string name=\"send_coins_sending_msg\">שולח…</string>\n\t<string name=\"send_coins_sent_msg\">נשלח!</string>\n\t<string name=\"send_coins_failed_msg\">נכשל!</string>\n\t<string name=\"send_coins_error_msg\">בעיה בשליחת מטבעות</string>\n\t<string name=\"send_coins_options_empty\">ארנק ריק</string>\n\t<string name=\"request_coins_activity_title\">בקש ביטקוין</string>\n\t<string name=\"request_coins_fragment_amount_label\">כמות לבקשה</string>\n\t<string name=\"request_coins_fragment_accept_bluetooth_payment\">קבל תשלום באמצעות Bluetooth לעיבוד מאובטח יותר</string>\n\t<string name=\"request_coins_fragment_initiate_request_qr\">תן לשולח לסרוק ברקוד זה</string>\n\t<string name=\"request_coins_fragment_initiate_request_nfc\">או גע עם מכשיר  NFC</string>\n\t<string name=\"request_coins_clipboard_msg\">בקשה הועתקה ללוח</string>\n\t<string name=\"request_coins_share_dialog_title\">שתף בקשה לביטקוין</string>\n\t<string name=\"request_coins_options_local_app_title\">בקשה מיישום מקומי</string>\n\t<string name=\"address_book_activity_title\">ספר כתובות</string>\n\t<string name=\"address_book_list_receiving_title\">בכתובת שלך</string>\n\t<string name=\"address_book_list_sending_title\">כתובת שליחה</string>\n\t<string name=\"address_book_empty_text\">אין כניסות בספר הכתובות</string>\n\t<string name=\"address_book_context_send_title\">שלח ביטקוינים לכתובת</string>\n\t<string name=\"address_book_context_edit_title\">ערוך כתובת</string>\n\t<string name=\"address_book_context_remove_title\">הסר כתובת</string>\n\t<string name=\"address_book_context_copy_to_clipboard_title\">העתק ללוח</string>\n\t<string name=\"address_book_options_scan_title\">סרוק כתובת</string>\n\t<string name=\"address_book_options_scan_invalid\">המידע הנסרק לא ניתן לזיהוי</string>\n\t<string name=\"address_book_row_message_compromised_key\">כתובת זו נגועה. לא מומלץ שתשתמש בה כדי לקבל מטבעות.</string>\n\t<string name=\"edit_address_book_entry_dialog_title_add\">הוסף כתובת</string>\n\t<string name=\"edit_address_book_entry_dialog_title_edit\">ערוך כתובת</string>\n\t<string name=\"edit_address_book_entry_dialog_address_label\">כתובת</string>\n\t<string name=\"edit_address_book_entry_dialog_label_label\">שם</string>\n\t<string name=\"edit_address_book_entry_dialog_button_edit\">שמירה</string>\n\t<string name=\"transaction_row_confidence_message_sent_unbroadcasted\">התשלום עדיין לא שודר</string>\n\t<string name=\"transaction_row_message_purpose_key_rotation\">העסקה מחזקת את הארנק שלך נגד גניבה.\\n\\n&lt;u&gt; עוד מידע. &lt;/u&gt;</string>\n\t<string name=\"transaction_row_message_received_direct\">התשלום התקבל ישירות. יש סיכון שהוא לעולם לא יהיה ניתן לניצול.</string>\n\t<string name=\"transaction_row_message_received_unconfirmed_unlocked\">התשלום יהיה זמין בעוד מספר דקות</string>\n\t<string name=\"transaction_row_message_received_dead\">תשלום זה בוטל על ידי השולח</string>\n\t<string name=\"transaction_row_message_received_dust\">כמות זעירה כזו ככל הנראה לא תוכל להיות בשימוש לעולם.</string>\n\t<string name=\"network_monitor_activity_title\">מוניטור רשת</string>\n\t<string name=\"network_monitor_peer_list_title\">עמיתים</string>\n\t<string name=\"network_monitor_block_list_title\">בלוקים</string>\n\t<string name=\"peer_list_fragment_empty\">אין עמיתים מחוברים</string>\n\t<string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n\t<string name=\"import_keys_dialog_title\">ייבא מפתחות פפרטיים</string>\n\t<string name=\"import_keys_dialog_warning\">חשוב: אל תטען מפתחות פרטיים ממקורות מפוקפקים! אחרים יכולים לקבל שליטה על כספי אם תעשה כן.</string>\n\t<string name=\"import_keys_dialog_button_import\">ייבא</string>\n\t<string name=\"import_keys_dialog_failure\">לא ניתן לייבא מפתחות פרטיים, בדקת סיסמא %s?</string>\n\t<string name=\"export_keys_dialog_title\">ייצא מפתחות פרטיים</string>\n\t<string name=\"backup_wallet_dialog_message\">המפתחות שלך יוצפנו בעזרת הסיסמא ויאוחסנו בהתקן החיצוני</string>\n\t<string name=\"export_keys_dialog_button_export\">ייצוא</string>\n\t<string name=\"export_keys_dialog_success\">המפתחות שלך יוצאו ל\\n\\n%s\\n\\nשמור עליהם בבטחה, ושמור על הססמא בטוחה!</string>\n\t<string name=\"export_keys_dialog_failure\">לא ניתן לייצא מפתחות פרטיים:\\n%s</string>\n\t<string name=\"import_export_keys_dialog_password\">סיסמא</string>\n\t<string name=\"import_export_keys_dialog_show\">הצג סיסמא</string>\n\t<string name=\"import_export_keys_dialog_failure_title\">שגיאה</string>\n\t<string name=\"import_keys_intent_filter_action\">שחזור מפתח ביטקוין</string>\n\t<string name=\"scan_camera_problem_dialog_title\">סליחה</string>\n\t<string name=\"scan_camera_problem_dialog_message\">בעיה במצלמה, אנא אחתל מחדש את המכשיר שלך.</string>\n\t<string name=\"input_parser_io_error\">לא יכול לקרוא מידע:\\n%s</string>\n\t<string name=\"input_parser_cannot_classify\">לא יכול לסווג את הקלט:\\n%s</string>\n\t<string name=\"input_parser_invalid_bitcoin_uri\">כתובת ביטקוין לא חוקית:\\n%s</string>\n\t<string name=\"input_parser_invalid_address\">כתובת ביטקוין לא חוקית</string>\n\t<string name=\"input_parser_unverifyable_paymentrequest\">לא יכול לאמת בקשת תשלום:\\n%s</string>\n\t<string name=\"input_parser_invalid_paymentrequest\">בקשת תשלום לא חוקית:\\n%s</string>\n\t<string name=\"input_parser_invalid_transaction\">עסקה לא חוקית:\\n%s</string>\n\t<string name=\"preferences_activity_title\">הגדרות</string>\n\t<string name=\"preferences_category_diagnostics\">בדיקה</string>\n\t<string name=\"preferences_category_labs\">מעבדות</string>\n\t<string name=\"preferences_precision_title\">מטבע ודיוק</string>\n\t<string name=\"preferences_precision_summary\">יחידה להציג כמויות בה. זה לא משפיע על חישובים.</string>\n\t<string name=\"preferences_trusted_peer_title\">עמית מהימן</string>\n\t<string name=\"preferences_trusted_peer_summary\">כתוובת IP או מארח של עמית שיש להתחבר לו.</string>\n\t<string name=\"preferences_trusted_peer_only_title\">דלג על מערכת גילוי עמיתים רגילה</string>\n\t<string name=\"preferences_trusted_peer_only_summary\">מונע מלהתחבר לעמיתים שאינם עמיתים מהימנים.</string>\n\t<string name=\"preferences_data_usage_title\">מידע בשימוש</string>\n\t<string name=\"preferences_data_usage_summary\">הצג אפשרויות להגביל שימוש במידע בעת גלישה ברשת סלולרית.</string>\n\t<string name=\"preferences_report_issue_title\">דווח על תקלה</string>\n\t<string name=\"preferences_initiate_reset_title\">אפס שרשרת בלוקים</string>\n\t<string name=\"preferences_initiate_reset_summary\">מאפס את שרשרת הבלוקים, עסקאות ויתרה בארנק. העדכון יקח זמן מה.</string>\n\t<string name=\"preferences_initiate_reset_dialog_message\">האם לאפס ולשחזר את שרשרת הבלוקים ? הדבר יקח זמן מה ויאפס את יתרתך באופן זמני. היתרה והעסקאות יחזרו לאחר סנכרון עם הרשת.</string>\n\t<string name=\"preferences_initiate_reset_dialog_positive\">איפוס</string>\n\t<string name=\"report_issue_dialog_title_issue\">דווח תקלה</string>\n\t<string name=\"report_issue_dialog_title_crash\">תקלה קודמת נתגלתה</string>\n\t<string name=\"report_issue_dialog_message_issue\">אנא תאר את הבעיה בה נתקלת בצורה שניתנת לשחזור.</string>\n\t<string name=\"report_issue_dialog_message_crash\">האם לשלוח דיווח תקלה? עדכון כזה יעזור לנו למנוע מתקלות להשנות בעתיד.</string>\n\t<string name=\"report_issue_dialog_description\">תיאור הבעיה</string>\n\t<string name=\"report_issue_dialog_report\">דיווח</string>\n\t<string name=\"report_issue_dialog_collect_device_info\">הוסף מידע על המכשיר</string>\n\t<string name=\"report_issue_dialog_collect_application_log\">הוסף מידע מהאפליקציה</string>\n\t<string name=\"report_issue_dialog_collect_wallet_dump\">הוסף</string>\n\t<string name=\"report_issue_dialog_mail_intent_chooser\">שלח דוח באמצעות…</string>\n\t<string name=\"about_title\">על אודות</string>\n\t<string name=\"about_license_title\">רישיון</string>\n\t<string name=\"about_category_credits\">אפליקציה זו משתמשת ב</string>\n\t<string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n\t<string name=\"about_credits_zxing_title\">ZXing</string>\n\t<string name=\"about_market_app_title\">%s App Page</string>\n\t<string name=\"about_market_app_summary\">כתוב ביקורת או דרג את האפליקציה</string>\n\t<string name=\"notification_coins_received_msg\">נתקבלו %s</string>\n\t<string name=\"notification_peers_connected_msg\">%d עמיתים מחוברים</string>\n\t<!-- generic buttons -->\n\t<string name=\"button_ok\">אישור</string>\n\t<string name=\"button_dismiss\">התעלם</string>\n\t<string name=\"button_cancel\">בטל</string>\n\t<string name=\"button_retry\">נסה שוב</string>\n\t<string name=\"button_help\">עזרה</string>\n\t<string name=\"button_add\">הוסף</string>\n\t<string name=\"button_delete\">מחק</string>\n\t<string name=\"button_edit\">ערוך</string>\n\t<string name=\"button_copy\">העתק</string>\n\t<string name=\"button_paste\">הדבק</string>\n\t<string name=\"button_share\">שתף</string>\n\t<string name=\"button_set_as_default\">שמור ברירת מחדל</string>\n\t<string name=\"button_request_coins\">בקש מטבעות</string>\n\t<string name=\"button_send_coins\">שלח מטבעות</string>\n\t<string name=\"button_scan\">סרוק</string>\n\t<string name=\"button_settings\">הגדרות</string>\n\t<string name=\"action_show_qr\">הראה ברקוד</string>\n\t<string name=\"action_browse\">גלוש</string>\n\t<string name=\"time_today\">היום</string>\n\t<string name=\"address_unlabeled\">(לא מסומן)</string>\n\t<!-- generic error messages -->\n\t<string name=\"error_io\">שגיאת קלט פלט:\\n%s</string>\n\t<string name=\"error_http\">שגיאת HTTP %1$s:\\n%2$s</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-iw/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tהצד העליון של המסך מציג את כתובת הביטקוין הנבחרת שלך, שאנשים אחרים צריכים לדעת כדי לשלוח לך ביטקוינים.\n\t\t\tלחץ כאן כדי לשנות את הכתובת.\n\t\t</p>\n\t\t<p>\n\t\t\tקוד הQR מימין מכיל את כתובת הביטקוין שלך ויכול להסרק על ידי אחרים.\n\t\t\tלחץ על קוד הQR כדי לקבל גרסא גדולה יותר שלו.\n\t\t</p>\n\t\t<p>\n\t\t\tבאמצע המסך מופיעה יתרתך.\n\t\t\tערך הארנק שלך מופיע באחד המטבעות שבחרת.\n\t\t\tלחץ על היתרה כדי להציג את כל המטבעות המקומיים, ולחץ על אחד המטבעות כדי להגדירו כברירת מחדל.\n\t\t</p>\n\t\t<p>\n\t\t\tבתחתית המסך יופיעו העסקאות שלך, שיהיו ריקות בתחילה.\n\t\t\tעסקאות בהמתנה מוצגות באפור עד לאישורן.\n\t\t\tלחץ על רשומה כדי להוסיף את כתובת השולח או המקבל לספר הכתובות.\n\t\t</p>\n\t\t<p>\n\t\t\tאתה יכול לשלוח או לבקש מטבעות על ידי לחיצה על הכפתורים בפס הפעילות.\n\t\t\tעוד אפשרויות זמינות בתפריט האפשרויות.\n\t\t</p>\n]]>\n\t</string>\n\t<string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tבאמצעות התיבה כאן תוכל לבקש מטבעות ממשתמש אחר (שצריך להתקין גם ארנק ביטקוין).\n\t\t</p>\n\t\t<p>\n\t\t\tראשית, עלייך להכניס את מספר הביטקוינים שתבקש.\n\t\t</p>\n\t\t<p>\n\t\t\tלאחר מכן, עלייך להציג את קוד הQR שנוצר על ידי המשתמש השני.\n\t\t\tאו שתוכל לשלוח לו בקשה לשתף איתך את הקוד באמצעות פס הפעילות.\n\t\t\tהוא יצטרך להקליק על כתובת הביטקוין שלה.\n\t\t</p>\n\t\t<p>\n\t\t\tבכל מקרה, למשתמש השני תוצג תיבת דו-שיח לשליחת המטבעות כאשר כל השדות יהיו מלאים מראש.\n\t\t\tאם הוא מעוניין, כל שהוא ידרש לעשות הוא לאשר את השימוש.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tהתחלת בתהליך שליחת ביטקוינים.\n\t\t\tהגעת לכאן בין אם באמצעות המסך הראשי או על ידי לחיצה על קישור ביטקוין בדפדפן הנייד שלך.\n\t\t</p>\n\t\t<p>\n\t\t\tקודם כל, הכנס את כתובת הביטקוין שברצונך לשלם לה.\n\t\t\tהכתובת תושלם בצורה אוטומטית מרשימת הכתובות המוכרות בספר הכתובות שלך.\n\t\t\tאתה גם יכול לסרוק קוד QR של כתובות ביטקוין או בקשות לביטקוין על ידי לחיצה על כפתור הQR או בר הפעילות.\n\t\t</p>\n\t\t<p>\n\t\t\tלאחר מכן, תוכל לראות כמה ביטקוינים תוכל להוציא באותו הרגע.\n\t\t\tכל הפרש ביתרה מול המסך הראשי טרם אושר ועל כן לא ניתן להוצאה.\n\t\t</p>\n\t\t<p>\n\t\t\tלבסוף, הכנס את הסכום לתשלום.\n\t\t</p>\n\t\t<p>\n\t\t\tאתה יכול להכניס תשלום גם כשאינך מחובר לרשת.\n\t\t\tהוא ישלח באתחול הבא של ארנק ביטקוין.\n\t\t\tאם אתה רוצה שהתשלום יועבר במהרה ודא שאתה מחובר (לדוגמא לחיבור רשת מהיר).\n\t\t</p>\n\t\t<p>\n\t\t\tהערה:\n\t\t\tהתשלומים הם בלתי הפיכים.\n\t\t\tתמיד תבדוק את הכתובת לתשלום.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>אזהרות בטיחות חשובות:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tהביטקוינים מאוחסנים על המכשיר שלך.\n\t\t\t<b>אם תאבד אותו, תאבד את הביטקוינים שלך</b>.\n\t\t</p>\n\t\t<p>\n\t\t\tזה אומר שכדאי שאתה <b>תגבה את הארנק שלך</b>!\n\t\t\tהשתמש בשיטת הגיבוי בתוך האפליקציה, ולא ביישום חיצוני.\n\t\t\tשמור את הגיבוי בטוח וזכור את הססמא.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>לפני הסרה</b> (או מחיקה של היישום או המכשיר), <b>העבר את היתרה לארנק אחר</b>.\n\t\t\tביטקוין משוחרר לא יוחזר.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>תשלומים אינם ניתנים להחזרה</b>.\n\t\t\tאם תשלח את הביטקוינים שלך לחלל העולם, , כנראה שלא תקבל אותם בחזרה.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>שמור על המכשיר הנייד שלך בטוח!</b>\n\t\t\tאל תפרוץ אותו.\n\t\t\tהתקן רק יישומים שאתה בוטח בהם.\n\t\t\tיישומים זדוניים יגנבו לך את הארנק.\n\t\t</p>\n\t\t<p>\n\t\t\tשמור על הסיכון נמוך!\n\t\t\t<b>השתמש רק לסכומים נמוכים</b> לשימוש יום-יומי.\n\t\t</p>\n\t]]>\n\t</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ja/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">ウォレットはリセットされました!\\n復元には多少時間がかかります。</string>\n  <string name=\"toast_start_external_document_failed\">外部文書を開くためのウェブブラウザがインストールされていません。</string>\n  <string name=\"toast_start_storage_provider_selector_failed\">利用できるクラウドストレージプロバイダがインストールされていません。\\n\\\"Nextcloud\\\"や\\\"Google Drive\\\"などが必要です。</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">自己の責任においてご使用下さい。&lt;u&gt;安全に関する注意事項&lt;/u&gt;をお読み下さい。</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">&lt;u&gt;ウォレットをバックアップ&lt;/u&gt;する必要があります!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d時間遅れ</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d日遅れ</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d週遅れ</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$dか月遅れ</string>\n  <string name=\"blockchain_state_progress_downloading\">ネットワークと同期中</string>\n  <string name=\"blockchain_state_progress_stalled\">同期が停滞しています</string>\n  <string name=\"blockchain_state_progress_problem_storage\">同期中に問題が発生しました: ストレージの空き容量が足りません。</string>\n  <string name=\"blockchain_state_progress_problem_network\">同期中に問題が発生しました: ネットワークに繋がっていません。</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">ビットコインアドレスをクリップボードにコピーしました</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">プライバシー保護のため、アドレスは支払いを受け取るごとに変化します。</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">このデバイスは古く、安全ではありません。少額のみ扱うようにしてください。</string>\n  <string name=\"wallet_balance_fragment_too_much\">この額はポケットに入れて運ぶには多すぎます。一部をもっと安全な場所に移してください。</string>\n  <string name=\"wallet_balance_fragment_replaying\">再生中は残高情報は利用できません。</string>\n  <string name=\"exchange_rates_activity_title\">為替レート</string>\n  <string name=\"exchange_rates_fragment_empty_search\">為替レートが見つかりません。</string>\n  <string name=\"exchange_rates_fragment_default\">(既定外貨)</string>\n  <string name=\"exchange_rates_fragment_rate\">為替レート</string>\n  <string name=\"exchange_rates_fragment_balance\">残高</string>\n  <string name=\"exchange_rates_fragment_source\">%s による価格</string>\n  <string name=\"exchange_rates_options_search\">為替レートの検索</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">まだビットコインを受け取っていません。</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">まだビットコインを送っていません。</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">ビットコインを受け取る方法ですか?\\n従来の通貨と交換するか、物やサービスを売るか、\\n仕事をして得ましょう。</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">ビットコインを受け取り始める前に\\nウォレットをバックアップしてください!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">おめでとうございます、初めて支払いを受け取りました。遺失を防ぐために&lt;u&gt;ウォレットをバックアップ&lt;/u&gt;していますか?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">ヒント: ウォレットの安全性を向上させる方法として、&lt;u&gt;デバイスの暗号化&lt;/u&gt;もあります。その場合、他のアプリのデータも保護されます。</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">ビットコインネットワークはメンテナンス中です。メンテナンスが終わるまではコインの送受信を一切しないようお勧めします。&lt;u&gt;詳細情報&lt;/u&gt;。</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">採掘</string>\n  <string name=\"wallet_transactions_fragment_internal\">内部</string>\n  <string name=\"wallet_transactions_options_filter\">絞り込み</string>\n  <string name=\"wallet_transactions_options_filter_all\">全ての支払い</string>\n  <string name=\"wallet_transactions_options_filter_received\">受け取った支払い</string>\n  <string name=\"wallet_transactions_options_filter_sent\">送った支払い</string>\n  <string name=\"wallet_options_request_legacy\">レガシーアドレスへの送金を要求する</string>\n  <string name=\"wallet_options_safety_menu\">安全対策</string>\n  <string name=\"wallet_options_encrypt_keys_set\">送金用PINを設定</string>\n  <string name=\"wallet_options_encrypt_keys_change\">送金用PINを変更</string>\n  <string name=\"wallet_options_safety\">安全に関する注意事項</string>\n  <string name=\"wallet_options_technical_notes_title\">技術的補足</string>\n  <string name=\"wallet_options_donate\">チップ/寄付</string>\n  <string name=\"wallet_donate_address_label\">Bitcoin Walletへ寄付する</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">セキュリティ警告</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">あなたのデバイスのBluetooth機能に脆弱性があります。このデバイスのビットコインは、コインを保存しているアプリに関わらず危険にさらされています!\\n\\nBluetoothを直ちにオフにして、セキュリティパッチレベル\\'%s\\'以降を実装したAndroid OSのアップデートがないかデバイスの製造者に確認してください。</string>\n  <string name=\"wallet_low_storage_dialog_title\">内部デバイスのストレージ容量が残りわずかです!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Walletはトランザクションやブロックを記憶するのに内部ストレージを使用します。もし容量が不足した場合、動作しなくなりあなたのビットコインが危機にさらされるでしょう!\\n\\n不要なアプリを削除するためにアプリケーションマネージャを開きますか?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">アプリの管理</string>\n  <string name=\"wallet_timeskew_dialog_title\">日付と時刻の設定を確認してください</string>\n  <string name=\"wallet_timeskew_dialog_msg\">デバイスの時刻が%d分ずれています。この問題のためビットコインのやり取りができなくなる可能性があります。\\n\\n日付と時刻とタイムゾーンの設定を確認し、必要であれば修正してください。</string>\n  <string name=\"wallet_version_dialog_title\">新バージョンが利用可能です!</string>\n  <string name=\"wallet_version_dialog_msg\">このバージョンでは重大なバグを修正しました。詳細については%sをご覧ください。</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">アップデートが表示されない場合、それはおそらくあなたのバージョンのAndroidはもうサポートされないということです。</string>\n  <string name=\"wallet_version_dialog_button_binary\">ダウンロード</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Androidのバージョンが古すぎます</string>\n  <string name=\"wallet_old_sdk_dialog_message\">次のBitcoin Walletのリリースの際、このデバイスはもうサポートされないかもしれません。場合によっては、このデバイスでのコインの利用が困難になるかもしれません。\\n\\n意図的にしているのでない限り、あなたのコインをすぐにでも移動させることをおすすめします。</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">設定を開けませんでした</string>\n  <string name=\"send_coins_activity_title\">ビットコインの送金</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">%s から署名の取得中……</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">支払いリクエストの取得に失敗しました</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">受取人 (%1$s) は互換性がない支払いプロトコルを使用しています (原因: %2$s)。</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">不正な署名です!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">認証者: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">不明</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">支払先</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">アドレスもしくは名前を入力</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">無効なビットコインアドレスです!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">自分自身に送金しようとしています!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">複雑な\\nアドレス</string>\n  <string name=\"send_coins_fragment_pending\">(%sが確認待ちです)</string>\n  <string name=\"send_coins_fragment_amount_label\">合計支払</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">格安料金 %s が支払われます。重要: 「格安」は確認時間を気にしない場合のみ利用してください。</string>\n  <string name=\"send_coins_fragment_hint_fee\">ネットワーク料金 %s が支払われます。</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">優先料金 %s が支払われます。もし料金の安さを気にするのであれば、「優先」はできるだけ早く確定が必要なときのみ利用してください。</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">送金額小さすぎます</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">コインが不足しています。1%s 足りません。これはネットワーク手数料によるものである可能性があります。</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">ウォレット中の少額の支払いを合計しても送信可能な額には足りませんでした。</string>\n  <string name=\"send_coins_fragment_hint_replaying\">現在再生中のため、支払いはできません。</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">受取人へ直接送金する。</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">直接的な送金が成功しました。</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">直接的な接続による送金での支払いは拒否されました。</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">直接的な送金が失敗しました</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">支払情報はP2Pネットワークを通じて拡散中です。</string>\n  <string name=\"send_coins_fragment_button_send\">送金</string>\n  <string name=\"send_coins_fragment_button_back\">戻る</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">割高なネットワーク手数料</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">この支払いに対するネットワーク手数料(%1$s)は送金額(%2$s)と比較して割高です。それでも送金しますか?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">コインが不足しています</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">%sが不足しています。</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">全額を支払いに当てますか？</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">ウォレットを空にできませんでした。</string>\n  <string name=\"send_coins_fragment_state_decrypting\">復号中……</string>\n  <string name=\"send_coins_preparation_msg\">署名中……</string>\n  <string name=\"send_coins_sending_msg\">送金中……</string>\n  <string name=\"send_coins_sent_msg\">送金完了!</string>\n  <string name=\"send_coins_failed_msg\">失敗!</string>\n  <string name=\"send_coins_error_msg\">送金に問題が発生しました！</string>\n  <string name=\"send_coins_options_fee_category\">手数料</string>\n  <string name=\"send_coins_options_fee_category_economic\">節約</string>\n  <string name=\"send_coins_options_fee_category_normal\">通常</string>\n  <string name=\"send_coins_options_fee_category_priority\">優先</string>\n  <string name=\"send_coins_options_empty\">ウォレットが空です</string>\n  <string name=\"raise_fee_dialog_title\">ネットワーク手数料の増額</string>\n  <string name=\"raise_fee_dialog_message\">この支払いのネットワーク手数料を%sだけ増やしますか? これにより支払いの承認が早くなります。</string>\n  <string name=\"raise_fee_dialog_determining_fee\">ネットワーク手数料を特定しています。</string>\n  <string name=\"raise_fee_dialog_cant_raise\">この支払いのネットワーク手数料は上げられません。</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">復号中……</string>\n  <string name=\"raise_fee_dialog_state_done\">完了。</string>\n  <string name=\"raise_fee_dialog_button_raise\">増額</string>\n  <string name=\"sweep_wallet_activity_title\">ペーパーウォレットをスウィープする</string>\n  <string name=\"sweep_wallet_fragment_intro\">ペーパーウォレットもしくはクーポンをスィープしようとしています。全てのコインがそのペーパーからあなたのデバイス上のウォレットへ移動します。トランザクションが確定した際にそのペーパーは無効になります。セキュリティ上の理由からペーパーは再利用すべきではないでしょう。</string>\n  <string name=\"sweep_wallet_fragment_hint\">ペーパーウォレットは主にコールドストレージ用に利用されています。一部のATMでは、直接デバイスへコインを送るのではなく、紙片にそれを印刷します。時折、あらかじめチャージしたペーパーウォレットを対価として渡す人もいます(お勧めはしません)。</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">ペーパーウォレットの秘密鍵のスキャンを開始してください。カメラアクションボタンを使用してください。</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">この秘密鍵はパスワードで保護されています。</string>\n  <string name=\"sweep_wallet_fragment_password\">パスワード</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">パスワードが違います!</string>\n  <string name=\"sweep_wallet_fragment_balance\">スウィープする額</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">復号</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">スウィープ</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">復号中……\\n2分程度かかる場合があります。</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">残高のロード中……</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">ウォレットの残高のロードに失敗しました</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Electrumネットワークに正常に接続できませんでした。</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">ペーパーウォレットは空です。</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">充分なコインがありません</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">ウォレット内のコインがスイープするには不十分です。</string>\n  <string name=\"sweep_wallet_options_reload\">残高のリロード</string>\n  <string name=\"maintenance_dialog_title\">補修をお勧めします</string>\n  <string name=\"maintenance_dialog_message\">安全でないアドレス宛てに %1$s を受け取りました。このコインを安全なアドレスに移動しますか? 少額ですがネットワーク手数料として %2$s が支払われます。</string>\n  <string name=\"maintenance_dialog_state_decrypting\">復号中……</string>\n  <string name=\"maintenance_dialog_state_done\">完了</string>\n  <string name=\"maintenance_dialog_button_move\">移動</string>\n  <string name=\"request_coins_activity_title\">ビットコインのリクエスト</string>\n  <string name=\"request_coins_fragment_amount_label\">リクエストする額(省略可能)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">より信頼できる手順としてBluetooth経由での支払いを許可</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">このコードを送金者にスキャンさせてください。</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">または、NFCが使用可能なデバイスアをタップしてください。</string>\n  <string name=\"request_coins_clipboard_msg\">ビットコインのリクエストがクリップボードにコピーされました</string>\n  <string name=\"request_coins_share_dialog_title\">ビットコインのリクエストを共有……</string>\n  <string name=\"request_coins_no_local_app_msg\">他のビットコインアプリが見付かりませんでした</string>\n  <string name=\"request_coins_options_local_app_title\">ローカルアプリからのリクエスト</string>\n  <string name=\"address_book_activity_title\">アドレスブック</string>\n  <string name=\"address_book_list_receiving_title\">あなたのアドレス</string>\n  <string name=\"address_book_list_receiving_random\">古いアドレス</string>\n  <string name=\"address_book_list_sending_title\">送金先アドレス</string>\n  <string name=\"address_book_empty_text\">アドレスブックにエントリーがありません</string>\n  <string name=\"address_book_context_send_title\">アドレスへビットコインを送金</string>\n  <string name=\"address_book_context_edit_title\">アドレスを編集</string>\n  <string name=\"address_book_context_remove_title\">アドレスを削除</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">クリップボードへコピー</string>\n  <string name=\"address_book_options_scan_title\">アドレスをスキャン</string>\n  <string name=\"address_book_options_scan_invalid\">スキャンしたデータが認識できません</string>\n  <string name=\"address_book_options_scan_own_address\">スキャンしたアドレスはあなたのアドレスです。</string>\n  <string name=\"address_book_row_current_address\">これはあなたの現在の受け取り用アドレスです。</string>\n  <string name=\"address_book_row_message_compromised_key\">このアドレスは信頼されていません。コインの受取にはこれ以上使用しない方が良いでしょう。</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">送金用アドレスを追加</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">送金用アドレスのラベルを編集</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">自分のアドレスにラベルを追加</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">自分のアドレスのラベルを編集</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">アドレス</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">ラベル</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">保存</string>\n  <string name=\"transaction_row_fee\">ネットワーク手数料</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">この支払いはまだ送信されていません。</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">この支払いはあなたのウォレットに入金されました。</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">送金に成功しました。受取人に届きました。</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">支払いの受け取りに失敗しました。</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">送金に失敗しました。</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">このトランザクションはウォレットの窃盗に対する強度を上げます。&lt;u&gt;より詳細な情報。&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">このトランザクションは前の支払いのネットワーク手数料を増額します。</string>\n  <string name=\"transaction_row_message_received_direct\">この支払は直接届きました。利用可能とならないリスクがあります。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">この支払いの確認が遅れています。おそらくビットコインネットワークの過負荷によるものです。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">この支払は数分程度で利用可能となります。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">ビットコインネットワークがメンテナンス中のため、このトランザクションは完全に確認されるまで信用するべきではありません。</string>\n  <string name=\"transaction_row_message_received_in_conflict\">この支払いは、送金者によって引き戻されるリスクが高くなっています! 可能であれば確認されるのを待ってください。</string>\n  <string name=\"transaction_row_message_received_dead\">この支払は送金者により、引き戻されました。</string>\n  <string name=\"transaction_row_message_received_dust\">少額すぎて、通常の支払等には使用できないでしょう。</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">この支払いはあなた以外にも多くのウォレットに支払っており、徐々にアプリを遅くする可能性があります。可能であればあなただけに支払う支払いを受けてください。</string>\n  <string name=\"transaction_row_message_received_rbf\">この支払いは、送金者が安全でないトランザクションタイプを使ったため、遅延しています。</string>\n  <string name=\"network_monitor_activity_title\">ネットワークモニタ</string>\n  <string name=\"network_monitor_peer_list_title\">ピア</string>\n  <string name=\"network_monitor_block_list_title\">ブロック</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">採掘難易度調整</string>\n  <string name=\"block_row_mining_reward_adjustment\">採掘報酬半減</string>\n  <string name=\"block_row_now\">たった今</string>\n  <string name=\"peer_list_fragment_empty\">接続済みのピアはありません</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">ウォレットのリストア</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">現在のウォレットを置き換えようとしています。現在ウォレットにあるコインは別途バックアップが無いかぎり全て失われます。</string>\n  <string name=\"import_keys_dialog_warning\">重要: 不審な出所からのプライベートキーを読込まないでください! 読み込んだ場合、他人があなたの資産を操作できてしまいます。</string>\n  <string name=\"import_keys_dialog_button_import\">リストア</string>\n  <string name=\"restore_wallet_dialog_success\">ウォレットは復元されました。</string>\n  <string name=\"restore_wallet_dialog_success_replay\">あなたのウォレットは正常に復元されました。続いて残高を計算します。これには多少時間がかかる場合があります。</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">警告: あなたのウォレットは送金用PINで保護されています。このウォレットで受け取る前にPINを覚えているか確認してください。</string>\n  <string name=\"import_keys_dialog_failure\">ウォレットが復元できませんでした:\\n\\n%s\\n\\nパスワード間違い?</string>\n  <string name=\"export_keys_dialog_title\">ウォレットのバックアップ</string>\n  <string name=\"backup_wallet_dialog_message\">バックアップはあなたが決めたパスワードで暗号化され、外部ストレージに書き込まれます。</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">あなたのウォレットは送金用PINで保護されています。バックアップ用パスワードに加えてPINも忘れないようにしてください。</string>\n  <string name=\"export_keys_dialog_button_export\">バックアップ</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>あなたのウォレットは<tt>%s</tt>にバックアップされました。</p><p><b>バックアップがこのデバイスにしか無い場合、両方を同時に紛失する危険があります!</b></p><p>どちらにしろ、バックアップパスワードは忘れないようにしてください。</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">ウォレットをバックアップできませんでした:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">パスワード</string>\n  <string name=\"backup_wallet_dialog_password_again\">もう一度</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">一致しません！</string>\n  <string name=\"import_export_keys_dialog_show\">パスワードを表示</string>\n  <string name=\"import_export_keys_dialog_failure_title\">エラー</string>\n  <string name=\"import_keys_intent_filter_action\">ウォレットのリストア</string>\n  <string name=\"encrypt_keys_dialog_title\">送金用PIN</string>\n  <string name=\"encrypt_keys_dialog_message\">あなたのウォレットからの送金はこのPINによって防止されます。</string>\n  <string name=\"encrypt_keys_dialog_warning\">重要: PINを忘れないようにしてください! 他人が知っている番号を使わないでください(誕生日など)。</string>\n  <string name=\"encrypt_keys_dialog_password_old\">古いPIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">弱い</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">そこそこ</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">良い</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">強い</string>\n  <string name=\"encrypt_keys_dialog_show\">PINを表示</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">暗号化中……</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">復号中……</string>\n  <string name=\"encrypt_keys_dialog_state_done\">完了</string>\n  <string name=\"scan_camera_problem_dialog_title\">申し訳ありません</string>\n  <string name=\"scan_camera_problem_dialog_message\">カメラに問題があります。デバイスを再起動する必要があるかもしれません。</string>\n  <string name=\"scan_camera_permission_dialog_title\">カメラの許可</string>\n  <string name=\"scan_camera_permission_dialog_message\">QRコードをスキャンするためには、カメラの利用許可を与える必要があります。</string>\n  <string name=\"input_parser_io_error\">データを読込めませんでした:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">入力を認識できません:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">無効なビットコインURI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">無効なビットコインアドレスを入手しました!\\n(メインネット/テストネットの混同?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">支払いリクエストの検証が出来ません:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">無効な支払のリクエスト:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">無効なトランザクション:\\n%s</string>\n  <string name=\"preferences_activity_title\">設定</string>\n  <string name=\"preferences_category_general\">一般</string>\n  <string name=\"preferences_category_privacy\">プライバシー制御</string>\n  <string name=\"preferences_category_merchants\">店舗</string>\n  <string name=\"preferences_category_diagnostics\">診断</string>\n  <string name=\"preferences_category_labs\">ラボ</string>\n  <string name=\"preferences_precision_title\">通貨単位の切り下げと切り上げ</string>\n  <string name=\"preferences_precision_summary\">総額の表示単位。これは計算に影響しません。</string>\n  <string name=\"preferences_precision_labels_8\">BTC、小数点以下8桁</string>\n  <string name=\"preferences_precision_labels_6\">BTC、小数点以下6桁</string>\n  <string name=\"preferences_precision_labels_4\">BTC、小数点以下4桁</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC、小数点以下2桁</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC、小数点無し</string>\n  <string name=\"preferences_own_name_title\">自身の名前</string>\n  <string name=\"preferences_own_name_summary\">あなたが発行する支払いリクエストに含めるあなたの名前、またはあなたの会社の名前。</string>\n  <string name=\"preferences_own_name_dialog_message\">短くしてください。</string>\n  <string name=\"preferences_send_coins_autoclose_title\">送金ダイアログを自動的に閉じる</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">支払いが完了した際に、送金ダイアログを自動的に閉じます。</string>\n  <string name=\"preferences_sync_mode_title\">データ使用量対プライバシー</string>\n  <string name=\"preferences_sync_mode_summary\">ネットワークと同期する際の、データ使用量の削減とプライバシー向上のどちらかを選択をしてください。</string>\n  <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>低データ使用量:</b> ネットワークフィルタリングを使い、あなたのウォレットに関連するトランザクションのみを読み取ります。1月あたりの使用量は約500 MBとなりますが、フィルタの情報をネットワークに開示します。]]></string>\n  <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>プライバシー向上:</b> あなたのウォレットに関する情報をネットワークに開示しません。全てのトランザクションを読み取るため、1月あたり10 GBの通信量を使うため注意してください。この設定を使う前に、利用可能なデータ量を確認してください。]]></string>\n  <string name=\"preferences_trusted_peer_title\">信頼されたピア</string>\n  <string name=\"preferences_trusted_peer_summary\">接続する単一ピアのIPアドレスかホスト名。</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">有効なIPアドレスかホスト名を入力してください。Torをセットアップ済みの場合、onionアドレスも利用できます。</string>\n  <string name=\"preferences_trusted_peer_dialog_message_multiple\">複数の信頼できるピアを空白で区切って指定できます。</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">解決中……</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">不明なホスト名です!</string>\n  <string name=\"preferences_trusted_peer_only_title\">通常のピア探索をスキップ</string>\n  <string name=\"preferences_trusted_peer_only_summary\">信頼されたピア以外に接続しない。</string>\n  <string name=\"preferences_block_explorer_title\">ブロックエクスプローラ</string>\n  <string name=\"preferences_block_explorer_summary\">トランザクション・アドレス・ブロックを閲覧するための外部のブロックエクスプローラ。</string>\n  <string name=\"preferences_data_usage_title\">データの使用方法</string>\n  <string name=\"preferences_data_usage_summary\">モバイルネットワークにおけるデータ使用制限のオプションを表示する。</string>\n  <string name=\"preferences_notifications_title\">通知</string>\n  <string name=\"preferences_notifications_summary\">特定の通知を有効/無効にするオプションを表示する。</string>\n  <string name=\"preferences_remind_balance_title\">残金通知</string>\n  <string name=\"preferences_remind_balance_summary\">数週間使われていない場合、まだウォレット内にコインが残っていればアプリが通知を出します。</string>\n  <string name=\"preferences_show_disclaimer_title\">免責条項を表示する</string>\n  <string name=\"preferences_show_disclaimer_summary\">本当に安全に関する注意事項を読みましたか? ウォレットを安全な場所にバックアップしましたか?</string>\n  <string name=\"preferences_bluetooth_address_title\">Bluetoothアドレス</string>\n  <string name=\"preferences_bluetooth_address_summary\">Bluetoothアドレスを手動で設定すると、ネットワークに繋がっていなくても支払いを受け取れます。</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">残念ながら、AndroidではデバイスのBluetoothアドレスの自動検出は禁止されています。AndroidのBluetooth設定を見てここに入力する必要があります。\\n\\n全ての桁が正しいことを確認してください。コロンは省略してもかまいません。大文字小文字も区別しません。</string>\n  <string name=\"preferences_report_issue_title\">問題を報告</string>\n  <string name=\"preferences_initiate_reset_title\">ブロックチェーンのリセット</string>\n  <string name=\"preferences_initiate_reset_summary\">ブロックチェーン・トランザクション・ウォレットの残高をリセットします。再生にしばらくかかるため、必要な理由がわかる場合のみ実行してください。</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">ブロックチェーンのリセットと再生を実行しますか?\\n\\n一時的にウォレットの残高が見られなくなり、トランザクションも削除されます。ブロックチェーンが同期するにつれ、両方とも復元されます。インターネットとの信頼できる接続があることを確認してください。</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">リセット</string>\n  <string name=\"preferences_extended_public_key_title\">extended public key を表示</string>\n  <string name=\"preferences_extended_public_key_summary\">他のアプリやサービスにインポートできるように、ウォレットの拡張公開鍵を表示します。注意: その場合そのアプリに金銭的なプライバシー情報を公開することになります。</string>\n  <string name=\"bitmap_fragment_share\">共有…</string>\n  <string name=\"extended_public_key_fragment_title\">拡張公開鍵</string>\n  <string name=\"extended_public_key_fragment_share\">extended public key を共有……</string>\n  <string name=\"report_issue_dialog_title_issue\">問題を報告</string>\n  <string name=\"report_issue_dialog_title_crash\">直前のクラッシュを検知しました</string>\n  <string name=\"report_issue_dialog_title_transaction\">選択した支払いについて問題を報告する</string>\n  <string name=\"report_issue_dialog_message_issue\">問題を再現できるように詳しく説明してください。可能であれば英語を利用してください。</string>\n  <string name=\"report_issue_dialog_message_crash\">今後、この問題を修正する手助けとして、クラッシュレポートを送信しますか?</string>\n  <string name=\"report_issue_dialog_description\">説明</string>\n  <string name=\"report_issue_dialog_report\">報告</string>\n  <string name=\"report_issue_dialog_collect_device_info\">デバイス情報を追加</string>\n  <string name=\"report_issue_dialog_collect_application_log\">アプリケーションログを追加</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">ウォレットダンプを追加</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">報告に使うアプリケーション……</string>\n  <string name=\"about_title\">アプリについて</string>\n  <string name=\"about_version_title\">バージョン</string>\n  <string name=\"about_version_apk_hash_title\">APKのSHA256ハッシュ値</string>\n  <string name=\"about_copyright_title\">コピーライト</string>\n  <string name=\"about_license_title\">ライセンス</string>\n  <string name=\"about_source_title\">ソースコード</string>\n  <string name=\"about_category_credits\">このアプリは以下のソフトウェアを利用しています。</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s、Bitcoinプロトコルの実装</string>\n  <string name=\"about_credits_zxing_title\">ZXing、QRコード処理ライブラリ</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle、暗号ライブラリ</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, HTTPクライアントライブラリ</string>\n  <string name=\"about_credits_moshi_title\">Moshi, JSONライブラリ</string>\n  <string name=\"about_credits_guava_title\">Guava, 便利なヘルパーの集まり</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, ロギングフレームワーク</string>\n  <string name=\"about_market_app_title\">%sのページ</string>\n  <string name=\"about_market_app_summary\">アプリのレビューや評価をしてください</string>\n  <string name=\"about_faq_title\">よくある質問</string>\n  <string name=\"about_faq_summary\">このアプリに関するよくある質問</string>\n  <string name=\"notification_coins_received_msg\">%sを受け取りました</string>\n  <string name=\"notification_connectivity_syncing_message\">ネットワークと同期しています……</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">信頼しているピアと同期しています……</string>\n  <string name=\"notification_peers_connected_msg\">%dピアが接続済</string>\n  <string name=\"notification_peer_connected\">接続されました</string>\n  <string name=\"notification_peer_not_connected\">接続されていません</string>\n  <string name=\"notification_inactivity_title\">まだこの端末にビットコインが残っています!</string>\n  <string name=\"notification_inactivity_message\">残金を他の場所に移さずにBitcoin Walletアプリをアンインストールした場合、%sの残金は失なわれてしまうことに注意してください。</string>\n  <string name=\"notification_inactivity_message_donate\">もしコインが必要ないのであれば、Bitcoin Walletプロジェクトに寄付するという選択肢もあります。</string>\n  <string name=\"notification_inactivity_action_dismiss\">後で再び通知する</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">後で通知しない</string>\n  <string name=\"notification_bluetooth_service_listening\">Bluetoothで支払いを受け取る準備ができました</string>\n  <string name=\"notification_channel_received_name\">支払いの受け取り</string>\n  <string name=\"notification_channel_ongoing_name\">バックグラウンドでの動作</string>\n  <string name=\"notification_channel_important_name\">重要なお知らせ</string>\n  <string name=\"appwidget_wallet_balance_title\">ビットコイン残高</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">閉じる</string>\n  <string name=\"button_cancel\">キャンセル</string>\n  <string name=\"button_retry\">リトライ</string>\n  <string name=\"button_help\">ヘルプ</string>\n  <string name=\"button_add\">追加</string>\n  <string name=\"button_delete\">削除</string>\n  <string name=\"button_set\">設定</string>\n  <string name=\"button_remove\">解除</string>\n  <string name=\"button_edit\">編集</string>\n  <string name=\"button_copy\">コピー</string>\n  <string name=\"button_paste\">貼付け</string>\n  <string name=\"button_share\">共有</string>\n  <string name=\"button_set_as_default\">既定として設定</string>\n  <string name=\"button_request_coins\">コインをリクエスト</string>\n  <string name=\"button_send_coins\">コインを送る</string>\n  <string name=\"button_scan\">スキャン</string>\n  <string name=\"button_settings\">設定</string>\n  <string name=\"action_show_qr\">QRコードを表示</string>\n  <string name=\"action_browse\">ブラウズ</string>\n  <!--generic strings-->\n  <string name=\"time_today\">今日</string>\n  <string name=\"address_unlabeled\">(ラベルなし)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">PINが違います!</string>\n  <string name=\"qr_code\">QRコード</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">入出力エラー: %s</string>\n  <string name=\"error_parse\">パースエラー:%s</string>\n  <string name=\"error_http\">HTTPエラー %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetoothエラー: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ja/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\t画面の左上部分にはビットコインおよび選択した国の通貨で残金が表示されます。\n\t\t\t各国の通貨を表示するにはタップしてください。さらに通貨の1つをタップするとそれを既定の通貨として選択します。\n\t\t</p>\n\t\t<p>\n\t\t\t右のQRコードにはあなたのビットコインアドレスが記載されており、送金者がスキャンするのに使用できます。\n\t\t\t大きいサイズのQRコードを表示するにはQRコードをタップしてください。\n\t\t</p>\n\t\t<p>\n\t\t\t画面下部にはトランザクションリストが表示されます。初期状態では空白であり、送金や受取りをすると溜まっていきます。\n\t\t\t受け取った支払いは緑でマークされ、送った支払いは赤でマークされます。\n\t\t</p>\n\t\t<p>\n\t\t\tアクションバーにあるボタンをタップすると、送金や請求ができます。\n\t\t\tオプションメニューでは、より多くのオプションが利用できます。\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tこのダイアログでは、送金者にコインを請求できます。\n\t\t\t支払者はすでにBitcoin Walletをインストールしている必要があります。\n\t\t</p>\n\t\t<p>\n\t\t\tまず、請求するビットコインの金額を入力します。\n\t\t</p>\n\t\t<p>\n\t\t\t次に、送金者がスキャンするためのQRコードを生成するか、\n\t\t\tアクションバーにある共有ボタンで、離れた場所にいる人に請求を送ります。\n\t\t\tもし双方の携帯電話でNFCを有効にしていれば、携帯電話同士を背中合わせにする方法もあります。\n\t\t</p>\n\t\t<p>\n\t\t\tどちらの方法についても、請求を受けた人には、コインを送金する為の全項目が事前入力されたダイアログが表示されるでしょう。\n\t\t\tそれを承諾するだけで、支払の送金が行われます。\n\t\t</p>\n\t]]></string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tコイン送金のための手続きを開始しました。\n\t\t</p>\n\t\t<p>\n\t\t\tまず、支払い先のビットコインアドレスを入力します。\n\t\t\tそのアドレスがアドレスブックにあると、自動的に補完されます。\n\t\t\t支払先が提示したQRコードをカメラボタンを押して読み込むこともできます。\n\t\t</p>\n\t\t<p>\n\t\t\t次に、支払金額を入力します。\n\t\t</p>\n\t\t<p>\n\t\t\t最後に、送金PINが設定されていれば、入力する日宇町があります。\n\t\t</p>\n\t\t<p>\n\t\t\tオフライン状態でも支払の入力ができます。\n\t\t\tその場合は次にBitcoin Walletを再起動した時に送金されるでしょう。\n\t\t\t出来る限り早く支払いを進めたいのであれば、接続状態を良くしてください(たとえばWi-Fi環境など)。\n\t\t</p>\n\t\t<p>\n\t\t\t注意:\n\t\t\t支払は返金不可能です!\n\t\t\t常に受取人のアドレスを確認してください。\n\t\t</p>\n\t]]></string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>安全に関する重要な注意:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tビットコインは、このデバイスに保存されます。\n\t\t\t<b>もしこのデバイスを紛失した場合、ビットコインも失ってしまいます。</b>\n\t\t</p>\n\t\t<p>\n\t\t\tつまり<b>ウォレットのバックアップ</b>が必要ということです!\n\t\t\tサードパーティーのバックアップアプリではなく、このアプリ内のバックアップ機能を利用してください。\n\t\t\tバックアップを安全に保管し、パスワードを忘れないでください。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>アンインストールする前に</b> (もしくはアプリデータの消去やデバイスのリセットをする前に)、 <b>他のウォレットにビットコインを移動してください</b>。\n\t\t\t残っているビットコインを失ってしまいます。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>支払いは返金不可能です</b>。\n\t\t\tもし存在しないアドレスにビットコインを送金したとしても、まず取り戻せません。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>モバイルデバイスの安全性を確保してください</b>\n\t\t\tデバイスをルート化しないでください。\n\t\t\t完全に信頼できるアプリのみインストールしてください。\n\t\t\t悪意のあるアプリはあなたのウォレットを盗む可能性があります。\n\t\t</p>\n\t\t<p>\n\t\t\tリスクを低く抑えましょう!\n\t\t\t日常での利用用に<b>少額でのみ保管しましょう</b>。\n\t\t</p>\n\t]]>\\n\\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>技術的補足:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoin WalletはSPVすなわち軽量ウォレットであるため、最もプルーフ・オブ・ワークされたチェーン(「最も長いチェーン」や「勝者チェーン」や「ビットコインブロックチェーン」と呼ばれることもあります)に従います。\n\t\t\tあなたはそのチェーンのみから支払いの受け取りや送信が可能です。\n\t\t\t少数派チェーン、すなわちプルーフ・オブ・ワークがより少ないチェーン上のビットコインについては何の保証も得られません。\n\t\t</p>\n\t\t<p>\n\t\t\t過去においては、少数派チェーンはいつもすぐに無意味になっていました。\n\t\t\tそれでも少数派チェーンに従いたい場合、「信頼されたピア」機能を使い、望むチェーンを強制するbitcoind実装のみに接続することをお勧めします。\n\t\t\tウォレットと信頼されたピアの間のネットワークが信頼できない場合、VPNを使って接続を認証してください。\n\t\t</p>\n\t]]>\n  </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ko/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">지갑이 재설치되었습니다. \\n완전한 복구를 위해 잠시만 기다려 주세요.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">&lt;u&gt;안전 이슈 참조&lt;/u&gt;를 먼저 읽어보신 후 위험성을 충분히 숙지하고 사용하시기 바랍니다.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">&lt;u&gt;전자 지갑 백업&lt;/u&gt;이 필요합니다.!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d시간 이전으로부터 동기화 중</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d일 이전으로부터 동기화 중</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d주 이전으로부터 동기화 중</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d개월 이전으로부터 동기화 중</string>\n  <string name=\"blockchain_state_progress_downloading\">네트워크 동기화 중</string>\n  <string name=\"blockchain_state_progress_stalled\">동기화 멈춤</string>\n  <string name=\"blockchain_state_progress_problem_storage\">동기화 중 : 저장 공간 문제 발생</string>\n  <string name=\"blockchain_state_progress_problem_network\">동기화 중 : 네트워크에 문제 발생</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">비트코인 주소가 클립보드에 복사되었습니다</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">당신의 비밀을 보호하기 위해 송금내역을 받은 후에 당신의 주소가 변경될 것입니다.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">현재 사용하는 장치 기기가 아주 오래되었거나 안전하지 않습니다. 비트코인의 안전한 거래를 위해 작은 양만 사용하는 것이 좋습니다.</string>\n  <string name=\"wallet_balance_fragment_too_much\">이 금액은 전자지갑에 보관하기에 너무 큰 금액입니다. 데스크탑 지갑으로 옮기거나 비밀키를 별도로 보관하세요.</string>\n  <string name=\"wallet_balance_fragment_replaying\">블럭체인 초기화 중, 잔액을 사용할 수 없습니다.</string>\n  <string name=\"exchange_rates_activity_title\">환율 목록</string>\n  <string name=\"exchange_rates_fragment_empty_search\">환율 정보를 찾지 못했습니다.</string>\n  <string name=\"exchange_rates_fragment_default\">(기본값)</string>\n  <string name=\"exchange_rates_fragment_rate\">평가 환율</string>\n  <string name=\"exchange_rates_fragment_balance\">평가 잔액</string>\n  <string name=\"exchange_rates_fragment_source\">가격 출처  %s</string>\n  <string name=\"exchange_rates_options_search\">환율 검색</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">아직 비트코인을 받은 내역이 없습니다.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">아직 비트코인을 보낸 내역이 없습니다.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">비트코인 획득 방법\\n1. 로컬 통화로 비트코인 구매\\n2. 상품이나 서비스 판매\\n3. 용역 대가로 획득</string>\n  <string name=\"wallet_transactions_row_warning_backup\">축하드립니다. 첫번째 결제를 받았습니다. 분실에 대비하기 위해 &lt;u&gt;전자 지갑 백업&lt;/u&gt;을 수행하신 적이 있나요? </string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">힌트: 지갑의 안전을 위해 &lt;u&gt;기기 암호화&lt;u&gt;를 사용해 보세요. 이것은 다른 앱의 자료도 보호해 줍니다.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">비트코인 네트워크가 현재 유지 보수 중입니다. 유지 보수가 끝날 때까지 비트코인을 보내거나 받지 않는 것이 좋습니다. &lt;u&gt;상세 정보&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">신규 채굴 코인</string>\n  <string name=\"wallet_transactions_fragment_internal\">내부 처리 금액</string>\n  <string name=\"wallet_transactions_options_filter\">필터</string>\n  <string name=\"wallet_transactions_options_filter_all\">모든 거래내역</string>\n  <string name=\"wallet_transactions_options_filter_received\">수신 내역</string>\n  <string name=\"wallet_transactions_options_filter_sent\">송금 내역</string>\n  <string name=\"wallet_options_safety_menu\">안전 보관</string>\n  <string name=\"wallet_options_encrypt_keys_set\">송금 PIN 설정</string>\n  <string name=\"wallet_options_encrypt_keys_change\">송금 PIN 변경</string>\n  <string name=\"wallet_options_safety\">안전 이슈 참조</string>\n  <string name=\"wallet_options_technical_notes_title\">기술 참조 노트</string>\n  <string name=\"wallet_options_donate\">팁 / 기부</string>\n  <string name=\"wallet_donate_address_label\">Bitcoin Wallet 앱의 기부 주소</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">보안 경고</string>\n  <string name=\"wallet_low_storage_dialog_title\">저장장치 용량 부족</string>\n  <string name=\"wallet_low_storage_dialog_msg\">비트코인 지갑은 거래 기록과 블록을 기억하기 위해 저장 장치의 공간을 사용합니다. 저장 공간이 부족할 경우 앱 작동이 중단될 수 있으며, 비트코인 보관과 거래에 문제가 있을 수 있습니다.\\n\\n불필요한 앱 정리를 위해 어플리케이션 매니저를 여시겠습니까?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">앱 정리하기</string>\n  <string name=\"wallet_timeskew_dialog_title\">날짜&amp;시간 설정</string>\n  <string name=\"wallet_timeskew_dialog_msg\">장치 기기의 설정 시간이 %d분 정도 오차가 있어, 비트코인 송수신이 불가능합니다. \\n\\n현재 시간과 표준 시간대 설정을 확인 후 수정해 주십시오.</string>\n  <string name=\"wallet_version_dialog_title\">새 버전 이용 가능!</string>\n  <string name=\"wallet_version_dialog_msg\">현재 버전은 여러가지 중요한 오류를 수정했습니다. 자세한 내용은 구글 플레이에서 이 앱의 변경점을 통해 확인할 수 있습니다.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">현재 사용하는 안드로이드 기기가 더 이상 지원되지 않아 업데이트할 수 없습니다.</string>\n  <string name=\"wallet_version_dialog_button_binary\">다운로드</string>\n  <string name=\"wallet_old_sdk_dialog_title\">안드로이드 버전을 업데이트해주세요</string>\n  <string name=\"wallet_old_sdk_dialog_message\">이 비트코인 지갑의 다음 업데이트시 현재 사용중인 장치 기기를 더 이상 지원하지 않을 수 있습니다. 또한 몇몇 경우에는 이 장치 기기에서 비트코인을 송금할 때 문제가 생길 수도 있습니다.\\n\\n기기의 계속 사용에 관한 확신이 생기지 않는다면 현재 이 지갑에서 보유하고 있는 비트코인을 다른 곳으로 옮기는 것이 좋습니다.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">설정을 여는 데 문제가 있습니다</string>\n  <string name=\"send_coins_activity_title\">비트코인 송금</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">전자 서명 불러오는 중... : %s</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">전자 서명 불러오기 실패</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">전자 서명 오류!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">이 사용자에 의해 승인됨 : %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">알려지지 않은 승인처</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">받는 곳</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">주소 또는 주소의 이름을 입력하세요</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">유효하지 않은 비트코인 주소입니다.</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">당신 자신의 주소로 송금하려 하고 있습니다!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">이해할 수 없는\\n주소</string>\n  <string name=\"send_coins_fragment_pending\">(승인을 위해 기다는 중 : %s)</string>\n  <string name=\"send_coins_fragment_amount_label\">송금액</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">경제적 수수료 설정으로 %s가 수수료로 지불됩니다. 위험: 비트코인 거래 시 네트워크를 통해 승인이 되어야 거래가 완료됩니다. 낮은 수수료 설정 시 승인에 오랜 시간이 걸릴 수 있습니다.</string>\n  <string name=\"send_coins_fragment_hint_fee\">네트워크 승인을 위해 %s가 지불됩니다.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">급행 수수료 설정으로 %s가 수수료로 지불됩니다.  네트워크 상에서 빠른 승인을 원한다면, 급행 수수료로 설정하시기 바랍니다.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">송금액이 너무 적어 전송 할 수 없습니다.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">보유하고 있는 금액이 %s 부족합니다.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">극소량의 금액은 송금 가능액에 포함되지 않습니다.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">블럭체인 초기화 중, 초기화가 완료될 때까지 거래가 불가능합니다.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">비트코인이 수신인에게 바로 송금됩니다.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">송금이 완료되었습니다.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">송금 시도가 직접 연결된 곳으로부터 거부되었습니다.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">직접 송금 실패</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">송금 시도가 P2P 네트워크를 통해 다시 전파될 예정입니다.</string>\n  <string name=\"send_coins_fragment_button_send\">보내기</string>\n  <string name=\"send_coins_fragment_button_back\">뒤로 가기</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">보유 금액 부족</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">보유하고 있는 금액이 %s 부족합니다.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">보유하고 있는 모든 비트코인 금액을 보내겠습니까?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">지갑 비우기 실패!</string>\n  <string name=\"send_coins_fragment_state_decrypting\">복호화중...</string>\n  <string name=\"send_coins_preparation_msg\">전자 서명 중...</string>\n  <string name=\"send_coins_sending_msg\">보내는 중...</string>\n  <string name=\"send_coins_sent_msg\">송금 완료!</string>\n  <string name=\"send_coins_failed_msg\">비트코인 송금 실패!</string>\n  <string name=\"send_coins_error_msg\">송금 중 알 수 없는 문제가 발생했습니다!</string>\n  <string name=\"send_coins_options_fee_category\">수수료</string>\n  <string name=\"send_coins_options_fee_category_economic\">경제적</string>\n  <string name=\"send_coins_options_fee_category_normal\">보통</string>\n  <string name=\"send_coins_options_fee_category_priority\">급행</string>\n  <string name=\"send_coins_options_empty\">입력한 금액 지우기</string>\n  <string name=\"raise_fee_dialog_title\">수수료 높이기</string>\n  <string name=\"raise_fee_dialog_message\">이 거래의 수수료를 %s 만큼 높이겠습니까? 거래 승인이 더 빨라집니다.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">네트워크 승인 수수료 계산 중...</string>\n  <string name=\"raise_fee_dialog_cant_raise\">해당 송금은 네트워크 수수료를 올릴 수 없습니다.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">복호화중...</string>\n  <string name=\"raise_fee_dialog_state_done\">완료</string>\n  <string name=\"raise_fee_dialog_button_raise\">높임</string>\n  <string name=\"sweep_wallet_activity_title\">종이 지갑 읽기</string>\n  <string name=\"sweep_wallet_fragment_intro\">종이 지갑(Paper Wallet)이나 쿠폰과 같은 인쇄물 또는 필사본에서 개인키를 읽어 비트코인을 전송합니다. 인쇄물의 개인키 정보에서 보관 중인 모든 비트코인이 현재 이 비트코인 지갑 앱으로 이전됩니다. 이 거래가 비트코인 네트워크에서 승인되면 해당 인쇄물은 더 이상 가치가 없으며, 비트코인 사용자간 혼란을 방지하기 위해서는 그 인쇄물을 거래 용도로 다시 사용하지 않는 것이 좋습니다.</string>\n  <string name=\"sweep_wallet_fragment_hint\">비트코인 개인키 정보를 가지고 있는 종이 지갑(Paper Wallet)이나 쿠폰과 같은 인쇄물은 주로 오프라인에서 비트코인을 보관하기 위한 용도로 사용합니다. 일부 비트코인 ATM 기기는 모바일 장치로 비트코인을 직접 보내는 대신 종이 지갑을 이용하기도 합니다. 또는 가치의 이전이나 교환을 위해 미리 충전된 종이 지갑을 사용하기도 합니다. (유통 주체의 신뢰성 여부와 보안상의 문제로 비추천)</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">종이 지갑의 개인키를 스캔하면 전송 가능한 비트코인 금액을 읽어들입니다. 이 앱의 상단 우측에 있는 카메라 모양의 아이콘을 두드리세요.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">이 개인키는 암호로 보호되어 있습니다.</string>\n  <string name=\"sweep_wallet_fragment_password\">패스워드</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">패스워드가 틀렸습니다!</string>\n  <string name=\"sweep_wallet_fragment_balance\">전송할 금액</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">복호화</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">전송</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">복호화중...\\n2분 정도 소요됩니다.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">금액 읽는 중...</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">금액 읽기 실패</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">보유 금액 부족</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">현재 종지 지갑에 들어있는 비트코인의 양이 노드 전파를 위한 최저 수수료에 비해 적기 때문에 이체할 수 없습니다.</string>\n  <string name=\"sweep_wallet_options_reload\">금액 다시 읽어들이기</string>\n  <string name=\"maintenance_dialog_title\">유지 보수 필요</string>\n  <string name=\"maintenance_dialog_message\">안전하지 않은 주소로 %1$s 를 받았습니다. 이 코인을 안전한 주소로 옮기겠습니까? %2$s 만큼의 소액 전송 수수료가 부과됩니다.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">복호화중...</string>\n  <string name=\"maintenance_dialog_state_done\">완료.</string>\n  <string name=\"maintenance_dialog_button_move\">옮기기</string>\n  <string name=\"request_coins_activity_title\">비트코인 요청</string>\n  <string name=\"request_coins_fragment_amount_label\">요청 금액 (선택 사항)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">결제 과정에서의 신뢰성 강화를 위해 블루투스를 통해 승인합니다.</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">비트코인 송금자에게 이 QR 코드를 읽게 하세요.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">또는 주변에 NFC 지원 장치가 있다면 이 기기를 대주세요.</string>\n  <string name=\"request_coins_clipboard_msg\">비트코인 전송 요청이 클립보드에 복사되었습니다</string>\n  <string name=\"request_coins_share_dialog_title\">비트코인 송금요청 공유</string>\n  <string name=\"request_coins_no_local_app_msg\">비트코인 송금요청을 위한 또 다른 비트코인 앱이 설치되어 있지 않습니다.</string>\n  <string name=\"request_coins_options_local_app_title\">설치된 앱에서 내 주소로 송금</string>\n  <string name=\"address_book_activity_title\">주소록</string>\n  <string name=\"address_book_list_receiving_title\">내 비트코인 주소</string>\n  <string name=\"address_book_list_receiving_random\">이전 주소</string>\n  <string name=\"address_book_list_sending_title\">거래 주소록</string>\n  <string name=\"address_book_empty_text\">등록된 비트코인 주소가 없습니다</string>\n  <string name=\"address_book_context_send_title\">주소로 비트코인 보내기</string>\n  <string name=\"address_book_context_edit_title\">주소 수정</string>\n  <string name=\"address_book_context_remove_title\">주소 삭제</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">클립보드에 복사</string>\n  <string name=\"address_book_options_scan_title\">QR 주소 읽기</string>\n  <string name=\"address_book_options_scan_invalid\">QR 코드가 알 수 없는 형식입니다.</string>\n  <string name=\"address_book_options_scan_own_address\">QR 코드에 있는 주소가 당신의 것입니다.</string>\n  <string name=\"address_book_row_message_compromised_key\">이 주소는 외부에 노출되었을 가능성이 있습니다. 송금을 받는 경우 더 이상 해당 주소를 사용하지 않는 것이 좋습니다.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">송금 주소 추가</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">송금주소 제목 변경</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">내 주소에 제목 추가</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">내 주소 제목 변경</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">비트코인 주소</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">제목</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">저장</string>\n  <string name=\"transaction_row_fee\">네트워크 비용</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">이 결제는 아직 전송되지 않았습니다.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">이 거래 방식은 절도에 대비하기 위해 전자 지갑의 보안성을 증대시킵니다. &lt;u&gt;자세히 보기&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">이 거래는 이전 결제의 전송 수수료를 증가시킵니다.</string>\n  <string name=\"transaction_row_message_received_direct\">해당 결제는 직접 연결로부터 수령했습니다. 이 내역은 사용이 영구적으로 불가능한 승인되지 않은 금액일 수도 있습니다.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">비트코인 네트워크 트래픽 부하 등의 이유로 거래의 승인이 늦어지고 있습니다.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">이 결제 내역은 승인 과정을 통해 몇 분 후에 사용할 수 있습니다.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">비트코인 네트워크가 유지 보수 중입니다. 네트워크에서 승인이 완료되기 전에, 이 거래의 유효성을 완전히 신뢰할 수 없습니다.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">이 결제는 승인이 완료되지 않아 송금자가 거래를 되돌릴 수 있습니다. 네트워크 승인을 기다려 주십시오.</string>\n  <string name=\"transaction_row_message_received_dead\">이 결제는 송금자에 의해 취소되었습니다</string>\n  <string name=\"transaction_row_message_received_dust\">현재 입력한 극소량의 금액은 송금되지 않을 수 있습니다.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">현재 송금 거래는 당신의 주소 외에 다른 여러 지갑으로의 송금을 포함하고 있어, 결제 처리 도중 앱이 느려질 수 있습니다. 가능하다면 송금자에게 당신의 주소만 포함해서 송금하도록 요청하십시오.</string>\n  <string name=\"transaction_row_message_received_rbf\">송금자가 안전하지 않은 거래 유형을 사용함으로써, 결제 완료가 지연되어 지금 도착했습니다.</string>\n  <string name=\"network_monitor_activity_title\">블럭체인 모니터링</string>\n  <string name=\"network_monitor_peer_list_title\">피어(Peer) 현황</string>\n  <string name=\"network_monitor_block_list_title\">블럭</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">채굴 난이도 조정</string>\n  <string name=\"block_row_mining_reward_adjustment\">채굴을 통한 획득 비트코인 절반으로 감소</string>\n  <string name=\"block_row_now\">조금 전</string>\n  <string name=\"peer_list_fragment_empty\">피어(Peer)에 연결되지 않은 상태입니다.</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d ms (단위 1/1000 초)</string>\n  <string name=\"import_keys_dialog_title\">전자 지갑 복구</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">경고 : 현재 설치된 전자 지갑이 새 지갑으로 대체됩니다. 별도의 백업 파일을 보유하고 있지 않다면 현재 설치된 전자 지갑의 비트코인이 사라질 수 있습니다.</string>\n  <string name=\"import_keys_dialog_warning\">경고 : 조심하세요! 불확실한 출처로부터 개인키를 불러올 경우 그 개인키를 알고 있는 곳에서 비트코인 입출금에 대한 통제권을 가질 수 있습니다.</string>\n  <string name=\"import_keys_dialog_button_import\">복구</string>\n  <string name=\"restore_wallet_dialog_success\">전자 지갑이 복구되었습니다.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">지갑이 성공적으로 복구되었습니다. 지갑의 잔액 갱신에 시간이 조금 걸릴 수 있습니다.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">경고: 송금 PIN 번호가 설정되어 있습니다. 이 지갑을 사용해 비트코인을 거래하기 전에 PIN 번호를 기억하고 있는지 다시 한 번 확인하십시오.</string>\n  <string name=\"import_keys_dialog_failure\">전자 지갑이 복구될 수 없습니다. :\\n\\n%s\\n\\n암호 오류 또는 다른 문제가 있는 것으로 보여집니다.</string>\n  <string name=\"export_keys_dialog_title\">전자 지갑 백업</string>\n  <string name=\"backup_wallet_dialog_message\">전자 지갑이 선택된 패스워드로 암호화되고 기기의 저장 장치에 백업됩니다.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">전자 지갑이 송금 PIN으로 보호됩니다. 백업 패스워드와 함께 PIN 번호를 꼭 기억하세요.</string>\n  <string name=\"export_keys_dialog_button_export\">백업</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>전자 지갑이 아래 위치에 백업됩니다. <tt>%s</tt></p><p><b>만약 SD 카드가 이 장치 기기의 유일한 백업 가능 장소라면 SD 카드 분실에 따른 전자 지갑의 분실 위험 또한 숙지하셔야 합니다.</b></p><p>백업할 때의 패스워드를 반드시 기억하고 있어야 추후 백업 파일을 이용할 수 있습니다.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">전자 지갑이 백업에 실패했습니다. : \\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">패스워드</string>\n  <string name=\"backup_wallet_dialog_password_again\">다시</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">맞지 않음!</string>\n  <string name=\"import_export_keys_dialog_show\">패스워드 보이기</string>\n  <string name=\"import_export_keys_dialog_failure_title\">오류</string>\n  <string name=\"import_keys_intent_filter_action\">전자 지갑 복구</string>\n  <string name=\"encrypt_keys_dialog_title\">송금 PIN</string>\n  <string name=\"encrypt_keys_dialog_message\">이 앱을 사용해 송금 시 설정된 PIN 번호를 입력해야 합니다.</string>\n  <string name=\"encrypt_keys_dialog_warning\">중요: PIN 번호를 기억해야 합니다! 생일과 같은 노출되기 쉬운 숫자를 사용하지 마세요.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">이전 PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">약함</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">괜찮음</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">좋음</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">강함</string>\n  <string name=\"encrypt_keys_dialog_show\">PIN 보이기</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">암호화중...</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">복호화중...</string>\n  <string name=\"encrypt_keys_dialog_state_done\">완료.</string>\n  <string name=\"scan_camera_problem_dialog_title\">카메라의 QR 스캐닝 오류</string>\n  <string name=\"scan_camera_problem_dialog_message\">카메라 기능에 문제가 있습니다. 이 문제는 장치 기기의 재시작으로 해결될 수도 있습니다.</string>\n  <string name=\"scan_camera_permission_dialog_title\">카메라 접근 권한</string>\n  <string name=\"scan_camera_permission_dialog_message\">QR 코드를 스캔하기 위해서는 카메라 접근 권한을 허용해야 합니다.</string>\n  <string name=\"input_parser_io_error\">데이터를 읽을 수 없습니다. :\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">입력값 파싱 중 에러가 발생했습니다. : %s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">유효하지 않은 비트코인 URI입니다. :\\n%s</string>\n  <string name=\"input_parser_invalid_address\">유효하지 않은 비트코인 주소입니다!\\n(비트코인 네트워크와 테스트넷 주소의 뒤섞임이 원인일 수 있습니다)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">결제 요청을 검증할 수 없습니다. :\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">유효하지 않은 결제 요청입니다. :\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">유효하지 않은 거래입니다. :\\n%s</string>\n  <string name=\"preferences_activity_title\">설정</string>\n  <string name=\"preferences_category_diagnostics\">오류 진단</string>\n  <string name=\"preferences_category_labs\">실험실</string>\n  <string name=\"preferences_precision_title\">액면 변경 및 표시할 자리수 </string>\n  <string name=\"preferences_precision_summary\">수량 표시 영역의 단위입니다. 산정되는 수치에는 영향을 미치지 않습니다.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 소수 8자리</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 소수 6자리</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 소수 4자리</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 소수 2자리</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, 소수 표시안함</string>\n  <string name=\"preferences_own_name_title\">소유자명</string>\n  <string name=\"preferences_own_name_summary\">결제요청에 추가될 당신의 이름입니다. 짧게 입력해주세요.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">송금 대화창을 자동으로 닫기</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">결제가 완료되면 송금 대화창이 자동으로 닫힙니다.</string>\n  <string name=\"preferences_trusted_peer_title\">신뢰할 수 있는 피어</string>\n  <string name=\"preferences_trusted_peer_summary\">IP 또는 연결할 단일 피어의 호스트네임</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">분석 중...</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">알려지지 않은 호스트 네임!</string>\n  <string name=\"preferences_trusted_peer_only_title\">일반적인 피어 탐색을 수행하지 않고 지나칩니다.</string>\n  <string name=\"preferences_trusted_peer_only_summary\">신뢰할 수 있는 피어(Peer)를 포함한 어떤 피어라도 새롭게 연결하는 것을 차단합니다.</string>\n  <string name=\"preferences_block_explorer_title\">블럭 탐색기</string>\n  <string name=\"preferences_block_explorer_summary\">트랜잭션, 주소, 블럭을 검색하기 위한 외부의 블럭 탐색기 사용</string>\n  <string name=\"preferences_data_usage_title\">데이터 사용량</string>\n  <string name=\"preferences_data_usage_summary\">모바일 네트워크에서 사용할 데이터 사용량 제한 설정을 보여줍니다.</string>\n  <string name=\"preferences_remind_balance_title\">잔액 알림</string>\n  <string name=\"preferences_remind_balance_summary\">앱에 잔액이 남아 있는 상태에서 몇 주간 사용을 하지 않으면 앱이 알람을 보냅니다.</string>\n  <string name=\"preferences_show_disclaimer_title\">면책 조항 표시</string>\n  <string name=\"preferences_report_issue_title\">오류 보고</string>\n  <string name=\"preferences_initiate_reset_title\">블럭체인 재설정</string>\n  <string name=\"preferences_initiate_reset_summary\">블럭 체인과 거래 내역, 비트코인 잔액을 다시 읽어들입니다. 이 리셋 과정에 상당히 많은 시간이 소요되므로 이 기능이 무엇인지 정확히 이해하고 있는 경우에만 적용하십시오.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">블럭체인을 초기화한 후 다시 불러오겠습니까?\\n\\n이 작업을 진행하면 지갑의 잔액과 거래 내역이 일시적으로 표시되지 않습니다. 블럭체인 동기화 완료 시, 다시 정상적으로 표시됩니다.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">재동기화</string>\n  <string name=\"preferences_extended_public_key_title\">extended public key 보이기</string>\n  <string name=\"preferences_extended_public_key_summary\">전자지갑의 확장 공개키를 표시해서 다른 앱과 서비스로 내보낼 수 있습니다. 지갑의 잔액과 거래 내역이 다른 사람에게 공개될 수 있으므로 주의해야 합니다.</string>\n  <string name=\"bitmap_fragment_share\">공유</string>\n  <string name=\"extended_public_key_fragment_title\">확장 개인키</string>\n  <string name=\"extended_public_key_fragment_share\">extended public key 공유</string>\n  <string name=\"report_issue_dialog_title_issue\">오류 보고</string>\n  <string name=\"report_issue_dialog_title_crash\">로드 중 에러 발생</string>\n  <string name=\"report_issue_dialog_title_transaction\">선택된 거래에 대한 이슈 사항 보고</string>\n  <string name=\"report_issue_dialog_message_issue\">재현 가능하도록 이슈 사항을 구체적으로 설명해 주십시오. 이슈 내용은 영어로 작성하는 것을 권장.</string>\n  <string name=\"report_issue_dialog_message_crash\">이 문제점을 고치기 위해 추후 비정상 종료에 대한 보고서를 보내겠습니까?</string>\n  <string name=\"report_issue_dialog_description\">오류 내용 입력</string>\n  <string name=\"report_issue_dialog_report\">전송</string>\n  <string name=\"report_issue_dialog_collect_device_info\">장치 기기의 정보를 첨부</string>\n  <string name=\"report_issue_dialog_collect_application_log\">애플리케이션 로그 첨부</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">전자지갑 덤프 파일 첨부</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">오류 보고서 전송 방법 선택</string>\n  <string name=\"about_title\">앱 소개</string>\n  <string name=\"about_version_title\">버전</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">라이센스</string>\n  <string name=\"about_source_title\">소스 코드</string>\n  <string name=\"about_category_credits\">이 앱이 사용 중인 프로토콜</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s 버전</string>\n  <string name=\"about_credits_zxing_title\">ZXing의 QR코드 처리 라이브러리</string>\n  <string name=\"about_market_app_summary\">앱 리뷰 또는 등급 점수 매기러 가기</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">이 앱에 대한 묻고 답하기(FAQ) 내용</string>\n  <string name=\"notification_coins_received_msg\">비트코인 수취 알림 : %s</string>\n  <string name=\"notification_peers_connected_msg\">피어 연결 개수 알림 : %d</string>\n  <string name=\"notification_inactivity_title\">아직 이 장치 기기에 비트코인이 남아 있습니다.</string>\n  <string name=\"notification_inactivity_message\">이 비트코인 지갑 앱을 삭제하기 전에, 잔액을 다른 곳으로 송금하지 않으면 모든 비트코인(%s)이 사라집니다.</string>\n  <string name=\"notification_inactivity_message_donate\">만약 남은 잔액에 관심이 없다면 비트코인 지갑 앱 프로젝트에 기부할 수 있습니다.</string>\n  <string name=\"notification_inactivity_action_dismiss\">이후 다시알림</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">알림 필요없음</string>\n  <string name=\"notification_channel_received_name\">수신 내역</string>\n  <string name=\"notification_channel_ongoing_name\">백그라운드 활동</string>\n  <string name=\"notification_channel_important_name\">중요 경고</string>\n  <string name=\"appwidget_wallet_balance_title\">비트코인 잔액</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">확인</string>\n  <string name=\"button_dismiss\">닫기</string>\n  <string name=\"button_cancel\">취소</string>\n  <string name=\"button_retry\">재시도</string>\n  <string name=\"button_help\">도움말</string>\n  <string name=\"button_add\">추가</string>\n  <string name=\"button_delete\">삭제</string>\n  <string name=\"button_set\">설정</string>\n  <string name=\"button_remove\">삭제</string>\n  <string name=\"button_edit\">수정</string>\n  <string name=\"button_copy\">복사</string>\n  <string name=\"button_paste\">붙여넣기</string>\n  <string name=\"button_share\">공유</string>\n  <string name=\"button_set_as_default\">기본값으로 설정</string>\n  <string name=\"button_request_coins\">비트코인 송금요청</string>\n  <string name=\"button_send_coins\">송금하기</string>\n  <string name=\"button_scan\">QR 읽기</string>\n  <string name=\"button_settings\">설정</string>\n  <string name=\"action_show_qr\">QR코드 보기</string>\n  <string name=\"action_browse\">블럭체인 탐색</string>\n  <!--generic strings-->\n  <string name=\"time_today\">오늘</string>\n  <string name=\"address_unlabeled\">(이름 없음)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">잘못된 PIN 번호입니다!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O 오류: %s</string>\n  <string name=\"error_parse\">파싱 오류: %s</string>\n  <string name=\"error_http\">HTTP 오류 %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">블루투스 오류: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ko/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\t화면의 왼쪽 상단에 현재 보유 중인 비트코인 잔액과 해당 국가 통화 기준 평가 금액이 표시됩니다.\n\t\t\t탭해서 국가 통화의 목록 화면으로 이동해 그중 하나를 기본 통화로 선택할 수 있습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t오른쪽의 QR코드는 비트코인 주소를 담고 있고, 상대방이 스캔해서 비트코인을 보낼 수 있습니다.\n\t\t\t크게 표시하려면 QR코드를 탭하세요.\n\t\t</p>\n\t\t<p>\n\t\t\t화면의 아래 쪽에 거래 내역이 보여집니다.\n\t\t\t네트워크 승인이 완료될 때까지 흐리게 표시됩니다.\n\t\t\t해당 거래내역을 탭해 주소록에 추가할 수 있습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t최하단의 액션바에 있는 버튼을 탭해 비트코인을 보내거나 요청할 수 있습니다.\n\t\t\t설정 메뉴에서 더 많은 기능을 자신에 맞게 조정할 수 있습니다.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\t이 화면에서는 다른 사람에게 비트코인을 요청할 수 있습니다. (당사자가 비트코인 전자 지갑을 가지고 있을 경우)\n\t\t</p>\n\t\t<p>\n\t\t\t먼저 요청할 금액을 입력하세요.\n\t\t</p>\n\t\t<p>\n\t\t\t그뒤 화면 아래에 나타난 QR 코드를 비트코인을 보내는 사람에게 스캔하도록 요청 후 상대방이 비트코인을 보내면 당신의 지갑에 거래 내역이 나타납니다.\n\t\t\t또는 상단의 메뉴 바에서 공유 버튼을 탭해 다른 사람에게 이 요청을 원격으로 전송할 수도 있습니다. 이때 요청을 받은 사람은 요청한 사람이 보낸 비트코인 URL을 클릭하거나 앱일 경우 탭해서 간단하게 송금할 수 있습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t아니면 현재 창에서 모든 칸을 입력 후 다른 사람에게 이메일 등을 통해 보냄으로써 비트코인 송금을 요청할 수 있습니다.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\t이 화면은 비트코인 송금 과정입니다.\n\t\t</p>\n\t\t<p>\n\t\t\t먼저 비트코인을 보낼 곳에 주소를 입력하세요.\n\t\t\t받는 사람의 주소나 이름 첫 글자를 입력하면 주소록으로부터 자동으로 읽어들여 주소 선택창을 표시합니다.\n\t\t\t아니면 상단의 메뉴 바에서 QR 읽기 버튼을 통해 비트코인 주소 정보를 가지고 있는 QR 코드에서 직접 불러올 수도 있습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t이제 송금할 금액을 입력해야 합니다. 비트코인 금액을 입력하거나 해당 국가의 평가 금액을 입력할 수도 있습니다.\n\t\t</p>\n\t\t<p>\n\t\t\tPIN 코드를 설정했다면, 설정 번호를 입력해야 합니다.\n\t\t</p>\n\t\t<p>\n\t\t\t오프라인일 때에도 비트코인을 보내도록 설정할 수 있습니다.\n\t\t\t이후 온라인 상태에서 이 앱을 실행하면 설정된 주소에 해당 금액을 보냅니다.\n\t\t\t네트워크 환경이 무선랜처럼 속도가 빠른 환경이라면 거래가 좀더 빨라집니다.\n\t\t</p>\n\t\t<p>\n\t\t\t참조 :\n\t\t\t주의! 비트코인은 한 번 송금하면 되돌릴 수 없습니다!\n\t\t\t송금하기 전에 항상 받는 주소를 다시 확인하는 것이 좋습니다.\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>안전을 위한 중요 참고 사항</b>\n\t\t</p>\n\t\t<p>\n\t\t\t비트코인은 이 앱과 장치 기기에 저장되어 있습니다.\n\t\t\t<b>만약 기기를 분실한다면 보유하고 있는 비트코인을 모두 분실하는 상황이 생길 수 있습니다.</b>\n\t\t</p>\n\t\t<p>\n\t\t\t예기치 않은 상황에 대비하기 위해서  <b>전자 지갑 백업</b>을 수행하는 것이 좋습니다.\n\t\t\t모바일 기기의 다른 백업 어플리케이션을 수행할 필요 없이, 이 비트코인 전자 지갑 앱의 설정 메뉴에서 백업할 수 있습니다.\n\t\t\t그리고 백업 파일을 SD 카드나 USB와 같은 별도의 저장 장치 등 안전한 곳에 보관하고 백업할 때 사용했던 암호를 절대 잊지 않도록 주의하세요.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>앱 삭제 전</b> (앱 데이터 또는 장치 기기를 없애기 전) <b>보유하고 있는 비트코인을 반드시 다른 지갑으로 모두 전송</b>하세요.\n\t\t\t남겨진 비트코인이 있으면 잃어버릴 수 있습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>결제 되돌리기 불가능!</b>\n\t\t\t비트코인은 한 번 거래가 이루어지면 돌려받을 수 있는 방법이 없으므로 상대방의 비트코인 주소가 맞는지 확인하는 것이 좋습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>모바일기기는 안전한 곳에 보관!</b>\n\t\t\t모바일 기기의 루팅은 권하지 않습니다.\n\t\t\t악성 앱 때문에 비트코인이 도난당할 수 있으니, 믿을 수 있는 검증된 앱만 설치하는 것이 좋습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t위험 최소화!\n\t\t\t그때그때 <b>소량의 비트코인만 거래하시면 더욱 안전</b>합니다.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>기술 참조 노트</b>\n\t\t</p>\n\t\t<p>\n\t\t\tSPV(간편 결제 인증, Simple Payment Verification은 비트코인 결제 과정을 인증하기 위해 전체 블럭이 아닌 최근 블럭 일부만 동기화하는 방식) 또는 경량화 지갑(Light Wallet)으로서 이 비트코인 지갑 앱은, 가장 최근 작업 증명된 체인(가장 긴 블럭체인 또는 위닝 체인 또는 비트코인 블럭체인이라 불리는 것)을 따라갑니다.\n\t\t\t일반 사용자는 바로 이 블럭체인 환경 하에서 비트코인을 받거나 보내게 됩니다.\n\t\t\t그렇지 않고 작업 증명 과정이나 하드 포크 과정에서 도태된 비주류 블럭체인에서 이루어지는 거래는 절대 그 안전성을 보장하지 않습니다.\n\t\t</p>\n\t\t<p>\n\t\t\t지금까지 이 비주류 블럭체인은 아주 빠르게 비트코인 노드 네트워크에서 사라졌습니다.\n\t\t\t그래도 여전히 이러한 비주류 블럭체인을 따라가고 싶다면, 목표하는 특정 체인을 실행시켜 주는 bitcoind 구현 환경으로 강제적으로 연결해야 하며, 이를 위해서는 \\\"신뢰할 만한 피어\\\"를 사용하는 것이 좋습니다.\n\t\t\t만약 당신의 비트코인 지갑과 신뢰할 만한 피어 사이에 있는 중간 네트워크가 신뢰할 수 없다면, VPN을 사용하십시오.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-land/layouts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <item name=\"wallet_content\" type=\"layout\">@layout/wallet_activity_onepane_horizontal</item>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-mk/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"toast_wallet_reset\">Паричникот е ресетиран,\\nпотребно е време да се обнови</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_safety\">Користи на сопствен ризик. Прочитај &lt;u&gt;safety notes&lt;/u&gt;.</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_backup\">Треба да направиш &lt;u&gt;резервна копија на твојот паричник&lt;/u&gt;!</string>\n\t<string name=\"blockchain_state_progress_hours\">%1$s, %2$d часови заостанува</string>\n\t<string name=\"blockchain_state_progress_days\">%1$s, %2$d денови заостанува</string>\n\t<string name=\"blockchain_state_progress_weeks\">%1$s, %2$d недели заостанува</string>\n\t<string name=\"blockchain_state_progress_months\">%1$s, %2$d месеци заостанува</string>\n\t<string name=\"blockchain_state_progress_downloading\">Се синхронизира со мрежата</string>\n\t<string name=\"blockchain_state_progress_stalled\">Синхронизацијата застана</string>\n\t<string name=\"blockchain_state_progress_problem_storage\">Се синхронизира: Проблем со простор за складирање</string>\n\t<string name=\"blockchain_state_progress_problem_network\">Се синхронизира: Проблем со мрежата</string>\n\t<string name=\"wallet_address_fragment_clipboard_msg\">Биткоин адресата е копирана во склад</string>\n\t<string name=\"wallet_balance_fragment_replaying\">Салдото е недостапно за време на повторена акција.</string>\n\t<string name=\"exchange_rates_activity_title\">Девизен курс</string>\n\t<string name=\"exchange_rates_fragment_default\">(главно)</string>\n\t<string name=\"exchange_rates_fragment_rate\">курс</string>\n\t<string name=\"exchange_rates_fragment_balance\">салдо</string>\n\t<string name=\"exchange_rates_fragment_source\">Цената е преземена од %s</string>\n\t<string name=\"wallet_transactions_options_filter_received\">Примено</string>\n\t<string name=\"wallet_transactions_options_filter_all\">Двете</string>\n\t<string name=\"wallet_transactions_options_filter_sent\">Испратено</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_received\">Нема примени Биткоини досега.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_sent\">Нема испратени Биткоини досега.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_howto\">Како да дојдеш до Биткоини?\\nРазмени за традиционални пари,\\nпродавај продукти или сервиси, или \\nзаработи со работење.</string>\n\t<string name=\"wallet_transactions_row_warning_backup\">Честитки, ја доби твојата прва исплата! Дали веќе направи &lt;u&gt;резервна копија од паричникот&lt;/u&gt;, во случај да го загубиш?</string>\n\t<string name=\"wallet_transactions_fragment_coinbase\">ископани</string>\n\t<string name=\"wallet_transactions_fragment_internal\">внатрешен</string>\n\t<string name=\"wallet_options_safety\">Безбедносни белешки</string>\n\t<string name=\"wallet_options_donate\">Бакшиш / Донирај</string>\n\t<string name=\"wallet_donate_address_label\">Донација за Биткоин Паричник</string>\n\t<string name=\"wallet_low_storage_dialog_title\">Интерниот простор за складирање на уредот е мал!</string>\n\t<string name=\"wallet_low_storage_dialog_msg\">Биткоин Паричникот користи внатрешен склад за помнење на трансакциите и блоковите. Ако снема простор, ќе престане да функционира и твоите биткоини ќе бидат изложени на ризик!\\n\\nДали сакаш да го отвориш Апликацискиот Менаџер и да отстраниш непотребни апликации?</string>\n\t<string name=\"wallet_low_storage_dialog_button_apps\">Менаџирај апликации</string>\n\t<string name=\"wallet_timeskew_dialog_title\">Провери ги поставувањата за време!</string>\n\t<string name=\"wallet_timeskew_dialog_msg\">Времето на твојот уред е неточно за %d минути. Најверојатно не можеш да праќаш или примаш Биткоини поради овој проблем.\\n\\nТреба да ги провериш и коригираш поставувањата за твоето време и временската зона.</string>\n\t<string name=\"wallet_version_dialog_title\">Достапна е нова верзија!</string>\n\t<string name=\"wallet_version_dialog_msg\">Оваа верзија поправа важни софтверски грешки. За детали, види го дневникот со грешки на %s.</string>\n\t<string name=\"wallet_version_dialog_button_binary\">Преземи</string>\n\t<string name=\"wallet_old_sdk_dialog_title\">Андроид верзијата не е ажурирана</string>\n\t<string name=\"wallet_old_sdk_dialog_message\">Постојат големи шанси дека во некоја од следните верзии на Биткоин Паричник твојот уред нема да биде поддржан повеќе. Во некои случаи, може да биде тешко да трошиш биткоини од овој уред.\\n\\nОсвен ако знаеш што правиш, препорачуваме да ги преместиш твоите биткоини наскоро.</string>\n\t<string name=\"send_coins_activity_title\">Испрати Биткоини</string>\n\t<string name=\"send_coins_fragment_receiving_address_label\">Плати на</string>\n\t<string name=\"send_coins_fragment_receiving_address_hint\">впиши адреса или име</string>\n\t<string name=\"send_coins_fragment_receiving_address_error\">Невалидна Биткоин адреса!</string>\n\t<string name=\"send_coins_fragment_pending\">(%s чека за потврда)</string>\n\t<string name=\"send_coins_fragment_amount_label\">Сума да се плати</string>\n\t<string name=\"send_coins_fragment_button_send\">Испрати</string>\n\t<string name=\"send_coins_fragment_button_back\">Назад</string>\n\t<string name=\"send_coins_preparation_msg\">Потпишувам…</string>\n\t<string name=\"send_coins_sending_msg\">Испраќам…</string>\n\t<string name=\"send_coins_sent_msg\">Испратено!</string>\n\t<string name=\"send_coins_failed_msg\">Не успеа!</string>\n\t<string name=\"send_coins_error_msg\">Проблем при праќање на Биткоини!</string>\n\t<string name=\"send_coins_options_empty\">Испразни го паричникот</string>\n\t<string name=\"request_coins_activity_title\">Побарај Биткоини</string>\n\t<string name=\"request_coins_fragment_amount_label\">Побарувана сума (опционално)</string>\n\t<string name=\"request_coins_fragment_initiate_request_qr\">Испраќачот нека го скенира овој код.</string>\n\t<string name=\"request_coins_fragment_initiate_request_nfc\">Или допри уред кој има вклучен NFC.</string>\n\t<string name=\"request_coins_clipboard_msg\">Побарувањето за Биткони е копирано во склад</string>\n\t<string name=\"request_coins_share_dialog_title\">Сподели го побарувањето за Биткоини…</string>\n\t<string name=\"request_coins_options_local_app_title\">Побарај од локална апликација</string>\n\t<string name=\"address_book_activity_title\">Адресар</string>\n\t<string name=\"address_book_list_receiving_title\">Твои адреси</string>\n\t<string name=\"address_book_list_sending_title\">Испратени адреси</string>\n\t<string name=\"address_book_empty_text\">Нема полиња во адресарот</string>\n\t<string name=\"address_book_context_send_title\">Испрати Биткоини до адреса</string>\n\t<string name=\"address_book_context_edit_title\">Уреди адреса</string>\n\t<string name=\"address_book_context_remove_title\">Отстрани адреса</string>\n\t<string name=\"address_book_context_copy_to_clipboard_title\">Копирај во склад</string>\n\t<string name=\"address_book_options_scan_title\">Скенирај адреса</string>\n\t<string name=\"address_book_row_message_compromised_key\">Оваа адреса можеби е компромитирана. Не треба да ја користиш за примање биткоини повеќе.</string>\n\t<string name=\"edit_address_book_entry_dialog_title_add\">Додади адреса</string>\n\t<string name=\"edit_address_book_entry_dialog_title_edit\">Уреди адреса</string>\n\t<string name=\"edit_address_book_entry_dialog_address_label\">Адреса</string>\n\t<string name=\"edit_address_book_entry_dialog_label_label\">Име</string>\n\t<string name=\"edit_address_book_entry_dialog_button_edit\">Зачувај</string>\n\t<string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Ова плаќање сѐ уште не е испратено.</string>\n\t<string name=\"transaction_row_message_purpose_key_rotation\">Оваа трансакција го заштитува твојот паричник против кражби. &lt;u&gt;More info.&lt;/u&gt;</string>\n\t<string name=\"transaction_row_message_received_unconfirmed_unlocked\">Ова плаќање ќе можеш да го трошиш за неколку минути.</string>\n\t<string name=\"transaction_row_message_received_dead\">Ова плаќање е преиначено од испраќачот.</string>\n\t<string name=\"transaction_row_message_received_dust\">Оваа мала сума најверојатно никогаш нема да можеш да ја потрошиш економично.</string>\n\t<string name=\"network_monitor_activity_title\">Набљудувач на мрежата</string>\n\t<string name=\"network_monitor_peer_list_title\">Точки</string>\n\t<string name=\"network_monitor_block_list_title\">Блокови</string>\n\t<string name=\"peer_list_fragment_empty\">Нема поврзани точки</string>\n\t<string name=\"peer_list_row_ping_time\">⇆ %d мс</string>\n\t<string name=\"import_keys_dialog_title\">Врати ги приватните клучеви</string>\n\t<string name=\"import_keys_dialog_button_import\">Поврати</string>\n\t<string name=\"import_keys_dialog_failure\">Приватните клучеви не може да се повратат:\\n\\n%s\\n\\nГрешна лозинка?</string>\n\t<string name=\"export_keys_dialog_title\">Направи резервна копија од приватните клучеви</string>\n\t<string name=\"backup_wallet_dialog_message\">Твоите приватни клучеви ќе бидат шифрирани со одбраната лозинка и зачувани во надворешен склад.</string>\n\t<string name=\"export_keys_dialog_button_export\">Направи резервна копија</string>\n\t<string name=\"export_keys_dialog_success\">Твоите приватни клучеви имаат резервна копија во\\n\\n%s\\n\\nЧувај ги на безбедно место и чувај ја твојата лозинка тајна!</string>\n\t<string name=\"export_keys_dialog_failure\">Не може да се креира резервна копија од твоите приватни клучеви:\\n%s</string>\n\t<string name=\"import_export_keys_dialog_password\">лозинка</string>\n\t<string name=\"import_export_keys_dialog_show\">Прикажи лозинка</string>\n\t<string name=\"import_export_keys_dialog_failure_title\">Грешка</string>\n\t<string name=\"import_keys_intent_filter_action\">Поврати Биткоин клуч</string>\n\t<string name=\"scan_camera_problem_dialog_title\">Извини</string>\n\t<string name=\"scan_camera_problem_dialog_message\">Камерата јавува проблем. Најверојатно треба да го рестартираш уредот.</string>\n\t<string name=\"input_parser_cannot_classify\">Не може да се класифицира внесот:\\n%s</string>\n\t<string name=\"input_parser_invalid_bitcoin_uri\">Невалидно Биткоин URI:\\n%s</string>\n\t<string name=\"input_parser_invalid_address\">Невалидна биткоин адреса!\\n(Згреши со Mainnet/Testnet?)</string>\n\t<string name=\"input_parser_invalid_transaction\">Невалидна трансакција:\\n%s</string>\n\t<string name=\"preferences_activity_title\">Поставувања</string>\n\t<string name=\"preferences_category_diagnostics\">Дијагностицирање</string>\n\t<string name=\"preferences_category_labs\">Лабораторија</string>\n\t<string name=\"preferences_precision_title\">Деноминација и прецизност</string>\n\t<string name=\"preferences_precision_summary\">Мерка за прикажување на салдото. Ова не влијае на пресметките.</string>\n\t<string name=\"preferences_trusted_peer_title\">Ополномоштена точка</string>\n\t<string name=\"preferences_trusted_peer_summary\">IP или име на единствена точка за поврзување.</string>\n\t<string name=\"preferences_trusted_peer_only_title\">Прескокни основно откривање на точки</string>\n\t<string name=\"preferences_trusted_peer_only_summary\">Спречи поврзување со точки, освен со оние на кои им веруваш.</string>\n\t<string name=\"preferences_data_usage_title\">Мобилна конекција</string>\n\t<string name=\"preferences_data_usage_summary\">Прикажи опции да се ограничи користењето на мобилна конекција.</string>\n\t<string name=\"preferences_report_issue_title\">Пријави грешка</string>\n\t<string name=\"preferences_initiate_reset_title\">Ресетирај го block chain</string>\n\t<string name=\"preferences_initiate_reset_summary\">Ресетирај го block chain, трансакциите и салдото на паричникот. Ова може да потрае малку.</string>\n\t<string name=\"preferences_initiate_reset_dialog_message\">Дали би сакал да го ресетираш и обновиш blockchain?\\n\\nОва привремено ќе го скрие салдото на твојот паричник и ќе ги отстрани трансакциите. И двете ќе се обноват штом blockchain се сихронизира.</string>\n\t<string name=\"preferences_initiate_reset_dialog_positive\">Ресетирај</string>\n\t<string name=\"report_issue_dialog_title_issue\">Пријави грешка</string>\n\t<string name=\"report_issue_dialog_title_crash\">Претходна грешка детектирана</string>\n\t<string name=\"report_issue_dialog_message_issue\">Те молам опиши ја твојата грешка доволно детално за нашите програмери да ја репродуцираат.</string>\n\t<string name=\"report_issue_dialog_message_crash\">Дали би сакал да испратиш извештај за грешката, со што ќе ни помогнеш да ја поправиме во иднина?</string>\n\t<string name=\"report_issue_dialog_description\">опис на грешката</string>\n\t<string name=\"report_issue_dialog_report\">Извештај</string>\n\t<string name=\"report_issue_dialog_collect_device_info\">Додај информации за уредот</string>\n\t<string name=\"report_issue_dialog_collect_application_log\">Додај го дневникот на апликацијата</string>\n\t<string name=\"report_issue_dialog_collect_wallet_dump\">Додај го отпадот на паричникот</string>\n\t<string name=\"report_issue_dialog_mail_intent_chooser\">Испрати извештај со…</string>\n\t<string name=\"about_title\">За апликацијата</string>\n\t<string name=\"about_license_title\">Лиценца</string>\n\t<string name=\"about_category_credits\">Оваа апликација користи…</string>\n\t<string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n\t<string name=\"about_credits_zxing_title\">ZXing</string>\n\t<string name=\"about_market_app_title\">%s страница</string>\n\t<string name=\"about_market_app_summary\">Напиши мислење или оцени ја апликацијата</string>\n\t<string name=\"notification_coins_received_msg\">Примени %s</string>\n\t<string name=\"notification_peers_connected_msg\">%d поврзани точки</string>\n\t<!-- generic buttons -->\n\t<string name=\"button_ok\">ОК</string>\n\t<string name=\"button_dismiss\">Отфрли</string>\n\t<string name=\"button_cancel\">Откажи</string>\n\t<string name=\"button_help\">Помош</string>\n\t<string name=\"button_add\">Додај</string>\n\t<string name=\"button_delete\">Избриши</string>\n\t<string name=\"button_edit\">Уреди</string>\n\t<string name=\"button_copy\">Копирај</string>\n\t<string name=\"button_paste\">Внеси</string>\n\t<string name=\"button_share\">Сподели</string>\n\t<string name=\"button_set_as_default\">Постави како главно</string>\n\t<string name=\"button_request_coins\">Побарај коини</string>\n\t<string name=\"button_send_coins\">Испрати коини</string>\n\t<string name=\"button_scan\">Скенирај</string>\n\t<string name=\"button_settings\">Поставувања</string>\n\t<string name=\"action_show_qr\">Прикажи QR код</string>\n\t<string name=\"action_browse\">Прегледај</string>\n\t<string name=\"time_today\">денес</string>\n\t<string name=\"address_unlabeled\">(без ознака)</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-mk/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tГорниот лев агол од екранот ја прикажува твојата одбрана Биткоин адреса која останатите треба да ја знаат за да ти праќаат биткоини.\n\t\t\tДопри за да ја смениш адресата.\n\t\t</p>\n\t\t<p>\n\t\t\tQR кодот на десно ја содржи твојата биткоин адреса и може да се користи за скенирање од страна на останатите.\n\t\t\tДопри го QR кодот за зголемена верзија.\n\t\t</p>\n\t\t<p>\n\t\t\tНа средината на екранот, прикажано е твоето салдо.\n\t\t\tСумата на твоето салдо е исто така прикажана во одбраната валута.\n\t\t\tДопри го салдото за да прикажеш листа на валути, и одбери една од тие валути за да ја одбереш како главна.\n\t\t</p>\n\t\t<p>\n\t\t\tДолниот дел од екранот е исполнет со листата на твоите трансакции, која на почетокот е празна.\n\t\t\tТрансакциите кои чекаат на одобрување се сиви додека не бидат потврдени.\n\t\t\tДопри едно поле за да ја додадеш адресата од испраќачот во адресарот.\n\t\t</p>\n\t\t<p>\n\t\t\tМожеш да примиш или побараш биткоини со допир на копчињата во акциската лента.\n\t\t\tПовеќе опции се достапни во менито со опции.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tКористејќи го овој дијалог, можеш да побараш биткоини од друга личност (кој би требало да има инсталиран Биткоин Паричник).\n\t\t</p>\n\t\t<p>\n\t\t\tНајпрво, можеш да внесеш сума на биткоини кои ги побаруваш.\n\t\t</p>\n\t\t<p>\n\t\t\tПотоа, генерираниот QR код треба да биде скениран од личноста која испраќа коини.\n\t\t\tИли пак, можеш да го испратиш твоето барање со копчето за споделување во акциското мени.\n\t\t\tТаа личност ќе треба да кликне на Биткоин линкот.\n\t\t</p>\n\t\t<p>\n\t\t\tКако и да е, на другата страна ќе и биде презентиран дијалог за испраќање на биткоини со сите претходно пополнети полиња.\n\t\t\tАко прифати, треба само да го испрати плаќањето.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tИницираше процес за испраќање коини.\n\t\t\tДојде тука преку главниот екран или преку кликање на Биткоин линк во твојот мобилен броусер.\n\t\t</p>\n\t\t<p>\n\t\t\tНајпрво, внеси ја Биткоин адресата на која ќе уплаќаш.\n\t\t\tАдресата ќе биде автоматски пополнета од познатите адреси во твојот адресар.\n\t\t\tМожеш и да скенираш QR кодови со Биткоин адреси или Биткоин барања со притискање на QR копче во акциското мени.\n\t\t</p>\n\t\t<p>\n\t\t\tСледно, можеш да видиш колку Биткоини ќе потрошиш во дадениот момент.\n\t\t\tСекоја разлика во салдото на главниот екран е непотврдена и не може да се потроши.\n\t\t</p>\n\t\t<p>\n\t\t\tКонечно, ја внесуваш сумата која сакаш да ја платиш.\n\t\t</p>\n\t\t<p>\n\t\t\tМожеш да внесеш и плаќање додека си офлајн.\n\t\t\tЌе биде испратено на следниот рестарт на Биткоин Паричник.\n\t\t\tАко сакаш плаќањето да биде процесирано побрзо, поврзи се на безжична мрежа (или мобилна конекција).\n\t\t</p>\n\t\t<p>\n\t\t\tЗабелешка:\n\t\t\tПлаќањата се неповратни!\n\t\t\tСекогаш проверувај ја адресата на примачот.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Важни безбедносни забелешки:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tБиткоините се зачувани на уредот.\n\t\t\t<b>Ако го загубиш, ќе ги загубиш сите твои биткоини.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tОва значи дека треба да направиш <b>резервна копија на твојот паричник</b>!\n\t\t\tКористи ја интерната можност на апликацијата за ова, наместо непозната надворешна апликација.\n\t\t\tЧувај ја твојата резервна копија на безбедно место и запомни ја лозинката.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Пред отстранување на апликацијата</b> (или чистење на податоците на уредот), <b>префрли ги твоите биткоини во друг паричник</b>.\n\t\t\tБиткоините кои ќе останат ќе бидат загубени засекогаш.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Плаќањата се неповратни</b>.\n\t\t\tАко испратиш биткоини, не постои начин да ги вратиш назад.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Чувај го мобилниот уред безбеден!</b>\n\t\t\tНе го рутирај уредот.\n\t\t\tИнсталирај само апликации на кои им веруваш.\n\t\t\tМалициозни апликации би можеле да го украдат твојот паричник.\n\t\t</p>\n\t\t<p>\n\t\t\tНамали го ризикот!\n\t\t\t<b>Чувај само мали суми</b> за секојдневна употреба.\n\t\t</p>\n\t]]>\n\t</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-nb/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Lommeboken ble nullstilt!\\nDet vil ta litt tid å gjenopprette.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Bruk på egen risiko. Les &lt;u&gt;sikkerhetsnotatene&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Du bør &lt;u&gt;ta sikkerhetskopi av din lommebok&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d timer bak</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dager bak</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d uker bak</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d måneder bak</string>\n  <string name=\"blockchain_state_progress_downloading\">Synkroniserer med nettverk</string>\n  <string name=\"blockchain_state_progress_stalled\">Synkronisering står stille</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Synkroniserer: Plassproblem</string>\n  <string name=\"blockchain_state_progress_problem_network\">Synkroniserer: Nettverksproblem</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin-adresse kopieret til utklippstavlen</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">For å beskytte ditt privatliv, vil en ny adresse bli generert når denne mottar en betaling.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Din enheten er gammel og usikker. Vennligst bare bruk for små beløp.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Dette beløpet er ganske høyt for å bære rundt i lommen din. Vennligst flytt noe til et tryggere sted.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Saldo er ikke tilgjengelig under gjennomgangen.</string>\n  <string name=\"exchange_rates_activity_title\">Valutakurser</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Kunne ikke finne valutakurser.</string>\n  <string name=\"exchange_rates_fragment_default\">(standard)</string>\n  <string name=\"exchange_rates_fragment_rate\">kurs</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Pris fra %s</string>\n  <string name=\"exchange_rates_options_search\">Søk i valutakurser</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Ingen bitcoins mottatt ennå.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Ingen bitcoins sendt ennå.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Hvordan får man bitcoins?\\nKjøp for tradisjonelle penger,\\nselg varer eller tjenester eller\\ntjen dem ved å arbeide.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Gratulerer, du har mottatt din første betaling! Har du &lt;u&gt;tatt en sikkerhetskopi av din lommebok&lt;/u&gt;, for å beskytte deg mot tap?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Tips: For å øke sikkerheten for lommeboka, kan du &lt;u&gt;kryptere enheten&lt;/u&gt;. Dette beskytter også andre apper sine data.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Bitcoin-nettverket er under vedlikehold. Du rådes til å ikke sende eller motta mynter inntil vedlikeholdet er ferdig. &lt;u&gt;Mer informasjon.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">utgravd</string>\n  <string name=\"wallet_transactions_fragment_internal\">intern</string>\n  <string name=\"wallet_transactions_options_filter\">Filter</string>\n  <string name=\"wallet_transactions_options_filter_all\">Alle betalinger</string>\n  <string name=\"wallet_transactions_options_filter_received\">Mottatte betalinger</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Sendte betalinger</string>\n  <string name=\"wallet_options_safety_menu\">Sikkerhet</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Sett PIN for betaling</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Endre PIN for betaling</string>\n  <string name=\"wallet_options_safety\">Sikkerhetsnotater</string>\n  <string name=\"wallet_options_technical_notes_title\">Tekniske notater</string>\n  <string name=\"wallet_options_donate\">Tips / Doner</string>\n  <string name=\"wallet_donate_address_label\">Doner til Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Sikkerhetsvarsel</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Din enhets blåtann-komponent er sårbar. Dine bitcoin på denne enheten er i fare, uavhengig av appen du bruker til å lagre dem!\\n\\nVi foreslår at du slår av blåtann umiddelbart og sjekker med produsenten av enheten for en oppdatering av Android OS som implementerer sikkerhetsoppdateringsnivå \\'%s\\' eller nyere.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Enhetens interne lagringsplass er lav!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet bruker lagring internt for å huske transaksjoner og blokker. Hvis den løper tom for plass, vil den stoppe å virke og dine bitcoins vil være under risiko!\\n\\nVil du åpne app-håndteringen for å avinstallere ubrukte apps?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Håndter apps</string>\n  <string name=\"wallet_timeskew_dialog_title\">Sjekk dato- og tidsinnstillinger</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Din enhets tid fraviker med %d minutter. Du kan sannsynligvis ikke sende eller motta bitcoin på grunn av dette problemet.\\n\\nDu bør sjekke og eventuelt korrigere innstillingene for dato, klokkeslett og tidssone.</string>\n  <string name=\"wallet_version_dialog_title\">En ny versjon er tilgjengelig!</string>\n  <string name=\"wallet_version_dialog_msg\">Denne versjonen retter viktige feil. For detaljer, se endringsloggen på %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Hvis du ikke ser en oppdatering, betyr dette sannsynligvis at din versjon av Android ikke støttes lenger.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Last ned</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android-versjon er utdatert</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Der er risiko for at en av de neste utgivelsene av Bitcoin Wallet ikke vil støtte din enhet lenger. I noen tilfeller kan det være vanskelig å bruke mynter på denne enheten.\\n\\nMed mindre du vet hva du gjør, anbefales det å straks flytte dine mynter vekk.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problem med å åpne innstillinger</string>\n  <string name=\"send_coins_activity_title\">Send bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Henter signatur fra %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Henting av signatur mislyktes</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Feil signatur!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">verifisert av: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">ukjent</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Betal til</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">skriv adresse eller navn</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Ugyldig Bitcoin-adresse!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Du er i ferd med å sende til deg selv!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">kompleks\\nadresse</string>\n  <string name=\"send_coins_fragment_pending\">(%s venter på bekreftelse)</string>\n  <string name=\"send_coins_fragment_amount_label\">Beløp å betale</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Et sparsomt gebyr på %s vil bli betalt. Bruk \\'sparsomt\\' kun hvis du ikke bryr deg om hvor lang tid det tar å få bekreftelse.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Et lite gebyr til nettverket på %s vil bli betalt.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Et gebyr for prioritet på %s vil bli betalt. Hvis du bryr deg om lave gebyrer, kan du bruke \\'prioritet\\' kun når du trenger bekreftelse så raskt som mulig.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Beløpet er for lite til å sende.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Ikke nok tilgjengelige mynter. Du mangler %s.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Summen av små betalinger i lommeboken er ikke en verdi stor nok til å sendes.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">For øyeblikket er betalinger ikke mulig fordi en gjennomgang pågår.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Send betaling direkte til mottakeren.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Din betaling ble sendt direkte med suksess.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Din betaling ble avvist via direkte forbindelse.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Direkte betaling mislyktes</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Din betaling vil fortsatt bli sendt ut på P2P-nettverket.</string>\n  <string name=\"send_coins_fragment_button_send\">Send</string>\n  <string name=\"send_coins_fragment_button_back\">Tilbake</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Ikke nok tilgjengelige mynter</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Du mangler %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Vil du betale alt hva du har?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Tømming av lommebok mislyktes</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Dekrypterer…</string>\n  <string name=\"send_coins_preparation_msg\">Signerer…</string>\n  <string name=\"send_coins_sending_msg\">Sender…</string>\n  <string name=\"send_coins_sent_msg\">Sendt!</string>\n  <string name=\"send_coins_failed_msg\">Mislyktes!</string>\n  <string name=\"send_coins_error_msg\">Problem under sending av mynter!</string>\n  <string name=\"send_coins_options_fee_category\">Gebyr</string>\n  <string name=\"send_coins_options_fee_category_economic\">Økonomisk</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioritert</string>\n  <string name=\"send_coins_options_empty\">Tøm lommebok</string>\n  <string name=\"raise_fee_dialog_title\">Øk nettverksgebyret</string>\n  <string name=\"raise_fee_dialog_message\">Ønsker du å øke gebyret for denne betalingen med %s? Det vil gjøre at betalingen godkjennes raskere.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Beregner nettverksgebyret…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Nettverksgebyret til denne betalingen kan ikke økes.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Dekrypterer…</string>\n  <string name=\"raise_fee_dialog_state_done\">Ferdig.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Øk</string>\n  <string name=\"sweep_wallet_activity_title\">Sveip en papirlommebok</string>\n  <string name=\"sweep_wallet_fragment_intro\">Du er i ferd med å sveipe en papirlommebok eller kupong. Dette vil flytte alle myntene fra dette papiret til din lommebok på denne enheten. Når transaksjonen er bekreftet, vil papiret være verdiløst og bør ikke brukes om igjen av sikkerhetsmessige grunner.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Papirlommebøker er mest brukt til kaldlagring. Noen minibanker skriver dem ut på papir fremfor å sende myntene til den mobile enheten direkte. Folk bruker noen ganger forhåndslastede papirlommebøker for å utveksle verdier (anbefales ikke).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Start med å skanne den private nøkkelen av en papirlommebok. Bruk handlingsknappen formet som et kamera.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Denne private nøkkelen er beskyttet med et passord.</string>\n  <string name=\"sweep_wallet_fragment_password\">passord</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">feil passord!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Saldo å sveipe</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Dekrypter</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Sveip</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Dekrypterer…\\nTar opp til 2 minutter.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Laster saldo…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Lasting av saldo i lommebok feilet</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Ikke nok mynter</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Mengden av mynter i lommeboken er for liten for sveiping.</string>\n  <string name=\"sweep_wallet_options_reload\">Last inn saldo på nytt</string>\n  <string name=\"maintenance_dialog_title\">Vedlikehold anbefales</string>\n  <string name=\"maintenance_dialog_message\">Du har mottatt %1$s til usikre adresser. Har du lyst til å flytte disse myntene til sikre adresser? Et lite nettverksgebyr på %2$s vil bli betalt.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Dekrypterer…</string>\n  <string name=\"maintenance_dialog_state_done\">Ferdig.</string>\n  <string name=\"maintenance_dialog_button_move\">Flytt</string>\n  <string name=\"request_coins_activity_title\">Forespør bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Forespurt beløp (valgfri)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Motta betaling via blåtann for mer pålitelig prosessering</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Få avsenderen til å skanne denne koden.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Eller berør en NFC-aktivert enhet.</string>\n  <string name=\"request_coins_clipboard_msg\">Bitcoin-forespørsel kopieret til utklippstavlen</string>\n  <string name=\"request_coins_share_dialog_title\">Del forespørsel etter bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">Ingen andre Bitcoinapper funnet</string>\n  <string name=\"request_coins_options_local_app_title\">Forespørsel fra lokal app</string>\n  <string name=\"address_book_activity_title\">Adressebok</string>\n  <string name=\"address_book_list_receiving_title\">Dine adresser</string>\n  <string name=\"address_book_list_receiving_random\">Gamle adresser</string>\n  <string name=\"address_book_list_sending_title\">Sender adresser</string>\n  <string name=\"address_book_empty_text\">Ingen elementer i adressebok</string>\n  <string name=\"address_book_context_send_title\">Send bitcoins til adresse</string>\n  <string name=\"address_book_context_edit_title\">Rediger adresse</string>\n  <string name=\"address_book_context_remove_title\">Fjern adresse</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopier til utklippstavlen</string>\n  <string name=\"address_book_options_scan_title\">Skann adresse</string>\n  <string name=\"address_book_options_scan_invalid\">Skannet data kan ikke gjenkjennes</string>\n  <string name=\"address_book_options_scan_own_address\">Den skannede adressen er din egen.</string>\n  <string name=\"address_book_row_message_compromised_key\">Denne adressen kan være misbrukt. Du bør ikke bruke den til å motta mynter lenger.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Legg til avsenderadresse</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Rediger merkelapp for avsenderadresse</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Legg til merkelapp for din adresse</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Rediger merkelapp for din adresse</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adresse</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Merkelapp</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Lagre</string>\n  <string name=\"transaction_row_fee\">Nettverksgebyr</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Denne betalingen er ikke sendt ennå.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Denne transaksjonen styrker din lommebok mot tyveri. &lt;u&gt;Mer info.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Denne transaksjonen øker nettverksgebyret for en tidligere betaling.</string>\n  <string name=\"transaction_row_message_received_direct\">Denne betalingen er mottatt direkte. Det er en risiko for at den aldri blir brukbar.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Bekreftelsen av denne betalingen er forsinket, sannsynligvis på grunn av en overbelastning av Bitcoin-nettverket.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Denne betalingen bør bli brukbar om få minutter.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">På grunn av vedlikehold på Bitcoin-nettverket, bør denne transaksjonen ikke tas for gitt før den er helt bekreftet.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Denne betalingen har økt risiko for å bli reversert av avsender! Hvis du kan, vent på bekreftelse.</string>\n  <string name=\"transaction_row_message_received_dead\">Denne betalingen er blitt reversert av avsenderen.</string>\n  <string name=\"transaction_row_message_received_dust\">Dette lille beløpet kan økonomisk sett sannsynligvis aldri brukes.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Denne betalingen går til mange flere enn deg, og dette gjør at appen går tregere over tid. Hvis du kan, prøv å motta betalinger som kun går til deg.</string>\n  <string name=\"transaction_row_message_received_rbf\">Denne betalingen ble forsinket fordi avsenderen brukte en usikker transaksjonstype.</string>\n  <string name=\"network_monitor_activity_title\">Nettverksovervåkning</string>\n  <string name=\"network_monitor_peer_list_title\">Peers</string>\n  <string name=\"network_monitor_block_list_title\">Blokker</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Justering av vanskelighetsgraden på mining</string>\n  <string name=\"block_row_mining_reward_adjustment\">Halvering av belønning for mining</string>\n  <string name=\"block_row_now\">akkurat nå</string>\n  <string name=\"peer_list_fragment_empty\">Ingen peers tilkoblet</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Gjenopprett lommebok</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Du er i gang med å erstatte din nåværende lommebok. Hvis den inneholder mynter, vil disse mistes, med mindre du har en separat sikkerhetskopi av lommeboken.</string>\n  <string name=\"import_keys_dialog_warning\">Viktig: Ikke last inn private nøkler fra tvilsomme kilder! Andre kan oppnå kontroll over dine midler hvis du gjør dette.</string>\n  <string name=\"import_keys_dialog_button_import\">Gjenopprett</string>\n  <string name=\"restore_wallet_dialog_success\">Lommeboken ble gjenopprettet.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Din lommebok ble gjenopprettet. Saldoen vil nå bli bestemt. Dette vil ta litt tid.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Advarsel: Lommeboken din er beskyttet av en PIN ved betaling. Pass på at du fortsatt husker den før du mottar i denne lommeboken.</string>\n  <string name=\"import_keys_dialog_failure\">Lommeboken kunne ikke gjenopprettes:\\n\\n%s\\n\\nFeil passord?</string>\n  <string name=\"export_keys_dialog_title\">Ta sikkerhetskopi av lommeboken</string>\n  <string name=\"backup_wallet_dialog_message\">Din sikkerhetskopi blir kryptert med det valgte passordet og skrevet til eksternt lager.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Lommeboken din er beskyttet av en PIN for betaling. Sørg for at du husker PIN-koden i tillegg til passordet for sikkerhetskopien!</string>\n  <string name=\"export_keys_dialog_button_export\">Sikkerhetskopier</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Din lommebok er blitt sikkerhetskopieret til <tt>%s</tt></p><p><b>Hvis din sikkerhetskopi kun finnes på din enhet, løper du risikoen å miste begge deler på samme tid!</b></p><p>Uansett hva, så vær sikker på at du kan huske ditt passord til sikkerhetskopien.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Din lommebok kunne ikke sikkerhetskopieres:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">passord</string>\n  <string name=\"backup_wallet_dialog_password_again\">igjen</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">uoverensstemmelse!</string>\n  <string name=\"import_export_keys_dialog_show\">Vis passeord</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Feil</string>\n  <string name=\"import_keys_intent_filter_action\">Gjenopprett lommebok</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN for betaling</string>\n  <string name=\"encrypt_keys_dialog_message\">Betalinger fra lommeboken din vil være beskyttet med den valgte PIN-koden.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Viktig: Du må huske PIN-koden din! Ikke bruk vanlige tall (som fødselsdato).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Gammel PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">svak</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">tilfredsstillende</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">god</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">sterk</string>\n  <string name=\"encrypt_keys_dialog_show\">Vis PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Krypterer…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Dekrypterer…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Ferdig.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Beklager</string>\n  <string name=\"scan_camera_problem_dialog_message\">Det er et problem med kameraet. En omstart av enheten er sannsynligvis nødvendig.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Kamera tillatelse</string>\n  <string name=\"scan_camera_permission_dialog_message\">For å skanne QR koder, må du gi tillatelse til å bruke kamera.</string>\n  <string name=\"input_parser_io_error\">Kan ikke lese data:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Kan ikke gjenkjenne input:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Ugyldig Bitcoin-URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Fikk ugyldig Bitcoin-adresse!\\n(Blanding av Mainnet/Testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Kan ikke verifisere betalingsforespørsel:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Ugyldig betalingsforespørsel:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Ugyldig transaksjon:\\n%s</string>\n  <string name=\"preferences_activity_title\">Innstillinger</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostikk</string>\n  <string name=\"preferences_category_labs\">Laboratoriet</string>\n  <string name=\"preferences_precision_title\">Benevnelse og presisjon</string>\n  <string name=\"preferences_precision_summary\">Enhet som beløp vises i. Dette påvirker ikke beregninger.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 desimaler</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 desimaler</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 desimaler</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 desimaler</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, ingen desimaler</string>\n  <string name=\"preferences_own_name_title\">Ditt navn</string>\n  <string name=\"preferences_own_name_summary\">Ditt navn, som skal legges til betalingsforespørsler. Prøv å holde det kort.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Automatisk lukk dialogboksen send mynter</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Når betalingen er gjort, vil dialogboksen send lukkes automatisk.</string>\n  <string name=\"preferences_trusted_peer_title\">Klarert peer</string>\n  <string name=\"preferences_trusted_peer_summary\">IP eller vertsnavn for forbindelse til en enkelt peer.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Løser…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Ukjent vertsnavn!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Hopp over vanlig søk etter peers</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Forhindrer tilkobling til andre peers enn den klarerte.</string>\n  <string name=\"preferences_block_explorer_title\">Blokkleser</string>\n  <string name=\"preferences_block_explorer_summary\">Ekstern blokkleser som kan brukes til å se gjennom transaksjoner, adresser og blokker.</string>\n  <string name=\"preferences_data_usage_title\">Dataforbruk</string>\n  <string name=\"preferences_data_usage_summary\">Vis innstillinger for restriksjon for dataforbruk på mobile nettverk.</string>\n  <string name=\"preferences_remind_balance_title\">Saldopåminnelse</string>\n  <string name=\"preferences_remind_balance_summary\">Etter et par uker uten bruk vil appen varsle om det fortsatt er penger i lommeboken.</string>\n  <string name=\"preferences_show_disclaimer_title\">Vis ansvarsfraskrivelse</string>\n  <string name=\"preferences_show_disclaimer_summary\">Har du virkelig lest sikkerhetsnotatene? Har du allerede sikkerhetskopiert lommeboken til et trygt sted?</string>\n  <string name=\"preferences_report_issue_title\">Rapporter problem</string>\n  <string name=\"preferences_initiate_reset_title\">Tilbakestill blokkjeden</string>\n  <string name=\"preferences_initiate_reset_summary\">Tilbakestill blokkjeden, transaksjoner og lommebok-balansen. Gjennomgangen vil ta en stund, så bare gjør dette hvis du vet hvorfor.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Har du lyst til å nullstille og gjennomgå blokkjeden?\\n\\nDette vil midlertidig skjule din lommebok-balanse og fjerne transaksjoner. Begge vil gjenopprettes etter hvert som blokkjeden synkroniseres. Sørg for at du har en pålitelig tilkobling til internett.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Nullstill</string>\n  <string name=\"preferences_extended_public_key_title\">Vis extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Vis den utvidede offentlige nøkkelen til lommeboken din, slik at den kan importeres i andre programmer og tjenester. Vær forsiktig: dette vil utlevere dine transaksjoner og privatliv til det programmet.</string>\n  <string name=\"bitmap_fragment_share\">Del…</string>\n  <string name=\"extended_public_key_fragment_title\">Utvidet Offentlig Nøkkel</string>\n  <string name=\"extended_public_key_fragment_share\">Del extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Rapporter problem</string>\n  <string name=\"report_issue_dialog_title_crash\">Tidligere krasj oppdaget</string>\n  <string name=\"report_issue_dialog_title_transaction\">Rapporter problem med valgte betaling</string>\n  <string name=\"report_issue_dialog_message_issue\">Beskriv problemet presist nok, slik at det kan gjenskapes.</string>\n  <string name=\"report_issue_dialog_message_crash\">Har du lyst til å sende en krasjrapport som vil bidra til å løse dette problemet i fremtiden?</string>\n  <string name=\"report_issue_dialog_description\">problembeskrivelse</string>\n  <string name=\"report_issue_dialog_report\">Rapport</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Legg ved enhetsinformasjon</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Legg ved programlogg</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Legg ved dump av lommebok</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Send rapport ved hjelp av…</string>\n  <string name=\"about_title\">Om</string>\n  <string name=\"about_version_title\">Versjon</string>\n  <string name=\"about_copyright_title\">Opphavsrett</string>\n  <string name=\"about_license_title\">Lisens</string>\n  <string name=\"about_source_title\">Kildekode</string>\n  <string name=\"about_category_credits\">Appen bruker…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_title\">%s-siden</string>\n  <string name=\"about_market_app_summary\">Anmeld eller bedøm appen</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Ofte stilte spørsmål om appen</string>\n  <string name=\"notification_coins_received_msg\">Mottok %s</string>\n  <string name=\"notification_peers_connected_msg\">%d peers tilkoblet</string>\n  <string name=\"notification_inactivity_title\">Du har fortsatt bitcoins på denne enheten!</string>\n  <string name=\"notification_inactivity_message\">Husk at din saldo på %s vil gå tapt hvis du avinstallerer appen Bitcoin Wallet uten å først sende pengene videre.</string>\n  <string name=\"notification_inactivity_message_donate\">Hvis du ikke bryr deg om myntene dine, kan du også donere dem til Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Påminn senere</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Påminn meg ikke</string>\n  <string name=\"notification_channel_received_name\">Mottatte betalinger</string>\n  <string name=\"notification_channel_ongoing_name\">Bakgrunnsaktivitet</string>\n  <string name=\"notification_channel_important_name\">Viktige varsler</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin-saldo</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Lukk</string>\n  <string name=\"button_cancel\">Avbryt</string>\n  <string name=\"button_retry\">Prøv igjen</string>\n  <string name=\"button_help\">Hjelp</string>\n  <string name=\"button_add\">Legg til</string>\n  <string name=\"button_delete\">Slett</string>\n  <string name=\"button_set\">Sett</string>\n  <string name=\"button_remove\">Fjern</string>\n  <string name=\"button_edit\">Rediger</string>\n  <string name=\"button_copy\">Kopier</string>\n  <string name=\"button_paste\">Lim inn</string>\n  <string name=\"button_share\">Del</string>\n  <string name=\"button_set_as_default\">Sett som standard</string>\n  <string name=\"button_request_coins\">Spør etter mynter</string>\n  <string name=\"button_send_coins\">Send mynter</string>\n  <string name=\"button_scan\">Skann</string>\n  <string name=\"button_settings\">Innstillinger</string>\n  <string name=\"action_show_qr\">Vis QR-kode</string>\n  <string name=\"action_browse\">Se gjennom</string>\n  <!--generic strings-->\n  <string name=\"time_today\">i dag</string>\n  <string name=\"address_unlabeled\">(ingen merkelapp)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">feil PIN!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O-feil: %s</string>\n  <string name=\"error_parse\">Syntaksfeil: %s</string>\n  <string name=\"error_http\">HTTP-feil %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Blåtann-feil: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-nb/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tDen øvre venstre delen av skjermen viser balansen i bitcoin og en valgt nasjonal valuta.\n\t\t\tTrykk for å gå til listen over nasjonale valutaer, og trykk så på en av valutaene for å velge den som standard.\n\t\t</p>\n\t\t<p>\n\t\t\tQR-koden til høyre inneholder din Bitcoin-adresse og kan brukes til skanning av noen andre.\n\t\t\tTrykk på QR-koden for å få en større versjon av den.\n\t\t</p>\n\t\t<p>\n\t\t\tBunnen av skjermen inneholder din transaksjonsliste, som er tom til å begynne med.\n\t\t\tVentende transaksjoner er i grått til de er bekreftet.\n\t\t\tTrykk på en oppføring for å legge til avsenderen eller mottakeren i adresseboken.\n\t\t</p>\n\t\t<p>\n\t\t\tDu kan sende eller be om mynter ved å trykke på knappene i handlingsfeltet.\n\t\t\tFlere alternativer er tilgjengelige i menyen for alternativer.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n    <p>\n      Ved å bruke denne dialogen kan du be om mynter fra en annen person (som allerede har installert Bitcoin Wallet).\n    </p>\n    <p>\n      Først kan du legge inn et beløp på antall bitcoins som skal forespørres.\n    </p>\n    <p>\n      Etterpå får du enten QR-koden skannet av den andre personen,\n      eller så kan du sende en forespørsel til en person langt unna med del-knappen i handlingsfeltet.\n      Den andre personen skal klikke på Bitcoin-URLen.\n    </p>\n    <p>\n      Den andre personen vil bli presentert en dialog for å sende mynter med alle felt forhåndsutfylt.\n      Hvis hun aksepterer, er alt hun trenger å gjøre å sende betalingen.\n    </p>\n  ]]>\n  </string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n    <p>\n      Du har startet prosessen med å sende mynter.\n      Du kom hit enten via hovedskjermen eller ved å klikke på en Bitcoin-URL i nettleseren på mobilen.\n    </p>\n    <p>\n      Først skriver du inn den Bitcoin-adressen du vil betale til.\n      Adressen vil automatisk fylles ut fra kjente oppføringer i adresseboken din.\n      Du kan også skanne QR-koder med Bitcoin-adresser eller Bitcoin-forespørsler ved å trykke på QR-knappen i handlingsfeltet.\n    </p>\n    <p>\n      Deretter kan du se hvor mange bitcoins du kan bruke for øyeblikket.\n      En eventuell forskjell i saldoen fra hovedskjermen er fortsatt ubekreftet, og kan dermed ikke brukes.\n    </p>\n    <p>\n      Til slutt fører du inn beløpet som skal betales.\n    </p>\n    <p>\n      Du kan legge inn en betaling mens du er offline.\n      Den vil bli sendt når Bitcoin Wallet startes på nytt.\n      Hvis du ønsker at en betaling går igjennom så raskt som mulig, sørg for at du er godt tilkoblet (dvs. på et WLAN).\n    </p>\n    <p>\n      OBS:\n      Betalinger er irreversible!\n      Sjekk alltid mottakeradresse.\n    </p>\n  ]]>\n  </string>\n  <string name=\"help_safety\">\n<![CDATA[\n    <p>\n      <b>Viktige sikkerhetsmerknader:</b>\n    </p>\n    <p>\n      Bitcoins er lagret på enheten.\n      <b>Hvis du mister den, mister du dine bitcoins.</b>\n    </p>\n    <p>\n      Dette betyr at du må <b>sikkerhetskopiere lommeboken din</b>!\n      Bruk funksjonen for sikkerhetskopiering i appen for dette, snarere enn en tredjepartsapp for sikkerhetskopiering.\n      Oppbevar sikkerhetskopien sikkert og husk passordet.\n    </p>\n    <p>\n      <b>Før avinstallering</b> (eller sletting av appdata/nullstilling av enheten til fabrikkinnstillinger), <b>overfør dine bitcoins til en annen lommebok</b>.\n      Resterende bitcoins vil gå tapt.\n    </p>\n    <p>\n      <b>Betalinger er irreversible</b>.\n      Hvis du sender dine bitcoins ut i det blå, er det stort sett ikke mulig å få dem tilbake.\n    </p>\n    <p>\n      <b>Oppbevar din mobile enhet sikkert!</b>\n      Utfør ikke root på enheten.\n      Installer kun apps du stoler helt på.\n      Skadelige apper kan prøve å stjele lommeboken din.\n    </p>\n    <p>\n      Hold risikoen lav!\n      <b>Bruk kun med små beløp</b> til daglig bruk.\n    </p>\n  ]]>\n  </string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n    <p>\n      <b>Tekniske notater:</b>\n    </p>\n    <p>\n      Som SPV-lommebok, følger Bitcoin Wallet den blokkjeden med mest proof-of-work (noen ganger også kalt den \\\"lengste kjeden\\\", den \\\"vinnende kjeden\\\" eller \\\"Bitcoin block chain\\\").\n      Du vil bare motta innbetalinger og være i stand til å betale på denne kjeden.\n      Ingen garantier kan gis for bitcoin på minoritetskjeder, som er kjeder med mindre proof-of-work.\n    </p>\n    <p>\n      Historisk har minoritetskjedene alltid blitt irrelevante svært raskt.\n      Hvis du uansett ønsker å følge en minoritetkjede, blir du nødt til å bruke \\\"klarert peer\\\"-funksjonen for å utelukkende koble til en implementering av bitcoind som følger ønsket kjede.\n      Hvis nettverket mellom lommeboken og klarert peer ikke er til å stole på, bruk VPN for å verifisere forbindelsen.\n    </p>\n  ]]>\n  </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-night/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- foreground -->\n    <color name=\"fg_significant\">#ffeceff4</color>\n    <color name=\"fg_less_significant\">#ffe5e9f0</color>\n    <color name=\"fg_insignificant\">#ffd8dee9</color>\n    <color name=\"fg_value_positive\">#ff96f080</color>\n    <color name=\"fg_value_negative\">#fff0616a</color>\n    <color name=\"fg_network_significant\">#ffeceff4</color>\n    <color name=\"fg_network_less_significant\">#cceceff4</color>\n\n    <!-- background -->\n    <color name=\"bg_level3\">#ff384050</color>\n    <color name=\"bg_level2\">#ff2a303d</color>\n    <color name=\"bg_level1\">#ff1a1e24</color>\n    <color name=\"bg_level0\">#ff10121c</color>\n    <color name=\"bg_action_bar\">#ff2c323e</color>\n    <color name=\"bg_qr_thumb\">#ffa0a8b0</color>\n\n    <!-- password strength -->\n    <color name=\"fg_password_strength_weak\">#ffe06068</color>\n    <color name=\"fg_password_strength_fair\">#ffdfa870</color>\n    <color name=\"fg_password_strength_good\">#ffa0a8a0</color>\n    <color name=\"fg_password_strength_strong\">#ffa3e08c</color>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-night/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <style name=\"My.Theme\" parent=\"@android:style/Theme.Material\">\n        <item name=\"android:actionBarTheme\">@style/My.ThemeOverlay.ActionBar</item>\n        <item name=\"android:actionBarStyle\">@style/My.Widget.ActionBar</item>\n        <item name=\"android:actionMenuTextColor\">@color/fg_on_dark_bg_network</item>\n        <item name=\"android:actionButtonStyle\">@style/My.Widget.ActionButton</item>\n        <item name=\"android:actionOverflowButtonStyle\">@style/My.Widget.ActionButton.Overflow</item>\n        <item name=\"android:actionOverflowMenuStyle\">@style/My.Widget.PopupMenu.Overflow</item>\n        <item name=\"android:textViewStyle\">@style/My.Widget.TextView</item>\n        <item name=\"android:editTextStyle\">@style/My.Widget.EditText</item>\n        <item name=\"android:autoCompleteTextViewStyle\">@style/My.Widget.AutoCompleteTextView</item>\n        <item name=\"android:checkboxStyle\">@style/My.Widget.CompoundButton.CheckBox</item>\n        <item name=\"android:spinnerStyle\">@style/My.Widget.Spinner</item>\n        <item name=\"android:popupMenuStyle\">@style/My.Widget.PopupMenu</item>\n        <item name=\"android:windowBackground\">@color/bg_level1</item>\n    </style>\n\n    <style name=\"My.Theme.Dialog\" parent=\"@android:style/Theme.Material.Dialog.Alert\">\n        <item name=\"android:background\">@color/bg_level3</item>\n    </style>\n\n    <style name=\"My.Widget.ActionBar\" parent=\"@android:style/Widget.Material.ActionBar.Solid\">\n        <item name=\"android:background\">@color/bg_action_bar</item>\n        <item name=\"android:titleTextStyle\">@style/My.TextAppearance.Widget.ActionBar.Title</item>\n        <item name=\"android:subtitleTextStyle\">@style/My.TextAppearance.Widget.ActionBar.Subtitle</item>\n        <item name=\"android:displayOptions\">showTitle</item>\n    </style>\n\n    <style name=\"My.Widget.TextView\" parent=\"@android:style/Widget.Material.TextView\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.EditText\" parent=\"@android:style/Widget.Material.EditText\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.AutoCompleteTextView\" parent=\"@android:style/Widget.Material.AutoCompleteTextView\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.CompoundButton.CheckBox\" parent=\"@android:style/Widget.Material.CompoundButton.CheckBox\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.Spinner\" parent=\"@android:style/Widget.Material.Spinner\">\n        <item name=\"android:textColor\">@color/fg_significant</item>\n        <item name=\"android:textSize\">@dimen/font_size_normal</item>\n    </style>\n\n    <style name=\"My.Widget.PopupMenu\" parent=\"@android:style/Widget.Material.PopupMenu\">\n        <item name=\"android:popupBackground\">@color/bg_level3</item>\n    </style>\n\n    <style name=\"My.Widget.PopupMenu.Overflow\" parent=\"@android:style/Widget.Material.PopupMenu.Overflow\">\n        <item name=\"android:overlapAnchor\">false</item>\n        <item name=\"android:popupBackground\">@color/bg_level3</item>\n    </style>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-nl/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Portemonnee is gereset!\\nHerstel zal enige tijd duren.</string>\n  <string name=\"toast_start_external_document_failed\">Er is geen webbrowser geïnstalleerd om het externe document te openen.</string>\n  <string name=\"toast_start_storage_provider_selector_failed\">Er is geen geschikte cloudopslagdienst geïnstalleerd.\\nJe hebt iets zoals \\\"Nextcloud\\\" of \\\"Google Drive\\\" nodig.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Gebruik op eigen risico. Lees de &lt;u&gt;veiligheidsvoorschriften&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">U moet uw &lt;u&gt;portemonnee back-uppen&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d uur achter</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dagen achter</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d weken achter</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d maanden achter</string>\n  <string name=\"blockchain_state_progress_downloading\">Synchroniseren met netwerk</string>\n  <string name=\"blockchain_state_progress_stalled\">Synchronisatie gestremd</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Synchronisatie: Opslagprobleem</string>\n  <string name=\"blockchain_state_progress_problem_network\">Synchroniseren: Netwerkprobleem</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoinadres gekopieërd naar klembord</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Om je privacy te beschermen zal het adres wijzigen zodra een betaling ontvangen is.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Je apparaat is oud en onveilig. Gebruik aub alleen voor kleine hoeveelheden.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Dit is relatief veel om op zak te hebben. Verplaats iets naar een veiligere plek.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Balans is onbeschikbaar tijdens herladen.</string>\n  <string name=\"exchange_rates_activity_title\">Wisselkoersen</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Wisselkoers niet gevonden.</string>\n  <string name=\"exchange_rates_fragment_default\">(standaard)</string>\n  <string name=\"exchange_rates_fragment_rate\">tarief</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Prijs van %s</string>\n  <string name=\"exchange_rates_options_search\">Zoek wisselkoers</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Nog geen Bitcoins ontvangen</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Nog geen Bitcoins verzonden</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Hoe kom ik aan Bitcoins?\\nKoop voor regulier geld,\\nverkoop goedreen of diensen of\\nverdien door te werken.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Maak a.u.b. een backup van je portemonnee\\nvoordat er Bitcoins worden ontvangen!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Gefeliciteerd, u heeft uw eerste betaling ontvangen! Heeft u al een &lt;u&gt;back-up gemaakt van uw portemonnee&lt;/u&gt;, om verlies tegen te gaan?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Tip: om de veiligheid van je portemonnee te vergroten, kun je &lt;u&gt;je apparaat versleutelen&lt;/u&gt;. Dit beschermt ook de gegevens van andere apps.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Het netwerk van Bitcoin is in onderhoud. Je wordt geadviseerd om geen coins te versturen of the ontvangen totdat het onderhoud is afgerond. &lt;u&gt;Voor meer informatie.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">gemijnd</string>\n  <string name=\"wallet_transactions_fragment_internal\">intern</string>\n  <string name=\"wallet_transactions_options_filter\">Filter</string>\n  <string name=\"wallet_transactions_options_filter_all\">Alle betalingen</string>\n  <string name=\"wallet_transactions_options_filter_received\">Ontvangen betalingen</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Verzonden betalingen</string>\n  <string name=\"wallet_options_request_legacy\">Verzoek aan verouderd (legacy) adres</string>\n  <string name=\"wallet_options_safety_menu\">Veiligheid</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Betaalpincode instellen.</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Wijzig pincode voor betalen</string>\n  <string name=\"wallet_options_safety\">Veiligheidsvoorschriften</string>\n  <string name=\"wallet_options_technical_notes_title\">Technische aantekeningen</string>\n  <string name=\"wallet_options_donate\">Geef fooi / Doneer</string>\n  <string name=\"wallet_donate_address_label\">Donatie aan Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Beveiligings alarm</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Bluetooth op je apparaat is kwetsbaar. Je Bitcoins op je apparaat lopen hierdoor risico ongeacht de app die je gebruikt om ze te bewaren!\\n\\nWe raden aan om Bluetooth direct uit te schakelen en contact op te nemen met de fabrikant van je apparaat voor een Android OS update dat beveiligingsniveau patch level \\'%s\\' of hoger heeft.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Interne opslag bijna vol!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet gebruikt interne opslag voor transacties en blokken. Wanneer er te weinig opslag beschikbaar is zal het stoppen met werken en lopen uw bitcoins gevaar!\\n\\nWilt u de Applicatie beheer instellingen openen om ongebruikte apps te verwijderen?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Beheer apps</string>\n  <string name=\"wallet_timeskew_dialog_title\">Check je datum- en tijdsinstellingen</string>\n  <string name=\"wallet_timeskew_dialog_msg\">De tijd van je apparaat wijkt af met %d minuten. Hierdoor kun je waarschijnlijk geen Bitcoins verzenden of ontvangen.\\n\\nCheck je instellingen voor datum, tijd en tijdzone en pas die indien nodig aan.</string>\n  <string name=\"wallet_version_dialog_title\">Een nieuwe versie is beschikbaar!</string>\n  <string name=\"wallet_version_dialog_msg\">Deze versie fikst belangrijke bugs. Voor details, zie het wijzigingslogboek op %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Wanneer je geen update ziet wordt jouw Android-versie waarschijnlijk niet meer ondersteund.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Download</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android-versie is verouderd</string>\n  <string name=\"wallet_old_sdk_dialog_message\">De kans bestaat dat één van de volgende versies van Bitcoin Wallet uw apparaat niet langer ondersteunen zal. In sommige gevallen kan het lastig worden nog met bitcoins te kunnen betalen vanaf dit apparaat.\\n\\nTenzij u weet wat u doet wordt u aanbevolen om coins elders onder te brengen.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Probleem met het openen van de instellingen</string>\n  <string name=\"send_coins_activity_title\">Verzend BTC</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Handtekening van %s ophalen…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Ophalen betalingsverzoek is gefaald</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">De betaler (%1$s) gebruikt een incompatibel betalingsprotocol (reden: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Verkeerde handtekening!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">geverifieerd door: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">onbekend</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Betaal aan</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">typ adres of naam</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Ongeldig Bitcoinadres!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Je probeert naar jezelf te sturen!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">complex\\nadres</string>\n  <string name=\"send_coins_fragment_pending\">(%s wachten op bevestiging)</string>\n  <string name=\"send_coins_fragment_amount_label\">Te betalen bedrag</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Economische kosten van %s zullen betaald worden. Belangrijk: gebruik \\'economisch\\' alleen als je bevestigingstijd niet belangrijk vindt.</string>\n  <string name=\"send_coins_fragment_hint_fee\">%s aan netwerkkosten zullen worden betaald.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Prioriteitskosten van %s zullen betaald worden. Als je lage kosten belangrijk vindt, gebruik \\'prioriteit\\' alleen als je zo snel mogelijk bevestiging nodig hebt.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Het bedrag is te laag om te verzenden.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Niet genoeg saldo. Je mist %s. Dit kan eventueel komen door de netwerkkosten.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Het totaal van kleine betalingen in uw portemonnee is bij elkaar niet genoeg om te kunnen verzenden.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Betalingen zijn op het moment niet mogelijk vanwege herladen.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Betaal direct aan begunstigde.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Je betaling is met succes direct verzonden.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Je betaling is afgewezen via de directe verbinding.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Directe betaling is mislukt</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Je betaling zal alsnog via het P2P-netwerk verzonden worden.</string>\n  <string name=\"send_coins_fragment_button_send\">Verzenden</string>\n  <string name=\"send_coins_fragment_button_back\">Terug</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Aanzienlijke netwerkkosten</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">De netwerkkosten voor deze betaling (%1$s) is hoog in verhouding tot het bedrag (%2$s). Wil je de betaling toch verzenden?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Niet genoeg beschikbare munten</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Je mist %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Wilt uw betalen met alles wat uw heeft?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Legen van wallet is mislukt</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Decoderen…</string>\n  <string name=\"send_coins_preparation_msg\">Ondertekenen…</string>\n  <string name=\"send_coins_sending_msg\">Verzenden…</string>\n  <string name=\"send_coins_sent_msg\">Verzonden!</string>\n  <string name=\"send_coins_failed_msg\">Mislukt!</string>\n  <string name=\"send_coins_error_msg\">Coins versturen mislukt!</string>\n  <string name=\"send_coins_options_fee_category\">Kosten</string>\n  <string name=\"send_coins_options_fee_category_economic\">Economisch</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normaal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioriteit</string>\n  <string name=\"send_coins_options_empty\">Portemonnee legen</string>\n  <string name=\"raise_fee_dialog_title\">Verhoog netwerkkosten</string>\n  <string name=\"raise_fee_dialog_message\">Wil je de netwerkkosten voor deze transactie verhogen met %s? De betaling zal hierdoor sneller worden bevestigd.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Bepalen van netwerkkosten…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">De netwerkkosten voor deze transactie kunnen niet worden verhoogd.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Decoderen…</string>\n  <string name=\"raise_fee_dialog_state_done\">Klaar.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Verhoog</string>\n  <string name=\"sweep_wallet_activity_title\">Importeer papieren wallet</string>\n  <string name=\"sweep_wallet_fragment_intro\">U staat op het punt een papieren wallet of coupon te scannen. Dit verplaatst alle coins van dat papier naar de portemonnee op dit apparaat. Zodra deze transactie is bevestigd zal het papier zijn waarde hebben verloren en om veiligheidsredenen niet meer opnieuw gebruikt moeten worden.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Papieren wallets worden meestal gebruikt voor offline opslag. Sommige geldautomaten printen ze uit op een bon in plaats van de coins direct naar uw mobiele apparaat te versturen. Van te voren met bitcoins opgewaardeerde papieren wallets worden door sommige mensen gebruikt om waarde aan elkaar door te geven (niet aanbevolen).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Begin met het scannen van de geheime sleutel van de papieren portemonnee. Gebruik de camera actieknop.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Deze privé-sleutel is met een wachtwoord beveiligd.</string>\n  <string name=\"sweep_wallet_fragment_password\">wachtwoord</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">wachtwoord onjuist!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Bedrag om over te dragen</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Decoderen</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Overdragen</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Decoderen…\\nDit kan tot 2 minuten duren.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Saldo wordt geladen…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Saldo laden mislukt.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Je hebt een slechte verbinding met het Electrum-netwerk.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">De papieren portemonnee is leeg</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Niet genoeg saldo</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">De hoeveelheid bitcoins in de wallet is te laag om te kunnen overdragen.</string>\n  <string name=\"sweep_wallet_options_reload\">Saldo verversen</string>\n  <string name=\"maintenance_dialog_title\">Onderhoud aanbevolen</string>\n  <string name=\"maintenance_dialog_message\">U ontving %1$s op onveilige adressen. Wilt U deze Bitcoins overbrengen naar veilige adressen? Kleine netwerkkosten ter grootte van %2$s zal worden afgedragen.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Decoderen…</string>\n  <string name=\"maintenance_dialog_state_done\">Klaar.</string>\n  <string name=\"maintenance_dialog_button_move\">Verplaats</string>\n  <string name=\"request_coins_activity_title\">Verzoek BTC</string>\n  <string name=\"request_coins_fragment_amount_label\">Verzocht bedrag (optioneel)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Accepteer betaling via Bluetooth voor betrouwbaardere verwerking</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Laat de verzender deze code scannen.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Of tik een NFC-apparaat.</string>\n  <string name=\"request_coins_clipboard_msg\">Bitcoin verzoek gekopieërd naar klembord</string>\n  <string name=\"request_coins_share_dialog_title\">Deel verzoek om Bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">Geen andere Bitcoin apps gevonden</string>\n  <string name=\"request_coins_options_local_app_title\">Aanvraag van lokale app</string>\n  <string name=\"address_book_activity_title\">Adresboek</string>\n  <string name=\"address_book_list_receiving_title\">Jouw adressen</string>\n  <string name=\"address_book_list_receiving_random\">Oude adressen</string>\n  <string name=\"address_book_list_sending_title\">Verzendadres</string>\n  <string name=\"address_book_empty_text\">Geen vermeldingen in het adresboek</string>\n  <string name=\"address_book_context_send_title\">Verzend Bitcoins naar adres</string>\n  <string name=\"address_book_context_edit_title\">Adres bewerken</string>\n  <string name=\"address_book_context_remove_title\">Verwijder adres</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopieër naar klembord</string>\n  <string name=\"address_book_options_scan_title\">Scan adres</string>\n  <string name=\"address_book_options_scan_invalid\">Doorzochte data is onherkenbaar</string>\n  <string name=\"address_book_options_scan_own_address\">Het gescande adres is van jezelf</string>\n  <string name=\"address_book_row_current_address\">Dit is je huidige adres om betalingen te ontvangen.</string>\n  <string name=\"address_book_row_message_compromised_key\">Dit adres is misschien gecompromitteerd. Je zou het niet meer moeten gebruiken om betalingen te ontvangen.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Voeg verzend adressen toe</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Wijzig label van verzend adres</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Voeg label aan je adres toe</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Wijzig label van je adres</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adres</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Label</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Opslaan</string>\n  <string name=\"transaction_row_fee\">Netwerkkosten</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Deze betaling is nog niet verzonden.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Deze betaling is vanuit je portemonee gedaan.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Je betaling was succesvol. Het is aangekomen bij de ontvanger.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Deze betaling is mislukt</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Je betaling is mislukt.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Deze transactie maakt je wallet sterker tegen diefstal. &lt;u&gt;Meer info.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Deze transactie verhoogt de netwerkkosten van een eerder verstuurde betaling.</string>\n  <string name=\"transaction_row_message_received_direct\">Deze betaling is direct ontvangen. Het risico bestaat dat het nooit uitgegeven kan worden.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">De bevestiging van deze transactie is vertraagd, waarschijnlijk door een overbelasting van het Bitcoin netwerk.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Deze betaling wordt besteedbaar in een paar minuten.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Vanwege onderhoud op het Bitcoin netwerk kan deze transactie pas vertrouwd worden totdat het is bevestigd.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Deze transactie heeft het risico om teruggedraaid te worden door de verzender! Wacht indien mogelijk op bevestiging.</string>\n  <string name=\"transaction_row_message_received_dead\">Deze betaling is omgekeerd door de verzender.</string>\n  <string name=\"transaction_row_message_received_dust\">Dit kleine beetje kan waarschijnlijk nooit economisch worden besteed.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Deze betaling wordt naar veel wallets - naast die van U zelf - tegelijkertijd gedaan, waardoor uw app af en toe traag kan worden. Indien mogelijk, ontvang dan bij voorkeur alleen transacties die uitsluitend aan u zelf gericht zijn.</string>\n  <string name=\"transaction_row_message_received_rbf\">Deze betaling is vertraagd omdat de verzender een onveilige transactiemethode heeft gebruikt.</string>\n  <string name=\"network_monitor_activity_title\">Netwerkmonitor</string>\n  <string name=\"network_monitor_peer_list_title\">Peers</string>\n  <string name=\"network_monitor_block_list_title\">Blokken</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Moeilijkheidsgraad aanpassing</string>\n  <string name=\"block_row_mining_reward_adjustment\">Halvering van mining inkomsten</string>\n  <string name=\"block_row_now\">alleen nu</string>\n  <string name=\"peer_list_fragment_empty\">Geen connecties</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Herstel portemonnee</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">U staat op het punt uw huidige wallet te vervangen. Tenzij u een losse back-up van uw Wallet heeft gemaakt zullen alle bitcoins die nog in uw huidige wallet aanwezig zijn verloren gaan!</string>\n  <string name=\"import_keys_dialog_warning\">Belangrijk: Laad geen prive-sleutels van twijfelachtige bronnen! Anderen kunnen anders wellicht over je saldo beschikken.</string>\n  <string name=\"import_keys_dialog_button_import\">Herstellen</string>\n  <string name=\"restore_wallet_dialog_success\">Portemonnee is hersteld.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Uw wallet is met succes hersteld. Nu zal het saldo worden vastgesteld. Dit kan enige tijd duren.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Waarschuwing: betalen vanuit je portemonnee is beveiligd met een pincode. Onthoud deze goed voordat je in deze portemonnee wat ontvangt.</string>\n  <string name=\"import_keys_dialog_failure\">Portemonnee kon niet hersteld worden:\\n\\n%s\\n\\nVerkeerd wachtwoord?</string>\n  <string name=\"export_keys_dialog_title\">Backup portemonnee</string>\n  <string name=\"backup_wallet_dialog_message\">Uw back-up zal worden versleuteld met het gekozen wachtwoord en worden opgeslagen naar externe opslag.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Uw wallet is beveiligd met een pincode om te kunnen betalen. Onthoud deze pincode net als uw back-up wachtwoord! </string>\n  <string name=\"export_keys_dialog_button_export\">Backup</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Er is een backup van je portemonnee gemaakt naar <tt>%s</tt></p><p><b>Als je backup alleen op het zelfde apparaat bestaat loop je de kans beide tegelijkertijd kwijt te raken!</b></p><p>Zorg in ieder geval dat je een backup maakt van je wachtwoord.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Uw portemonnee kan niet gebackupt worden:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">wachtwoord</string>\n  <string name=\"backup_wallet_dialog_password_again\">opnieuw</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">mismatch!</string>\n  <string name=\"import_export_keys_dialog_show\">Toon wachtwoord</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Fout</string>\n  <string name=\"import_keys_intent_filter_action\">Herstel portemonnee</string>\n  <string name=\"encrypt_keys_dialog_title\">Pincode voor betalen</string>\n  <string name=\"encrypt_keys_dialog_message\">Om te kunnen betalen met uw wallet zal als extra bescherming om uw gekozen pincode gevraagd worden.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Belangrijk: Onthoud je pincode! Gebruik geen makkelijke nummers (zoals verjaardagen).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Oude pincode</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">zwak</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">redelijk</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">goed</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">sterk</string>\n  <string name=\"encrypt_keys_dialog_show\">Toon pincode</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Versleutelen…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Decoderen…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Klaar.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Sorry</string>\n  <string name=\"scan_camera_problem_dialog_message\">Er is een probleem met de camera. Waarschijnlijk moet je het apparaat herstarten.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Camera rechten</string>\n  <string name=\"scan_camera_permission_dialog_message\">Om QR codes te scannen moet je toestemming geven om de camera te kunnen gebruiken.</string>\n  <string name=\"input_parser_io_error\">Kan gegevens niet lezen:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Invoer niet herkend:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Ongeldige Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Ongeldig Bitcoinadres ontvangen!\\n(Haal je mainnet/testnet door elkaar?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Uw betalingsverzoek:\\n%s kan niet geverifieerd worden</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Ongeldig betalingsverzoek:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Ongeldige transactie:\\n%s</string>\n  <string name=\"preferences_activity_title\">Instellingen</string>\n  <string name=\"preferences_category_general\">Algemeen</string>\n  <string name=\"preferences_category_privacy\">Privacybeheer</string>\n  <string name=\"preferences_category_merchants\">Winkelier</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostiek</string>\n  <string name=\"preferences_category_labs\">Labs</string>\n  <string name=\"preferences_precision_title\">Waarde en precisie</string>\n  <string name=\"preferences_precision_summary\">Grootheid om waarden in te tonen. Dit heeft geen invloed op berekeningen.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 decimale getallen</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 decimale getallen</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 decimale getallen</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 decimale getallen</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, geen decimalen</string>\n  <string name=\"preferences_own_name_title\">Je naam</string>\n  <string name=\"preferences_own_name_summary\">Je naam, voor om toe te voegen aan betalingsverzoeken. Probeer het kort te houden.</string>\n  <string name=\"preferences_own_name_dialog_message\">Hou het kort.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Dialoog voor verzonden coins automatisch sluiten.</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Als de betaling is voltooid zal de verzend dialoog automatisch sluiten.</string>\n  <string name=\"preferences_sync_mode_title\">Datagebruik vs. privacy</string>\n  <string name=\"preferences_sync_mode_summary\">Kies tussen weinig datagebruik en verbeterde privacy tijdens synchroniseren met het netwerk.</string>\n  <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>Weinig datagebruik:</b> Gebruik netwerkfiltering om alleen de transacties relevant voor je portemonnee te lezen. Dat gebruikt ongeveer 500 MB per maand, maar zal wel het filter aan het netwerk openbaren maken.]]></string>\n  <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>Verbeterde privacy:</b> Dit zal geen informatie over je portemonnee met het netwerk delen. Let op dat omdat alle transacties worden gelezen, dit een forse 10 GB per maand gebruikt. Controleer eerst je databundel voor dit te gebruiken.]]></string>\n  <string name=\"preferences_trusted_peer_title\">Vertrouwde peer</string>\n  <string name=\"preferences_trusted_peer_summary\">IP of hostnaam voor connectie naar enkele peer.</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">Voer een geldig IP-adres of hostnaam in. Als je Tor gebruikt, kun je hier ook een onionadres gebruiken.</string>\n  <string name=\"preferences_trusted_peer_dialog_message_multiple\">Je kan meerdere vertrouwde \\\"peers\\\" opgeven door ze met een spatie te scheiden.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Oplossen…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Hostname onbekend!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Sla opsporen vertrouwde contacten over</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Voorkomt elke verbinding behalve met de vertrouwde peer.</string>\n  <string name=\"preferences_block_explorer_title\">Blokverkenner</string>\n  <string name=\"preferences_block_explorer_summary\">Externe blokverkenner voor het browsen van transacties, adressen en blokken.</string>\n  <string name=\"preferences_data_usage_title\">Datagebruik</string>\n  <string name=\"preferences_data_usage_summary\">Toon opties om bandbreedte op mobiele netwerken te beperken.</string>\n  <string name=\"preferences_notifications_title\">Notificaties</string>\n  <string name=\"preferences_notifications_summary\">Toon opties om specifieke notificaties aan en uit te zetten.</string>\n  <string name=\"preferences_remind_balance_title\">Saldo herinnering</string>\n  <string name=\"preferences_remind_balance_summary\">Als de app een paar weken niet gebruikt is zal de wallet laten merken dat er nog steeds coins aanwezig.</string>\n  <string name=\"preferences_show_disclaimer_title\">Toon disclaimer</string>\n  <string name=\"preferences_show_disclaimer_summary\">Heb je echt de veiligheidsaanwijzingen gelezen? Heb je al op een veilige plek een backup gemaakt van je portemonnee?</string>\n  <string name=\"preferences_bluetooth_address_title\">Bluetoothadres</string>\n  <string name=\"preferences_bluetooth_address_summary\">Configureer handmatig jouw bluetoothadres zodat je betalingen kan ontvangen van personen zonder internetverbinding. Je zal eerst in de bluetoothinstellingen van Android het adres van je apparaat moeten opzoeken.</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">Helaas voorkomt Android de automatische detectie van het bluetoothadres van je apparaat. Je moet het opzoeken in de bluetoothinstellingen van Android en hier invoeren.\\n\\nZorg a.u.b. dat elk karakter correct is. Dubbele punten kunnen worden overgeslagen en hoofd- of kleine letters zijn niet belangrijk.</string>\n  <string name=\"preferences_report_issue_title\">Meld probleem</string>\n  <string name=\"preferences_initiate_reset_title\">Reset blokketen</string>\n  <string name=\"preferences_initiate_reset_summary\">Reset blokketen, transacties en wallet-inhoud. Herstel kan enige tijd duren dus doe dit alleen als je weet waarom.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Wil je de blokketen resetten en opnieuw laden?\\n\\nDit zal tijdelijk de wallet-inhoud en transacties laten verbergen. Beiden zullen terugkomen tijdens het synchronisatieproces. Zorg dat je een betrouwbare verbinding hebt met het internet.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Reset</string>\n  <string name=\"preferences_extended_public_key_title\">Toon extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Toon de uitgebreide public key van je portemonnee zodat het geïmporteerd kan worden in andere apps en services. Wees voorzichtig: hiermee geef je je monetaire privacy prijs aan die app.</string>\n  <string name=\"bitmap_fragment_share\">Deel…</string>\n  <string name=\"extended_public_key_fragment_title\">Extended Public Key</string>\n  <string name=\"extended_public_key_fragment_share\">Deel extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Meld probleem</string>\n  <string name=\"report_issue_dialog_title_crash\">Vorige crash gedetecteerd</string>\n  <string name=\"report_issue_dialog_title_transaction\">Probleem melden met geselecteerde betaling.</string>\n  <string name=\"report_issue_dialog_message_issue\">Omschrijf het probleem nauwkeurig zodat het reproduceerbaar is. Gebruik Engelse taal indien mogelijk.</string>\n  <string name=\"report_issue_dialog_message_crash\">Wilt u een crashrapport sturen om ons te helpen dit probleem op te lossen in de toekomst?</string>\n  <string name=\"report_issue_dialog_description\">probleem beschrijving</string>\n  <string name=\"report_issue_dialog_report\">Verslag</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Apparaat informatie toevoegen</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Applicatie log toevoegen</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Wallet dump toevoegen</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Rapport versturen met…</string>\n  <string name=\"about_title\">Over</string>\n  <string name=\"about_version_title\">Versie</string>\n  <string name=\"about_version_apk_hash_title\">SHA256-hash van de APK</string>\n  <string name=\"about_copyright_title\">Auteursrecht</string>\n  <string name=\"about_license_title\">Licentie</string>\n  <string name=\"about_source_title\">Broncode</string>\n  <string name=\"about_category_credits\">Deze app gebruikt…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, een Bitcoin protocol implementatie</string>\n  <string name=\"about_credits_zxing_title\">ZXing, een QR-code processing bibliotheek</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, een cryptografische bibliotheek</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, een HTTP-client-bibliotheek</string>\n  <string name=\"about_credits_moshi_title\">Moshi, een JSON-bibliotheek</string>\n  <string name=\"about_credits_guava_title\">Guava, een verzameling van nuttige helpers</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, een loggingframework</string>\n  <string name=\"about_market_app_title\">%s pagina</string>\n  <string name=\"about_market_app_summary\">Beoordeel app</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Vaakgestelde vragen over de app</string>\n  <string name=\"notification_coins_received_msg\">Ontvangen %s</string>\n  <string name=\"notification_connectivity_syncing_message\">Met het netwerk aan het synchroniseren…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Synchroniseer met een vertrouwde peer…</string>\n  <string name=\"notification_peers_connected_msg\">%d actieve verbindingen</string>\n  <string name=\"notification_peer_connected\">verbonden</string>\n  <string name=\"notification_peer_not_connected\">niet verbonden</string>\n  <string name=\"notification_inactivity_title\">Je hebt nog steeds Bitcoins op dit apparaat!</string>\n  <string name=\"notification_inactivity_message\">Onthou dat je saldo van %s verloren zal zijn als je de app verwijdert zonder de bitcoins eerst te verzenden.</string>\n  <string name=\"notification_inactivity_message_donate\">Als je geen waarde hecht aan je coins zou je deze ook kunnen doneren aan het Bitcoin Wallet project</string>\n  <string name=\"notification_inactivity_action_dismiss\">Opnieuw vragen</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Niet herinneren</string>\n  <string name=\"notification_bluetooth_service_listening\">Klaar om betalingen via bluetooth te ontvangen</string>\n  <string name=\"notification_channel_received_name\">Ontvangen betalingen</string>\n  <string name=\"notification_channel_ongoing_name\">Achtergrondactiviteit</string>\n  <string name=\"notification_channel_important_name\">Belangrijke meldingen</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoinsaldo</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">Oké</string>\n  <string name=\"button_dismiss\">Annuleren</string>\n  <string name=\"button_cancel\">Annuleren</string>\n  <string name=\"button_retry\">Opnieuw</string>\n  <string name=\"button_help\">Help</string>\n  <string name=\"button_add\">Toevoegen</string>\n  <string name=\"button_delete\">Verwijderen</string>\n  <string name=\"button_set\">Stel in</string>\n  <string name=\"button_remove\">Verwijder</string>\n  <string name=\"button_edit\">Wijzig</string>\n  <string name=\"button_copy\">Kopieer</string>\n  <string name=\"button_paste\">Plakken</string>\n  <string name=\"button_share\">Delen</string>\n  <string name=\"button_set_as_default\">Kies als standaard</string>\n  <string name=\"button_request_coins\">Verzoek Bitcoins</string>\n  <string name=\"button_send_coins\">Verzend Bitcoins</string>\n  <string name=\"button_scan\">Scan QR</string>\n  <string name=\"button_settings\">Instellingen</string>\n  <string name=\"action_show_qr\">Toon QR-code</string>\n  <string name=\"action_browse\">Bladeren</string>\n  <!--generic strings-->\n  <string name=\"time_today\">vandaag</string>\n  <string name=\"address_unlabeled\">(niet-gemerkt)</string>\n  <string name=\"private_key_password\">Pincode</string>\n  <string name=\"private_key_bad_password\">foutieve pincode!</string>\n  <string name=\"qr_code\">QR-code</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O-fout: %s</string>\n  <string name=\"error_parse\">Parseerfout: %s</string>\n  <string name=\"error_http\">HTTP-fout %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetooth-fout: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-nl/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n\n\n<![CDATA[\n\t\t<p>\n\t\t\tBovenin wordt uw huidige saldo in Bitcoin en nationale valuta weergegeven.\n\t\t\tRaak aan om naar de lijst van nationale valuta\\'s te gaan en raak één van deze valuta\\'s aan om deze als standaard te selecteren.\n\t\t</p>\n\n\t\t<p>\n\t\t\tDe QR code aan de rechterkant bevat een Bitcoinadres en kan door anderen gebruikt worden om te scannen.\n\t\t\tRaak de QR-code aan om deze groter weer te geven.\n\t\t</p>\n\n\t\t<p>\n\t\t\tHet onderste gedeelte van het scherm bevat uw transactie lijst welke in het begin leeg is.\n\t\t\tLopende transacties worden in grijstint getoond totdat ze bevestigd zijn.\n\t\t\tRaak een regel aan om het adres van zenders en ontvangers aan uw adresboek toe te voegen.\n\t\t</p>\n\n\t\t<p>\n\t\t\tU kunt Bitcoin verzenden of verzoeken door op de knoppen van de actiebalk te drukken.\n\t\t\tMeer opties zijn aanwezig in het optiesmenu.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tDeze dialoog kunt u gebruiken om Bitcoins te verzoeken van iemand (die ook Bitcoin Wallet of een andere Bitcoin-client geïnstalleerd heeft).\n\t\t</p>\n\t\t<p>\n\t\t\tEerst vul je een hoeveelheid Bitcoin in die je wilt ontvangen.\n\t\t</p>\n\t\t<p>\n\t\t\tDaarna kan de andere persoon de QR-code scannen.\n\t\t\tOf u kunt uw verzoek met de \\'delen\\'-knop versturen.\n\t\t\tAls beide apparaten NFC aan hebben staan, kun je ze ook tegen elkaar aanhouden.\n\t\t</p>\n\t\t<p>\n\t\t\tDe andere persoon zal nu de dialoog te zien krijgen voor het verzenden van Bitcoins waarin alle velden ingevuld zijn.\n\t\t\tAls er akkoord gegaan wordt met de transactie hoeft deze alleen nog verzonden te worden.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tU heeft het dialoog gestart om Bitcoins te verzenden.\n\t\t\tU bent hier terecht gekomen via het hoofd scherm of door het klikken op een Bitcoin-URL in uw browser.\n\t\t</p>\n\t\t<p>\n\t\t\tAls eerste geeft u het Bitcoin adres in waar naar u wilt betalen.\n\t\t\tHet adres zal automatisch aangevuld worden als deze bekend is in het adresboek.\n\t\t\tU kan ook QR-codes scannen met een Bitcoin adres of verzoek door op de cameraknop te klikken.\n\t\t</p>\n\t\t<p>\n\t\t\tVervolgens kunt u zien hoe veel Bitcoins op dit moment beschikbaar zijn voor besteding.\n\t\t\tHet eventuele verschil met het saldo van het hoofdscherm is nog onbevestigd en kan dus nog niet worden uitgegeven.\n\t\t</p>\n\t\t<p>\n\t\t\tAls laatste kunt u het te betalen bedrag invullen.\n\t\t</p>\n\t\t<p>\n\t\t\tU kunt ook transacties ingeven terwijl u offline bent.\n\t\t\tDeze transacties zullen verzonden worden zodra Bitcoin Wallet de volgende keer gestart wordt en online is.\n\t\t\tAls u wenst dat uw transacties zo snel mogelijk verwerkt worden is het verstandig om verbonden te zijn met een zo goed mogelijke internet verbinding (d.w.z. op een WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tOpmerking:\n\t\t\tTransacties kunnen niet ongedaan gemaakt worden!\n\t\t\tControleer altijd het ontvangstadres.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Enkele woorden over de veiligheid van uw Bitcoins:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoins in Bitcoin Wallet zijn opgeslagen op het apparaat.\n\t\t\t<b>Als u uw apparaat verliest zullen deze Bitcoins ook verloren zijn.</b>\n\t\t\tVergelijkbaar met het verlies van uw portemonnee.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Voor het verwijderen van Bitcoin Wallet</b> (of verschonen van appdata of wipe van het apparaat), <b>dient u de Bitcoins over te zetten naar een andere wallet.</b>.\n\t\t\tOverblijvende Bitcoins zullen verloren gaan.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Transacties met Bitcoin kunnen niet ongedaan gemaakt worden</b>.\n\t\t\tAls u Bitcoins naar een onbekend adres stuurt zijn ze onmogelijk terug te krijgen tenzij u de eigenaar kent en deze bereid is de Bitcoins terug te sturen.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Houd uw Android apparaat veilig!</b>\n\t\t\tInstalleer alleen apps die u volledig vertrouwt.\n\t\t\tKwaadaardige apps zouden kunnen proberen om uw wallet te stelen.\n\t\t</p>\n\t\t<p>\n\t\t\tHoud het risico laag!\n\t\t\t<b>Gebruik Bitcoin Wallet alleen voor kleine bedragen</b> voor dagelijks gebruik.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Technische opmerkingen:</b>\n        </p>\n        <p>\n            Bitcoin Wallet volgt als een SPV/light-portemonnee de keten van de meeste \\\"proof-of-work\\\" (soms ook genaamd de \\\"langste keten\\\", de \\\"winnende keten\\\" of de \\\"Bitcoin-blokketen\\\").\n            Je kan alleen inkomende betalingen ontvangen als je de mogelijkheid hebt om op die keten te kunnen betalen.\n            Er kunnen geen garanties gegeven worden over Bitcoins op minderheidsketens met minder \\\"proof-of-work\\\".\n        </p>\n        <p>\n            Minderheidsketens zijn in het verleden altijd snel irrelevant geworden.\n            Als je de wens hebt om toch een minderheidsketen te volgen, wordt je geadviseerd om de \\\"trusted peer\\\" feature te gebruiken om exclusief te verbinden met een implementatie van bitcoind die forceert om die gewenste keten te volgen.\n            Als het netwerk tussen je portemonnee en je \\\"trusted peer\\\" niet te vertrouwen is, gebruik een VPN voor de authenticatie van die verbinding.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-notnight-v29/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- foreground -->\n    <color name=\"fg_significant_darkdefault\">#ff000000</color>\n    <color name=\"fg_less_significant_darkdefault\">#ff666666</color>\n    <color name=\"fg_insignificant_darkdefault\">#ff999999</color>\n    <color name=\"fg_network_significant_darkdefault\">#ff000000</color>\n    <color name=\"fg_network_less_significant_darkdefault\">#cc000000</color>\n\n    <!-- background -->\n    <color name=\"bg_level1_darkdefault\">#ffeaeaf0</color>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-pl/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Twój portfel został zresetowany!\\nTo zajmie trochę czasu, aby odzyskać.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Używaj na własne ryzyko. Przeczytaj &lt;u&gt;instrukcje bezpieczeństwa&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Musisz zrobić &lt;u&gt;kopię zapasową&lt;/u&gt; swojego portfela!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, przestarzały o %2$d godzin</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, przestarzały o %2$d dni</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, przestarzały o %2$d tygodni</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, przestarzały o %2$d miesięcy</string>\n  <string name=\"blockchain_state_progress_downloading\">Synchronizowanie z siecią</string>\n  <string name=\"blockchain_state_progress_stalled\">Synchronizacja wstrzymana</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Synchronizowanie: Problem z pamięcią</string>\n  <string name=\"blockchain_state_progress_problem_network\">Synchronizowanie: Problem z siecią</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Adres Bitcoin skopiowano do schowka</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Aby chronić twoją prywatność, twój adres będzie zmieniany za każdym razem jak otrzymasz płatność.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Masz dość pokaźną sumę w portfelu. Proszę przenieś część w bezpieczniejsze miejsce.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Saldo nie jest dostępne w trakcie odtwarzania.</string>\n  <string name=\"exchange_rates_activity_title\">Kursy wymiany</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Nie odnaleziono kursu wymiany.</string>\n  <string name=\"exchange_rates_fragment_default\">(domyślnie)</string>\n  <string name=\"exchange_rates_fragment_rate\">kurs</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Cena pobrana z %s</string>\n  <string name=\"exchange_rates_options_search\">Znajdź kurs wymiany</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Nie otrzymano jeszcze żadnych Bitcoinów.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Nie wysłano jeszcze żadnych Bitcoinów.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Jak zdobyć Bitcoiny?\\nWymień za tradycyjną walutę,\\nsprzedawaj dobra bądź usługi lub\\nzarabiaj pracując.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Gratulacje, otrzymałeś swoją pierwszą płatność! Czy już &lt;u&gt;wykonałeś kopię zapasową swojego portfela&lt;/u&gt;, by ochronić się przed jej utratą?</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">wykopany</string>\n  <string name=\"wallet_transactions_fragment_internal\">wewnętrzny</string>\n  <string name=\"wallet_transactions_options_filter\">Filtr</string>\n  <string name=\"wallet_transactions_options_filter_all\">Wszystkie płatności</string>\n  <string name=\"wallet_transactions_options_filter_received\">Otrzymane płatności</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Wysłane płatności</string>\n  <string name=\"wallet_options_safety_menu\">Bezpieczeństwo</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Ustaw PIN</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Zmień PIN</string>\n  <string name=\"wallet_options_safety\">Wskazówki bezpieczeństwa</string>\n  <string name=\"wallet_options_technical_notes_title\">Uwagi techniczne</string>\n  <string name=\"wallet_options_donate\">Napiwek / dotacja</string>\n  <string name=\"wallet_donate_address_label\">Dotacje dla Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Alert bezpieczeństwa</string>\n  <string name=\"wallet_low_storage_dialog_title\">Mało przestrzeni w pamięci wewnętrznej!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet używa pamięć wewnętrzną na zapamiętywanie transakcji i bloków. Jak nie będzie miejsca w pamięci, portfel przestanie pracować i Twoje Bitcoiny będą narażone na ryzyko!\\n\\nChcesz otworzyć administratora aplikacji i odinstalować niepotrzebne aplikacje?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Zarządzaj aplikacjami</string>\n  <string name=\"wallet_timeskew_dialog_title\">Sprawdź ustawienia czasu!</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Czas na twoim urządzeniu jest przesunięty o %d minut. Prawdopodobnie w wyniku tego problemu nie możesz otrzymywać ani wysyłać Bitcoinów.\\n\\nSprawdź i skoryguj ustawienia czasu i strefy czasowej.</string>\n  <string name=\"wallet_version_dialog_title\">Nowa wersja jest dostępna!</string>\n  <string name=\"wallet_version_dialog_msg\">W tej wersji poprawiono ważne błędy. Więcej szczegółów znajdziesz w dzienniku zmian na %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Jeśli nie widzisz aktualizacji, może to oznaczać, że twoja wersja Android nie jest już wspierana.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Pobierz</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Wersja Androida jest przestarzała</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Istnieje szansa że wraz z kolejnymi wydaniami Bitcoin Wallet zakończy wsparcie dla twojego urządzenia. W niektórych przypadkach wydawanie monet z tego urządzenia może ulec utrudnieniu.\\n\\nZalecane jest przeniesienie swoich monet w najbliższym czasie, chyba że wiesz co robisz.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problem z otwieraniem ustawień</string>\n  <string name=\"send_coins_activity_title\">Wyślij Bitcoiny</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Pobieranie sygnatury z %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Nieprawidłowy podpis!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">zweryfikowane przez: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">nieznany</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Zapłać dla</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">wpisz adres lub nazwę</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Niepoprawny adres Bitcoin!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Chcesz wysłać do siebie!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">złożone\\nadresy</string>\n  <string name=\"send_coins_fragment_pending\">(%s oczekuje na potwierdzenie)</string>\n  <string name=\"send_coins_fragment_amount_label\">Kwota do zapłacenia</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Kwota jest za mała aby ją wysłać.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Ilość małych płatności w Twoim portfelu łącznie nie wygląda na wartość nadającą się do wysłania.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Wyślij płatność bezpośrednio do odbiorcy</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Twoja płatność została pomyślnie wysłana bezpośrednio.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Twoja płatność została odrzucona przez bezpośrednie połączenie.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Niepowodzenie płatności bezpośredniej.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Twoja płatność zostanie rozesłana poprzez sieć P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Wyślij</string>\n  <string name=\"send_coins_fragment_button_back\">Cofnij</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Brak wystarczającej ilości monet</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Brakuje Ci %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Czy chcesz zapłacić wszystkimi, które posiadasz?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Czyszczenie portfela zakończone niepowodzeniem</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Deszyfracja…</string>\n  <string name=\"send_coins_preparation_msg\">Podpisywanie…</string>\n  <string name=\"send_coins_sending_msg\">Wysyłanie…</string>\n  <string name=\"send_coins_sent_msg\">Wysłano!</string>\n  <string name=\"send_coins_failed_msg\">Niepowodzenie!</string>\n  <string name=\"send_coins_error_msg\">Problem z wysłaniem monet!</string>\n  <string name=\"send_coins_options_fee_category\">Opłata</string>\n  <string name=\"send_coins_options_fee_category_economic\">Ekonomiczny</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normalny</string>\n  <string name=\"send_coins_options_fee_category_priority\">Piorytetowy</string>\n  <string name=\"send_coins_options_empty\">Opróżnij portfel</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Odszyfrowanie…</string>\n  <string name=\"raise_fee_dialog_state_done\">Gotowe.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Zwiększ</string>\n  <string name=\"sweep_wallet_activity_title\">Importuj papierowy portfel</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Rozpocznij skanowanie klucza prywatnego z papierowego portfela (zimny portfel). Użyj przycisku kamery.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Ten klucz prywatny jest chroniony hasłem.</string>\n  <string name=\"sweep_wallet_fragment_password\">hasło</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">złe hasło!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Saldo do zaimportowania</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Deszyfruj</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Zaimportuj</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Deszyfracja…\\nMoże zająć do 2 minut.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Ładowanie salda…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Błąd ładowania salda</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Brak wystarczającej ilości monet</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Ilość monet w tym portfelu jest zbyt mała aby zaimportować.</string>\n  <string name=\"sweep_wallet_options_reload\">Odśwież saldo</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Deszyfracja…</string>\n  <string name=\"maintenance_dialog_state_done\">Zakończono.</string>\n  <string name=\"maintenance_dialog_button_move\">Przenieś</string>\n  <string name=\"request_coins_activity_title\">Poproś o Bitcoiny</string>\n  <string name=\"request_coins_fragment_amount_label\">Żądana kwota (opcjonalnie)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Akceptuj płatności przez Bluetooth w celu niezawodnego przetwarzania</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Niech nadawca zeskanuje ten kod QR</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Lub zbliż do siebie urządzenia z aktywnym NFC</string>\n  <string name=\"request_coins_clipboard_msg\">Prośbę o Bitcoiny skopiowano do schowka</string>\n  <string name=\"request_coins_share_dialog_title\">Udostępnij prośbę o Bitcoiny…</string>\n  <string name=\"request_coins_no_local_app_msg\">Nie odnaleziono innych aplikacji portfeli Bitcoin</string>\n  <string name=\"request_coins_options_local_app_title\">Żądanie z lokalnej aplikacji</string>\n  <string name=\"address_book_activity_title\">Książka adresowa</string>\n  <string name=\"address_book_list_receiving_title\">Twoje adresy</string>\n  <string name=\"address_book_list_receiving_random\">Stare adresy</string>\n  <string name=\"address_book_list_sending_title\">Adresy nadawcze</string>\n  <string name=\"address_book_empty_text\">Brak wpisów w książce adresowej</string>\n  <string name=\"address_book_context_send_title\">Wyślij Bitcoiny na adres</string>\n  <string name=\"address_book_context_edit_title\">Zmień adres</string>\n  <string name=\"address_book_context_remove_title\">Usuń adres</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Skopiuj do schowka</string>\n  <string name=\"address_book_options_scan_title\">Zeskanuj adres</string>\n  <string name=\"address_book_options_scan_invalid\">Zeskanowane dane są nierozpoznawalne</string>\n  <string name=\"address_book_options_scan_own_address\">Zeskanowany adres jest Twoim adresem.</string>\n  <string name=\"address_book_row_message_compromised_key\">Ten adres mógł zostać podrobiony. Nie powinieneś go więcej używać do odbierania transferów.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Dodaj adres odbiorcy</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Edytuj etykietę dla adresu wysyłającego</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Dodaj etykietę do Twojego adresu</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Edytuj etykietę swojego adresu</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adres</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etykieta</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Zapisz</string>\n  <string name=\"transaction_row_fee\">Opłata sieci</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Ta płatność nie została jeszcze przesłana.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Ta transakcja wzmocni Twój portfel przed kradzieżą. &lt;u&gt;Więcej informacji&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Potwierdzenie tej płatności jest opóźnione, prawdopodobnie z powodu przeciążenia sieci Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Ta płatność powinna stać się dostępna za kilka minut.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Ze względu na niedostępność sieci Bitcoin, transakcja ta nie powinna być zaufana, dopóki nie zostanie w pełni potwierdzona.</string>\n  <string name=\"transaction_row_message_received_dead\">Ta płatność została cofnięta przez nadawcę.</string>\n  <string name=\"transaction_row_message_received_dust\">Tak mała kwota prawdopodobnie nigdy nie zostanie wydana ekonomicznie.</string>\n  <string name=\"network_monitor_activity_title\">Monitor sieci</string>\n  <string name=\"network_monitor_peer_list_title\">Połączenia</string>\n  <string name=\"network_monitor_block_list_title\">Bloki</string>\n  <string name=\"block_row_now\">własnie teraz</string>\n  <string name=\"peer_list_fragment_empty\">Brak połączonych partnerów</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d ms</string>\n  <string name=\"import_keys_dialog_title\">Odzyskaj portfel</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Zamierzasz zastąpić aktualny portfel. Wszystkie monety z tego portfela zostaną utracone jeśli nie zrobiono jego kopii bezpieczeństwa.</string>\n  <string name=\"import_keys_dialog_warning\">Ważne: Nie importuj kluczy z niepewnych źródeł! W przeciwnym razie inni mogą przejąć kontrolę nad twoimi środkami.</string>\n  <string name=\"import_keys_dialog_button_import\">Odzyskaj</string>\n  <string name=\"import_keys_dialog_failure\">Nie udało się zaimportować kluczy prywatnych:\\n\\n%s\\n\\nBłędne hasło?</string>\n  <string name=\"restore_wallet_dialog_success\">Portfel został odzyskany.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Twój portfel został pomyślnie przywrócony. Stan konta zostanie ustalony w następnej kolejności. Zajmie to trochę czasu.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Ostrzeżenie: Twój portfel jest chroniony kodem PIN. Upewnij się, że pamiętasz kod przed otrzymaniem środków na ten portfel.</string>\n  <string name=\"export_keys_dialog_title\">Kopia zapasowa portfela</string>\n  <string name=\"backup_wallet_dialog_message\">Kopia zapasowa zostanie zaszyfrowana przy użyciu wybranego hasła i zapisana w pamięci zewnętrznej.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Twój portfel jest chroniony kodem PIN. Upewnij się, że pamiętasz kod PIN wraz z hasłem do odzyskiwania kopii zapasowej portfela!</string>\n  <string name=\"export_keys_dialog_button_export\">Kopia zapasowa</string>\n  <string name=\"export_keys_dialog_success\">Twoje klucze prywatne zostały eksportowane do\\n\\n%s\\n\\nZabezpiecz je wraz z hasłem!</string>\n  <string name=\"export_keys_dialog_failure\">Twoje prywatne klucze nie mogły być wyeksportowane:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">hasło</string>\n  <string name=\"backup_wallet_dialog_password_again\">powtórz</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">rozbieżność!</string>\n  <string name=\"import_export_keys_dialog_show\">Wyświetl hasło</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Błąd</string>\n  <string name=\"import_keys_intent_filter_action\">Przywróć portfel</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN do wysyłania</string>\n  <string name=\"encrypt_keys_dialog_message\">Wysyłanie z Twojego portfela będzie chronione wybranym hasłem PIN</string>\n  <string name=\"encrypt_keys_dialog_warning\">Ważne: Musisz pamiętać swój kod PIN! Nie używaj popularnych numerów (np. daty urodzenia).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Stary PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">słaby</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">ujdzie</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">dobry</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">silny</string>\n  <string name=\"encrypt_keys_dialog_show\">Pokaż PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Szyfrowanie…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Deszyfracja…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Zakończono.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Przepraszam</string>\n  <string name=\"scan_camera_problem_dialog_message\">Nastąpił problem z aparatem fotograficznym. Prawdopodobnie musisz zrestartować urządzenie.</string>\n  <string name=\"input_parser_invalid_address\">Otrzymano niepoprawny adres Bitcoin!\\n(Pomylono Testnet z Prodnet?)</string>\n  <string name=\"scan_camera_permission_dialog_title\">Uprawnienia do aparatu</string>\n  <string name=\"scan_camera_permission_dialog_message\">Aby zeskanować QR kod musisz przyznać aplikacji uprawienie do aparatu.</string>\n  <string name=\"input_parser_io_error\">Nie można odczytać danych:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Nie rozpoznano wejścia:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Nieprawidłowe Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Nie można zweryfikować żądania płatności:\\n%s </string>\n  <string name=\"input_parser_invalid_paymentrequest\">Nieprawidłowe żądanie płatności:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Nieprawidłowa transakcja:\\n%s</string>\n  <string name=\"preferences_activity_title\">Ustawienia</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostyka</string>\n  <string name=\"preferences_category_labs\">Eksperymentalne</string>\n  <string name=\"preferences_precision_title\">Waluta i precyzja</string>\n  <string name=\"preferences_precision_summary\">Jednostka w której ma być podawana ilość. Nie wpływa na obliczenia.</string>\n  <string name=\"preferences_own_name_title\">Własna nazwa</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Automatycznie zamknij okno wysyłania monet</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Po dokonaniu płatności okno wysyłania zostanie zamknięte automatycznie.</string>\n  <string name=\"preferences_trusted_peer_title\">Zaufany partner</string>\n  <string name=\"preferences_trusted_peer_summary\">IP lub nazwa hosta pojedynczego partnera z którym możesz się połączyć.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Rozwiązywanie…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Nieznana nazwa hosta!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Pomiń zwykłe odkrywanie węzłów</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Zapobiega łączeniu się ze wszystkimi partnerami poza tym zaufanym.</string>\n  <string name=\"preferences_block_explorer_title\">Eksplorator bloków</string>\n  <string name=\"preferences_data_usage_title\">Zużycie danych</string>\n  <string name=\"preferences_data_usage_summary\">Pokaż opcje ograniczenia transferu danych przez sieci mobilne</string>\n  <string name=\"preferences_show_disclaimer_title\">Pokaż wyłączenie odpowiedzialności</string>\n  <string name=\"preferences_show_disclaimer_summary\">Czy naprawdę przeczytałeś wskazówki bezpieczeństwa? Czy wykonałeś kopię portfela w bezpiecznym miejscu?</string>\n  <string name=\"preferences_report_issue_title\">Zgłoś problem</string>\n  <string name=\"preferences_initiate_reset_title\">Zresetuj łańcuch bloków</string>\n  <string name=\"preferences_initiate_reset_summary\">Resetuj łańcuch bloków, transakcje i saldo portfela. Odtworzenie go zajmie trochę czasu.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Czy chcesz zresetować i re-synchronizować łańcuch bloków?\\n\\nTa czynność tymczasowo wyzeruje saldo portfela i usunie transakcje. Zostaną one przywrócone wraz z postępem synchronizacji łańcucha bloków.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Resetuj</string>\n  <string name=\"bitmap_fragment_share\">Udostępnij…</string>\n  <string name=\"extended_public_key_fragment_title\">Rozszerzony Klucz Prywatny</string>\n  <string name=\"report_issue_dialog_title_issue\">Zgłoś problem</string>\n  <string name=\"report_issue_dialog_title_crash\">Wykryto poprzednią awarię</string>\n  <string name=\"report_issue_dialog_title_transaction\">Zgłoś problem z wybraną płatnością</string>\n  <string name=\"report_issue_dialog_message_issue\">Opisz swój problem na tyle precyzyjnie, aby go odtworzyć. Jeśli możesz, użyj języka angielskiego.</string>\n  <string name=\"report_issue_dialog_message_crash\">Czy chcesz wysłać raport o błędzie, by pomóc naprawić ten problem?</string>\n  <string name=\"report_issue_dialog_description\">opis problemu</string>\n  <string name=\"report_issue_dialog_report\">Zgłoś</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Dołącz informacje o urządzeniu</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Dołącz dziennik aplikacji</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Dołącz zrzut portfela</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Wyślij zgłoszenie używając…</string>\n  <string name=\"about_title\">O</string>\n  <string name=\"about_version_title\">Wersja</string>\n  <string name=\"about_copyright_title\">Prawa autorskie</string>\n  <string name=\"about_license_title\">Licencja</string>\n  <string name=\"about_source_title\">Kod źródłowy</string>\n  <string name=\"about_category_credits\">Ta aplikacja używa…</string>\n  <string name=\"about_market_app_summary\">Wyraź swoją opinię o Aplikacji lub ją oceń</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Często zadawane pytania o aplikacji</string>\n  <string name=\"notification_coins_received_msg\">Otrzymano %s </string>\n  <string name=\"notification_peers_connected_msg\">%d połączonych partnerów</string>\n  <string name=\"notification_inactivity_title\">Nadal posiadasz BTC na tym urządzeniu!</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Nie przypominaj</string>\n  <string name=\"notification_channel_received_name\">Otrzymane płatności</string>\n  <string name=\"notification_channel_ongoing_name\">Aktywność aplikacji w tle</string>\n  <string name=\"appwidget_wallet_balance_title\">Ilość BTC</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Odrzuć</string>\n  <string name=\"button_cancel\">Anuluj</string>\n  <string name=\"button_retry\">Ponów próbę</string>\n  <string name=\"button_help\">Pomoc</string>\n  <string name=\"button_add\">Dodaj</string>\n  <string name=\"button_delete\">Usuń</string>\n  <string name=\"button_set\">Ustaw</string>\n  <string name=\"button_remove\">Usuń</string>\n  <string name=\"button_edit\">Zmień</string>\n  <string name=\"button_copy\">Kopiuj</string>\n  <string name=\"button_paste\">Wklej</string>\n  <string name=\"button_share\">Udostępnij</string>\n  <string name=\"button_set_as_default\">Ustaw jako domyślne</string>\n  <string name=\"button_request_coins\">Poproś o monety</string>\n  <string name=\"button_send_coins\">Wyślij monety</string>\n  <string name=\"button_scan\">Skanuj</string>\n  <string name=\"button_settings\">Ustawienia</string>\n  <string name=\"action_show_qr\">Pokaż kod QR</string>\n  <string name=\"action_browse\">Przeglądaj</string>\n  <!--generic strings-->\n  <string name=\"time_today\">dzisiaj</string>\n  <string name=\"address_unlabeled\">(nieopisane)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">Błędny PIN!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Błąd I/O: %s</string>\n  <string name=\"error_parse\">Błąd parsowania: %s</string>\n  <string name=\"error_http\">Błąd HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Błąd Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-pl/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tPo lewej górnej stronie ekranu wyświetlany jest Twój aktualnie wybrany adres Bitcoin, który inne osoby muszą znać żeby wysłać Ci Bitcoin.\n\t\t\tNaciśnij żeby, go zmienić.\n\t\t</p>\n\t\t<p>\n\t\t\tKod QR po prawej zawiera Twój adres Bitcoin i może zeskanowany przez inną osobę.\n\t\t\tNaciśnij na kod QR żeby otrzymać jego większą wersje.\n\t\t</p>\n\t\t<p>\n\t\t\tNa środku ekranu wyświetlany jest stan Twojego konta.\n\t\t\tWartość Twojego portfela pokazana jest też w jednej wybranej lokalnej walucie.\n\t\t\tNaciśnij na stan konta żeby wyświetliła się lista wszystkich lokalnych walut. Naciśnij na jedną z walut, żeby wybrać ją jako domyślną.\n\t\t</p>\n\t\t<p>\n\t\t\tDół ekranu jest pokryty listą twoich transakcji, która na początku jest pusta.\n\t\t\tTransakcje w toku są dotąd podświetlone na szaro póki nie zostaną potwierdzone.\n\t\t\tNaciśnij na wejście żeby dodać adres wysyłającego lub odbiorcy do książki adresowej.\n\t\t</p>\n\t\t<p>\n\t\t\tMożesz wysłać lub zapytać o monety naciskając guziki na listwie menu.\n\t\t\tWięcej opcji jest dostępnych w menu opcji.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tPrzy pomocy tego dialogu, możesz wysłać prośbę o Bitcoiny do innej osoby, tak jakbyś wystawił jej rachunek do zapłacenia. Osoba ta powinna mieć zainstalowany Bitcoin Wallet.\n\t\t</p>\n\t\t<p>\n\t\t\tU góry, wpisz kwotę Bitcoin, o którą chcesz zapytać.\n\t\t</p>\n\t\t<p>\n\t\t\tPotem osoba wczyta wytworzony kod QR,\n\t\t\talbo Ty możesz wysłać rachunek za pomocą guzika Opublikuj na listwie menu.\n\t\t\tOdbiorca będzie musiał otworzyć Bitcoin URL zawarty w wysłanej wiadomości.\n\t\t</p>\n\t\t<p>\n\t\t\tOsoba, która otrzymała wysłane zapytanie otrzyma gotowy i wypełniony formularz wysyłania Bitcoinów.\n\t\t\tJedyne co będzie musiała zrobić to potwierdzenie transakcji.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tZainicjowałeś proces wysyłania monet.\n\t\t\tPrzyszedłeś tutaj przez główny ekran albo naciskając na Bitcoin URL w Twojej mobilnej przeglądarce.\n\t\t</p>\n\t\t<p>\n\t\t\tWpisz adres Bitcoin na który ma wpłynąć zapłata.\n\t\t\tWyświetlone zostaną podpowiedzi adresu z danych Twojej książki adresowej.\n\t\t\tMożesz też skanować kody QR z adresami Bitcoin albo zapytaniami Bitcoin naciskając guzik QR w menu.\n\t\t</p>\n\t\t<p>\n\t\t\tPoniżej widzisz ile Bitcoin możesz wydać w tym momencie.\n\t\t\tRożnica ze stanem konta na głównym ekranie wynika z jeszcze nie potwierdzonych monet, które nie mogą jeszcze zostać wydane.\n\t\t</p>\n\t\t<p>\n\t\t\tNa dole wpisz kwotę do zapłacenia chcesz zaoferować.\n\t\t</p>\n\t\t<p>\n\t\t\tMożesz wpisać transakcje będąc offline.\n\t\t\tTransakcja zostanie wysłana przy następnym starcie aplikacji.\n\t\t\tJeżeli chcesz żeby Twoja transakcja była wysłana jak najszybciej, upewnij się że jesteś połączony (np. z bezprzewodową siecią).\n\t\t</p>\n\t\t<p>\n\t\t\tUwaga:\n\t\t\tTransakcja nie może być cofnięta!\n\t\t\tZawsze sprawdź adres odbiorcy.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Pare słów o bezpieczeństwie twoich Bitcoin:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoin w Bitcoin Wallet są magazynowane na urządzeniu.\n\t\t\t<b>Jak zgubisz swoje urządzenie, zgubisz też swój portfel i Bitcoiny.</b>\n\t\t\tZupełnie jak pieniądze w Twoim fizycznym portfelu.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Zanim odinstalujesz Bitcoin Wallet</b> (albo wymażesz dane aplikacji/wyczyścisz swoje urządzenie), <b>przetransferuj twoje Bitcoin na inny portfel</b>.\n\t\t\tKażdy pozostały Bitcoin będzie stracony.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Żadne transakcje nie mogą zostać cofnięte</b>.\n\t\t\tJeżeli wyślesz swoje Bitcoiny, nie będzie już możliwości żeby je odzyskać, dopóki nie znasz odbiorcy, który musi godzić się na ich odesłanie.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Uważaj na swoje urządzenie Android!</b>\n\t\t\tInstaluje tylko aplikacje, którym ufasz.\n\t\t\tZłośliwe aplikacje mogą próbować ukraść Twój portfel.\n\t\t</p>\n\t\t<p>\n\t\t\tUtrzymuj niskie ryzyko!\n\t\t\t<b>Używaj Bitcoin Wallet do przetrzymywania jedynie małych ilości Bitcoin</b> do użytku codziennego.\n\t\t</p>\n\t]]>\n\t</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-pt-rBR/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Sua carteira foi reiniciada!\\nA recuperação levará um tempo.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Use por sua conta e risco. Leia as &lt;u&gt;indicações de segurança&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Você precisa fazer um &lt;u&gt;backup de sua carteira&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d horas atrás</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dias atrás</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d semanas atrás</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d meses atrás</string>\n  <string name=\"blockchain_state_progress_downloading\">Sincronizando com a rede</string>\n  <string name=\"blockchain_state_progress_stalled\">Sincronização parada</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Sincronizando: Problema de armazenamento</string>\n  <string name=\"blockchain_state_progress_problem_network\">Sincronizando: Problema na rede</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Endereço Bitcoin copiado</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Para proteger a sua privacidade, seu endereço irá mudar assim que você receber um pagamento.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Seu dipositivo é antigo e inseguro. Por favor, use apenas para pequenos valores.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Este valor é bastante alto para transportar no seu bolso. Por favor, envie um pouco para um lugar mais seguro.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Saldo indisponível durante a reavaliação.</string>\n  <string name=\"exchange_rates_activity_title\">Cotações</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Não foi possível encontrar a taxa de câmbio</string>\n  <string name=\"exchange_rates_fragment_default\">(padrão)</string>\n  <string name=\"exchange_rates_fragment_rate\">preço</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Preço de %s</string>\n  <string name=\"exchange_rates_options_search\">Pesquisa da taxa de câmbio</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Nenhum Bitcoin recebido até o momento.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Nenhum Bitcoin enviado até o momento.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Como conseguir Bitcoins?\\nTroque por dinheiro tradicional,\\nvenda bens ou serviços ou\\nganhe trabalhando.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Parabéns, você recebeu o seu primeiro pagamento! Deseja efetuar o &lt;u&gt;backup de sua carteira&lt;/u&gt;, para proteger seus Bitcoins?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Dica: para aumentar a segurança de sua carteira, você pode criptografar o seu dispositivo. Isso também protege os dados de outros aplicativos.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">A rede Bitcoin está sob manutenção. Recomenda-se que você não envie ou receba nenhum bitcoin até que a manutenção termine. &lt;u&gt;Mais informações.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">minados</string>\n  <string name=\"wallet_transactions_fragment_internal\">interno</string>\n  <string name=\"wallet_transactions_options_filter\">Filtro</string>\n  <string name=\"wallet_transactions_options_filter_all\">Todos pagamentos</string>\n  <string name=\"wallet_transactions_options_filter_received\">Pagamentos recebidos</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Pagamentos enviados</string>\n  <string name=\"wallet_options_safety_menu\">Segurança</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Definir PIN</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Mudar PIN</string>\n  <string name=\"wallet_options_safety\">Indicações de segurança</string>\n  <string name=\"wallet_options_technical_notes_title\">Notas técnicas.</string>\n  <string name=\"wallet_options_donate\">Doação</string>\n  <string name=\"wallet_donate_address_label\">Doação pra Bitcoin Wallet</string>\n  <string name=\"wallet_low_storage_dialog_title\">Espaço de armazenamento interno baixo!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet usa o armazenamento interno para armazenar transações e blocos. Se seu dispositivo ficar sem espaço, ele vai parar de trabalhar e seus Bitcoins estarão em risco!\\n\\nDeseja abrir o Gerenciador de Aplicativos para desinstalar aplicativos desnecessários?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Gerenciar aplicativos</string>\n  <string name=\"wallet_timeskew_dialog_title\">Verifique as configurações de hora!</string>\n  <string name=\"wallet_timeskew_dialog_msg\">A hora do seu dispositivo está incorreta por %d minutos. Você pode não conseguir enviar ou receber Bitcoins devido a esse problemas\\n\\nVerifique e corrija a hora em configurações de fuso horário.</string>\n  <string name=\"wallet_version_dialog_title\">Nova versão disponível!</string>\n  <string name=\"wallet_version_dialog_msg\">Esta versão corrige erros importantes. Para mais detalhes, consulte o log de alterações no %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Se você não vê uma atualização significa possivelmente que sua versão do Android não é mais suportada, desculpe.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Baixar</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Versão do Android desatualizada</string>\n  <string name=\"wallet_old_sdk_dialog_message\">É possível que as próximas atualizações do Bitcoin Wallet não sejam compatíveis com seu dispositivo. Neste caso, poderá ser difícil gastar Bitcoins neste dispositivo.\\n\\nA menos que você saiba exatamente o que está fazendo, recomendamos a transferência para outra conta o mais rápido possível.</string>\n  <string name=\"send_coins_activity_title\">Enviar Bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Carregando assinatura de %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Erro ao carregar assinatura</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Assinatura inválida!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">verificado por: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">desconhecido</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Pagar a</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">insira o endereço ou nome</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Endereço Bitcoin inválido</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Você está prestes a enviar para si mesmo!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">complexo\\nendereço</string>\n  <string name=\"send_coins_fragment_pending\">(%s esperando confirmação)</string>\n  <string name=\"send_coins_fragment_amount_label\">Quantidade a pagar</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Uma taxa econômica de %s será paga. Importante: Use o \\'econômico\\' somente se você não precisa que a transação seja confirmada em breve.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Uma taxa de rede de %s será paga.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Uma taxa de prioridade de %s será paga. Utilize a \\'prioridade\\' somente quando você precisar que a confirmação ocorra o mais breve possível.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">A quantidade de bitcoins na carteira é muito pequena para enviar.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Saldo insuficiente. Faltam %s.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">A quantidade de pequenos pagamentos em sua carteira não somam um valor para envio.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Atualmente os pagamentos não são possíveis porque um replay está em andamento.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Envia pagamento diretamente ao destinatário.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Seu pagamento foi enviado diretamente com sucesso.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Seu pagamento foi rejeitado utilizando a conexão direta.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Pagamento direto falhou</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Seu pagamento ainda será disseminado na rede P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Enviar</string>\n  <string name=\"send_coins_fragment_button_back\">Voltar</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Saldo insuficiente</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Você está esquecendo %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Deseja pagar com tudo que tem?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Limpeza da carteira falhou</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Desencriptando…</string>\n  <string name=\"send_coins_preparation_msg\">Assinando…</string>\n  <string name=\"send_coins_sending_msg\">Enviando…</string>\n  <string name=\"send_coins_sent_msg\">Enviado!</string>\n  <string name=\"send_coins_failed_msg\">Erro!</string>\n  <string name=\"send_coins_error_msg\">Erro ao enviar Bitcoins!</string>\n  <string name=\"send_coins_options_fee_category\">Taxa</string>\n  <string name=\"send_coins_options_fee_category_economic\">Econômico</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioridade</string>\n  <string name=\"send_coins_options_empty\">Carteira vazia</string>\n  <string name=\"raise_fee_dialog_title\">Aumentar taxa da rede</string>\n  <string name=\"raise_fee_dialog_message\">Você quer aumentar a taxa desse pagamento em %s? Isso fará com que o pagamento seja confirmado mais rapidamente.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Determinando a taxa da rede…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">A taxa da rede deste pagamento não pode ser aumentada.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Descriptografando…</string>\n  <string name=\"raise_fee_dialog_state_done\">Feito.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Aumentar</string>\n  <string name=\"sweep_wallet_activity_title\">Varrer carteira de papel</string>\n  <string name=\"sweep_wallet_fragment_intro\">Você está prestes a varrer uma carteira de papel ou cupom. Essa função irá mover para o seu dipositivo todos os bitcoins contidos na carteira de papel. Quando a transação for confirmada, o endereço bitcoin da carteira de papel ficará com saldo zero e você deverá inutilizar a sua carteira de papel por questões de segurança. Nunca reutilize uma carteira de papel antiga para receber novas transações.</string>\n  <string name=\"sweep_wallet_fragment_hint\">As carteiras de papel podem ser facilmente criadas por qualquer usuários e mais comumente são usadas como uma maneira segura de armazenamento offline (frio) de Bitcoins. Alguns caixas eletrônicos imprimem carteiras de papel ao invés de enviar diretamente os bitcoins para o dispositivo móvel. Algumas pessoas usam carteiras de papel com créditos pré-carregados para passar um valor (método inseguro, não recomendado).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Comece varrendo a chave privada de uma carteira de papel. Use o botão de ação da câmera.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Essa chave privada está protegida com uma senha.</string>\n  <string name=\"sweep_wallet_fragment_password\">senha</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">senha ruim!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Saldo a varrer</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Descriptografar</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Varrer</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Descriptografando…\\nDura até 2 minutos.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Carregando saldo…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Falha ao carregar saldo</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Saldo insuficiente</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">A quantidade de Bitcoins na carteira é muita pequena para ser varrida.</string>\n  <string name=\"sweep_wallet_options_reload\">Recarregar saldo</string>\n  <string name=\"maintenance_dialog_title\">Manutenção recomendada</string>\n  <string name=\"maintenance_dialog_message\">Você recebeu %1$s em um endereço não seguro, Gostaria de mover esses bitcoins para um endereço seguro? Uma pequena taxa de rede de %2$s será cobrada.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Descriptografando…</string>\n  <string name=\"maintenance_dialog_state_done\">Concluído.</string>\n  <string name=\"maintenance_dialog_button_move\">Mover</string>\n  <string name=\"request_coins_activity_title\">Solicitar Bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Quantidade solicitada (opcional)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Aceitar pagamento via Bluetooth para um processamento mais seguro</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Mostre o código QR ao lado para o remetente.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Ou toque em um dispositivo NFC habilitado.</string>\n  <string name=\"request_coins_clipboard_msg\">Solicitação de Bitcoin copiada</string>\n  <string name=\"request_coins_share_dialog_title\">Compartilhar solicitação de Bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">Nenhum outro aplicativo Bitcoin encontrou</string>\n  <string name=\"request_coins_options_local_app_title\">Pedido de aplicação local</string>\n  <string name=\"address_book_activity_title\">livro de endereços</string>\n  <string name=\"address_book_list_receiving_title\">Seus endereços</string>\n  <string name=\"address_book_list_receiving_random\">Endereços antigos</string>\n  <string name=\"address_book_list_sending_title\">Endereços para envio</string>\n  <string name=\"address_book_empty_text\">Nenhum endereço no catálogo</string>\n  <string name=\"address_book_context_send_title\">Enviar Bitcoins ao endereço</string>\n  <string name=\"address_book_context_edit_title\">Editar endereço</string>\n  <string name=\"address_book_context_remove_title\">Remover endereço</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Copiar para o clipboard</string>\n  <string name=\"address_book_options_scan_title\">Escanear endereço</string>\n  <string name=\"address_book_options_scan_invalid\">Os dados digitalizados estão irreconhecíveis</string>\n  <string name=\"address_book_options_scan_own_address\">O endereço escaneado é o seu próprio.</string>\n  <string name=\"address_book_row_message_compromised_key\">Este endereço pode estar comprometido. Você não deve mais usá-lo para receber bitcoins.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Adicionar endereços de envio</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Editar etiqueta para o endereço de envio</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Adicionar etiqueta para o seu endereço</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Editar etiqueta para o seu endereço</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Endereço</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etiqueta</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Salvar</string>\n  <string name=\"transaction_row_fee\">Taxa da rede</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Este pagamento ainda não foi transmitido.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Esta transação fortalece sua carteira contra roubo. &lt;u&gt;More info.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Essa transação aumenta a taxa da rede para um pagamento anterior.</string>\n  <string name=\"transaction_row_message_received_direct\">Esse pagamento foi recebido diretamente. Existe um certo risco dessa quantia nunca poder ser gasta no futuro. Deve haver um certo vínculo de confiança com o pagador.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">A confirmacão deste pagamento está demorando devido à sobrecarga na rede Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Este pagamento estará disponível em alguns minutos.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Devido à manutenção na rede Bitcoin, essa transação não deve ser confiada até que ela seja totalmente confirmada.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Esse pagamento tem um risco aumentado de ser revertido pelo remetente! Se você puder, aguarde por confirmações.</string>\n  <string name=\"transaction_row_message_received_dead\">Este pagamento foi anulado pelo emissor.</string>\n  <string name=\"transaction_row_message_received_dust\">Esta pequena quantidade pode provavelmente nunca ser gasto economicamente.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Essa transferência é feita para muitas carteiras além da sua, o que torna o app lento. Se você puder, tente receber pagamentos que pagam somente você.</string>\n  <string name=\"transaction_row_message_received_rbf\">Esse pagamento atrasou porque o remetente utilizou um tipo inseguro de transação .</string>\n  <string name=\"network_monitor_activity_title\">Monitor de rede</string>\n  <string name=\"network_monitor_peer_list_title\">Pontos</string>\n  <string name=\"network_monitor_block_list_title\">Blocos</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Ajuste da dificuldade de mineração </string>\n  <string name=\"block_row_mining_reward_adjustment\">Recompensa de mineração reduzida pela metade</string>\n  <string name=\"block_row_now\">agora</string>\n  <string name=\"peer_list_fragment_empty\">Sem pontos conectados</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Restaurar carteira</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Você está prestes a substituir sua carteira atual. Quaisquer bitcoins contidos na carteira atual serão perdidos, a menos que você tenha feito um backup.</string>\n  <string name=\"import_keys_dialog_warning\">Importante: Não carregue chaves privadas de fontes duvidosas! Outros podem ganhar controle sobre o seu saldo antes de você.</string>\n  <string name=\"import_keys_dialog_button_import\">Restaurar</string>\n  <string name=\"restore_wallet_dialog_success\">A carteira foi restaurada.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Sua carteira foi restaurada com sucesso. O saldo será determinado em seguida. Isso poderá levar algum tempo.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Aviso: A sua carteira está protegida por um PIN que será exigido quando você for gastar os bitcoins contidos nela. Certifique-se de que você ainda se lembra dele antes de você receber bitcoins nessa carteira.</string>\n  <string name=\"import_keys_dialog_failure\">A carteira não pôde ser restaurada:\\n\\n%s\\n\\nSenha ruim?</string>\n  <string name=\"export_keys_dialog_title\">Fazer backup da carteira</string>\n  <string name=\"backup_wallet_dialog_message\">Seu backup será criptografado com a senha escolhida e será salvo no armazenamento externo.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Sua carteira é protegida por um PIN de gastos. Certifique-se de que você se lembra do PIN, além da senha de backup!</string>\n  <string name=\"export_keys_dialog_button_export\">Exportar</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>O backup de sua carteira foi feito em <tt>%s</tt></p><p><b>Se o único lugar que tem para fazer seu backup é seu dispositivo você corre o risco de perder tudo ao mesmo tempo!</b></p><p>De qualquer maneira, tenha certeza de que se lembra da sua senha de backup.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Sua carteira não pôde ser salva: \\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">senha</string>\n  <string name=\"backup_wallet_dialog_password_again\">repita a senha</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">não coincide!</string>\n  <string name=\"import_export_keys_dialog_show\">Mostrar senha</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Erro</string>\n  <string name=\"import_keys_intent_filter_action\">Restaurar carteira</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN</string>\n  <string name=\"encrypt_keys_dialog_message\">O PIN escolhido será exigido para gastar o dinheiro da sua carteira.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Importante: Não use números comuns (como datas de aniversários) em seu PIN.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">PIN antigo</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">fraco</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">razoável</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">bom</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">forte</string>\n  <string name=\"encrypt_keys_dialog_show\">Mostrar PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Criptografando…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Descriptografando…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Concluído.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Desculpe</string>\n  <string name=\"scan_camera_problem_dialog_message\">Ocorreu um problema com a câmera. Você provavelmente precisará reiniciar o dispositivo.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Permissão de câmera</string>\n  <string name=\"scan_camera_permission_dialog_message\">Para escanear os QR codes, você precisa dar permissão ao aplicativo para uso da câmera.</string>\n  <string name=\"input_parser_io_error\">Não é possível ler dados:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Impossível reconhecer entrada:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Endereços Bitcoin inválidos:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Endereço inválido de Bitcoin!\\n(Mixing up Mainnet/Testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Não foi possível verificar cobrança:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Cobrança inválida:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Transação inválida:\\n%s</string>\n  <string name=\"preferences_activity_title\">Configurações</string>\n  <string name=\"preferences_category_diagnostics\">Diagnósticos</string>\n  <string name=\"preferences_category_labs\">Labs</string>\n  <string name=\"preferences_precision_title\">Denominação e precisão</string>\n  <string name=\"preferences_precision_summary\">Unidade para mostrar valores. Isso não afeta os cálculos.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 casas decimais</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 casas decimais</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 casas decimais</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 casas decimais</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, nenhuma casa decimal</string>\n  <string name=\"preferences_own_name_title\">Seu nome</string>\n  <string name=\"preferences_own_name_summary\">O seu nome, para ser adicionado nas requisições de pagamentos. Tente usar um nome curto.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Fechar diálogo de envio automaticamente</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Quando o pagamento for feito, o diálogo de envio será fechado automaticamente.</string>\n  <string name=\"preferences_trusted_peer_title\">Pontos confiáveis</string>\n  <string name=\"preferences_trusted_peer_summary\">IP ou hostname de um ponto para conectar.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Resolvendo…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Nome de host desconhecido!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Ignorar descoberta de pontos comuns</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Impede a conexão com outros pontos que não sejam de confiança.</string>\n  <string name=\"preferences_block_explorer_title\">Explorador de blocos</string>\n  <string name=\"preferences_block_explorer_summary\">Explorador de blocos externo para visualizar as transações, endereços e blocos.</string>\n  <string name=\"preferences_data_usage_title\">Uso de dados</string>\n  <string name=\"preferences_data_usage_summary\">Mostrar opções para restringir o uso de dados em redes móveis.</string>\n  <string name=\"preferences_remind_balance_title\">Aviso de saldo</string>\n  <string name=\"preferences_remind_balance_summary\">Após ficar alguns semanas sem ser utilizado, o app irá notificar se ainda existem bitcoins na carteira.</string>\n  <string name=\"preferences_show_disclaimer_title\">Mostrar aviso legal</string>\n  <string name=\"preferences_show_disclaimer_summary\">Você realmente leu as notas de segurança? Já fez backup de sua carteira para um lugar seguro?</string>\n  <string name=\"preferences_report_issue_title\">Informar problema</string>\n  <string name=\"preferences_initiate_reset_title\">Reiniciar block chain</string>\n  <string name=\"preferences_initiate_reset_summary\">Reseta a block chain, as transações e o saldo da carteira. O replay irá demorar um pouco, então faça isso somente se você tiver certeza.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Você gostaria de resetar e replay a block chain?\\n\\nIsso irá esconder temporariamente o saldo da sua carteira e remover as suas transações. Eles irão retornar assim que a sincronização da block chain progredir. Certifique-se que você tem uma conexão de internet confiável.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Reiniciar</string>\n  <string name=\"preferences_extended_public_key_title\">Mostrar extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Ver a chave pública estendida de sua carteira, para que possa ser importada para outros aplicativos e serviços. Tenha cuidado: isso irá divulgar a sua privacidade monetária para o app.</string>\n  <string name=\"bitmap_fragment_share\">Compartilhar…</string>\n  <string name=\"extended_public_key_fragment_title\">Chave Pública Estendida</string>\n  <string name=\"extended_public_key_fragment_share\">Compartilhar extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Informar problema</string>\n  <string name=\"report_issue_dialog_title_crash\">Detectado problema grave anteriormente</string>\n  <string name=\"report_issue_dialog_title_transaction\">Informe o problema com a forma de pagamento selecionado</string>\n  <string name=\"report_issue_dialog_message_issue\">Por favor descreva precisamente como o problema pode ser reproduzido. Se puder, escreva em inglês.</string>\n  <string name=\"report_issue_dialog_message_crash\">Você gostaria de enviar um relatório de problemas para ajudar a resolvê-los no futuro?</string>\n  <string name=\"report_issue_dialog_description\">descrição do problema</string>\n  <string name=\"report_issue_dialog_report\">Reportar</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Acrescente informações sobre o dispositivo</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Anexar log do aplicativo</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Anexar \\\"wallet dump\\\"</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Enviar relatório usando…</string>\n  <string name=\"about_title\">Sobre</string>\n  <string name=\"about_version_title\">Versão</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">Licença</string>\n  <string name=\"about_source_title\">Código fonte</string>\n  <string name=\"about_category_credits\">Este app está usando…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, um protocolo de implementação Bitcoin </string>\n  <string name=\"about_credits_zxing_title\">ZXing, uma biblioteca de processamento para QR-code</string>\n  <string name=\"about_market_app_title\">Página no %s</string>\n  <string name=\"about_market_app_summary\">Comente ou classifique o aplicativo</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Perguntas frequentes sobre o app</string>\n  <string name=\"notification_coins_received_msg\">Recebido %s</string>\n  <string name=\"notification_peers_connected_msg\">%d pontos conectados</string>\n  <string name=\"notification_inactivity_title\">Você ainda tem Bitcoins nesse dispositivo!</string>\n  <string name=\"notification_inactivity_message\">Lembre-se que o seu saldo de %s será perdido se você desinstalar o app Bitcoin Wallet sem antes enviá-los para outra carteira.</string>\n  <string name=\"notification_inactivity_message_donate\">Se você não quiser mais seus bitcoins, você pode doá-los para o projeto Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Lembrar depois</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Não me lembrar</string>\n  <string name=\"notification_channel_received_name\">Pagamentos recebidos</string>\n  <string name=\"notification_channel_ongoing_name\">Atividade em segundo plano</string>\n  <string name=\"notification_channel_important_name\">Alertas importantes</string>\n  <string name=\"appwidget_wallet_balance_title\">Saldo em Bitcoin</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Fechar</string>\n  <string name=\"button_cancel\">Cancelar</string>\n  <string name=\"button_retry\">Retentar</string>\n  <string name=\"button_help\">Ajuda</string>\n  <string name=\"button_add\">Adicionar</string>\n  <string name=\"button_delete\">Apagar</string>\n  <string name=\"button_set\">Definir</string>\n  <string name=\"button_remove\">Remover</string>\n  <string name=\"button_edit\">Editar</string>\n  <string name=\"button_copy\">Copiar</string>\n  <string name=\"button_paste\">Colar</string>\n  <string name=\"button_share\">Compartilhar</string>\n  <string name=\"button_set_as_default\">Definir como padrão</string>\n  <string name=\"button_request_coins\">Solicitar Bitcoins</string>\n  <string name=\"button_send_coins\">Enviar Bitcoins</string>\n  <string name=\"button_scan\">Escanear</string>\n  <string name=\"button_settings\">Configurações</string>\n  <string name=\"action_show_qr\">Mostrar Código QR</string>\n  <string name=\"action_browse\">Navegar</string>\n  <!--generic strings-->\n  <string name=\"time_today\">hoje</string>\n  <string name=\"address_unlabeled\">(sem nome)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">PIN ruim!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Erro de I/O, leitura ou escrita: %s</string>\n  <string name=\"error_parse\">Erro de análise:%s</string>\n  <string name=\"error_http\">Erro HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Erro de Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-pt-rBR/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tO canto superior esquerdo da tela exibe o seu saldo em Bitcoins e em uma moeda nacional.\n\t\t\tToque para ver a lista de moedas nacionais, e toque em uma delas para selecioná-la como moeda padrão.\n\t\t</p>\n\t\t<p>\n\t\t\tO código QR no canto superior direito contém o seu endereço de bitcoin atual e pode ser usado para ser lido por outro dispositivo.\n\t\t\tToque no código QR para ampliá-lo.\n\t\t</p>\n\t\t<p>\n\t\t\tA parte inferior da tela contém uma lista das suas transações.\n\t\t\tNo início ela está vazia e vai sendo preenchida conforme você recebe e realiza pagamentos.\n\t\t\tOs pagamentos recebidos são exibidos em verde e os realizados em vermelho.\n\t\t</p>\n\t\t<p>\n\t\t\tVocê pode enviar ou solicitar bitcoins tocando nos botões na barra de ação.\n\t\t\tMais opções estão disponíveis no menu de opções.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tUsando essa tela, você consegue solicitar bitcoins para outra pessoa (que também já tenha instalado uma carteira Bitcoin).\n\t\t</p>\n\t\t<p>\n\t\t\tPrimeiro, você pode opcionalmente inserir uma quantidade de Bitcoins a ser solicitada.\n\t\t</p>\n\t\t<p>\n\t\t\tUm código QR será gerado e ele deve ser escaneado pela outra pessoa.\n\t\t\tVocê também pode enviar sua solicitação para uma pessoa remotamente, usando o botão compartilhar na barra de ações.\n\t\t\tA outra pessoa deverá clicar na Bitcoin URL.\n\t\t</p>\n\t\t<p>\n\t\t\tA solicitação irá mostrar para a outra pessoa uma caixa de diálogo para o envio de bitcoins com todos os campos pré-preenchidos.\n\t\t\tSe ela concordar com o valor, tudo o que ela precisa fazer é enviar o pagamento.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tVocê iniciou o processo de envio de bitcoins.\n\t\t\tVocê veio aqui através da tela principal ou após clicar em um endereço Bitcoin no seu navegador móvel.\n\t\t</p>\n\t\t<p>\n\t\t\tPrimeiro insira o endereço Bitcoin para o qual você quer realizar o pagamento.\n\t\t\tO endereço será completado automaticamente através de entradas conhecidas em seu catálogo de endereços.\n\t\t\tAo usar o botão QR na barra de ações, você pode escanear códigos QR que contenham solicitações de pagamento.\n\t\t</p>\n\t\t<p>\n\t\t\tEm seguida, você pode ver quantos Bitcoins você tem disponíveis para serem gastos no momento.\n\t\t\tSe houver uma diferença entre o valor disponível para ser gasto e o saldo da tela principal, é devido a transações ainda não confirmadas.\n\t\t</p>\n\t\t<p>\n\t\t\tPor último, digite a quantia a pagar.\n\t\t</p>\n\t\t<p>\n\t\t\tÉ possível inserir um pagamento mesmo estando offline.\n\t\t\tEle será enviado na próxima reinicialização da Bitcoin Wallet.\n\t\t\tSe você quer que um pagamento seja processado o mais rápido possível, certifique-se de que você está usando uma boa conexão (i.e. uma rede Wi-Fi).\n\t\t</p>\n\t\t<p>\n\t\t\tNota:\n\t\t\tTodos os pagamentos são irreversíveis.\n\t\t\tSempre verifique com cuidado o endereço de destino.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Notas importantes sobre segurança:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tAs chaves para os seus Bitcoins são armazenadas no seu dispositivo.\n\t\t\t<b>Se você o perder, você perderá suas chaves e, consequentemente, também perderá todos os seus Bitcoins.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tIsso significa que você tem que fazer um <b>backup (cópia de segurança) da sua carteira</b>!\n\t\t\tUtilize o próprio recurso de backup do aplicativo, ao invés de utilizar aplicativos de backup de terceiros.\n\t\t\tMantenha o seu backup seguro e lembre a senha.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Antes de instalar</b>, limpar as informações do aplicativo ou realizar um reset de seu dispositivo, <b>transfira seus Bitcoins para uma outra carteira</b>.\n\t\t\tOs Bitcoins remanescentes serão perdidos.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Os pagamentos são irreversíveis</b>.\n\t\t\tSe você enviar seus Bitcoins para um endereço desconhecido, não há quase nenhuma maneira de obtê-los de volta.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Mantenha o seu dispositivo móvel seguro!</b>\n\t\t\tNão faça root em seu dispositivo.\n\t\t\tNão instale aplicativos de fontes que você não confia.\n\t\t\tAplicativos maliciosos podem tentar roubar sua carteira.\n\t\t</p>\n\t\t<p>\n\t\t\tNão se arrisque.\n\t\t\t<b>Não carregue em sua carteira Bitcoin valores maiores do que você carregaria em uma carteira de bolso comum</b>.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n      <p>\n            <b>Notas Técnicas:</b>\n        </p>\n        <p>\n            Por ser uma carteira SPV (carteira light), a Bitcoin Wallet segue a corrente que tiver a maior prova-de-trabalho (também conhecida como a \\\"corrente mais comprida\\\", a \\\"corrente vencedora\\\" ou a \\\"blockchain do Bitcoin\\\").\n            Você só irá poder receber e realizar pagamentos nesta corrente.\n            Nenhuma garantia pode ser feita sobre Bitcoins em correntes de minorias, ou seja, correntes que tenham menos prova-de-trabalho.\n        </p>\n        <p>\n            No passado, as correntes de minorias se tornaram irrelevantes muito rapidamente.\n            No entanto, se você desejar seguir uma corrente de minoria, recomenda-se que você use a função \\\"peer de confiança\\\" para conectar-se exclusivamente à implementação bitcoind que utiliza a sua corrente desejada.\n            Se a rede estabelecendo a conexão entre a sua carteira e o peer de confiança não for confiável, use uma VPN para autenticá-la.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-pt-rPT/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">A sua carteira foi reiniciada!\\nEsta irá demorar algum tempo para recuperar.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Use por sua conta e risco. Leia as &lt;u&gt;notas de segurança&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Precisa de efetuar uma &lt;u&gt;cópia de segurança da sua carteira&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d horas em atraso</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dias em atraso</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d semanas em atraso</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d mess em atraso</string>\n  <string name=\"blockchain_state_progress_downloading\">A sincronizar com a rede</string>\n  <string name=\"blockchain_state_progress_stalled\">Sincronização parada</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Sincronização: problema de armazenamento</string>\n  <string name=\"blockchain_state_progress_problem_network\">Sincronização: problema de rede</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">O endereço Bitcoin foi copiado para a área de transferência</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Para proteger a sua privacidade, o seu endereço será alterado assim que este recebe um pagamento.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">O seu dispositivo é antigo e inseguro. Por favor, utilize apenas para valores pequenos.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Este montante é bastante elevado para transportar no seu bolso. Por favor mova algum para um sítio mais seguro.</string>\n  <string name=\"wallet_balance_fragment_replaying\">O saldo está indisponível durante o replay.</string>\n  <string name=\"exchange_rates_activity_title\">Taxas de câmbio</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Não foi possível encontrar as taxas de câmbio.</string>\n  <string name=\"exchange_rates_fragment_default\">(padrão)</string>\n  <string name=\"exchange_rates_fragment_rate\">taxa</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Preço a partir de %s</string>\n  <string name=\"exchange_rates_options_search\">Pesquisar taxa de câmbio</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Até agora ainda não foram recebidas Bitcoins.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Até agora ainda não foram enviadas Bitcoins.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Como obter Bitcoins?\\nTroque por dinheiro real,\\nvenda bens ou serviços ou\\nganhe a trabalhar.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Por favor faça uma cópia de segurança da sua carteira\\nantes de receber quaisquer Bitcoins!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Parabéns, recebeu o seu primeiro pagamento! Já tem cópias de segurança da sua carteira para se proteger contra perdas?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Dica: para aumentar a segurança da sua carteira, pode &lt;u&gt;encriptar o seu dispositivo&lt;/u&gt;. Isto também protege os dados de outros programas.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">A rede Bitcoin está em manutenção. É recomendável não enviar ou receber nenhum Bitcoin até que a manutenção termine. &lt;u&gt;Mais informações.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">minado</string>\n  <string name=\"wallet_transactions_fragment_internal\">interno</string>\n  <string name=\"wallet_transactions_options_filter\">Filtrar</string>\n  <string name=\"wallet_transactions_options_filter_all\"> Todos os pagamentos</string>\n  <string name=\"wallet_transactions_options_filter_received\">Pagamentos recebidos</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Pagamentos enviados</string>\n  <string name=\"wallet_options_request_legacy\">Pedir a um endereço antigo</string>\n  <string name=\"wallet_options_safety_menu\">Segurança</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Definir código de gasto</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Alterar código de gasto</string>\n  <string name=\"wallet_options_safety\">Notas de segurança</string>\n  <string name=\"wallet_options_technical_notes_title\">Notas técnicas</string>\n  <string name=\"wallet_options_donate\">Gratificação / donativo</string>\n  <string name=\"wallet_donate_address_label\">Doar para o projeto Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Alerta de segurança</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">O componente de Bluetooth do seu dispositivo é vulnerável. Os seus Bitcoins neste dispositivo estão em risco, independentemente da aplicação que utilize para os armazenar!\\n\\nRecomendamos desligar o Bluetooth imediatamente e verificar se existe uma atualização do Android que implemente o nível de correção de segurança \\'%s\\' ou posterior.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Pouco espaço no armazenamento do dispositivo interno!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet utiliza o armazenamento interno para lembrar as transações e os blocos. Se este ficar sem espaço, este deixará de funcionar e as suas Bitcoins irão estar em risco!\\n\\nQuer abrir o Gestor de Aplicações para desinstalar as aplicações desnecessárias?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Gerir aplicações</string>\n  <string name=\"wallet_timeskew_dialog_title\">Verifique as definições da data e hora</string>\n  <string name=\"wallet_timeskew_dialog_msg\">A hora do seu dispositivo está desfasada em %d minutos. Pode não conseguir enviar ou receber Bitcoins devido a este problema.\\n\\nVerifique e corrija a hora nas configurações do fuso horário.</string>\n  <string name=\"wallet_version_dialog_title\">Está disponível uma nova versão!</string>\n  <string name=\"wallet_version_dialog_msg\">Esta versão corrige erros importantes. Para mis informações veja o registo de alterações em %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Se não vê uma atualização, provavelmente é porque a sua versão do Android já não é suportada.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Transferir</string>\n  <string name=\"wallet_old_sdk_dialog_title\">A versão Android está desatualizada</string>\n  <string name=\"wallet_old_sdk_dialog_message\">É possível que as próximas atualizações do Bitcoin Wallet não sejam compatíveis com seu dispositivo. Neste caso, poderá ser difícil gastar Bitcoins neste dispositivo.\\n\\nA não ser que saiba exatamente o que está a fazer, recomendamos a transferência para outra conta o mais rápido possível.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problema com a abertura das definições</string>\n  <string name=\"send_coins_activity_title\">Enviar Bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">A obter a assinatura de %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">A obtenção do pedido de pagamento falhou</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">O beneficiário (%1$s) está a utilizar um protocolo de pagamento incompatível (motivo: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Assinatura errada!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">verificado por: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">desconhecido</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Pagar a</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">digite o endereço ou nome</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Endereço Bitcoin inválido!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Está prestes a enviar para si mesmo!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">complexo\\nendereço</string>\n  <string name=\"send_coins_fragment_pending\">(%s a aguardar por confirmação)</string>\n  <string name=\"send_coins_fragment_amount_label\">Valor a pagar</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Será paga uma taxa económica de %s. Importante: utilize \\'económica\\' apenas se não precisa que a transação seja confirmada em breve.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Será paga uma taxa de rede de %s.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Será paga uma taxa na prioridade %s. Utilize a \\'prioridade\\' apenas quando precisar que a confirmação ocorra o mais cedo possível.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">O valor é demasiado pequeno para enviar.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Sem bitcoins suficientes. Faltam-lhe %s. Isto pode dever-se também a comissão da rede.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">A quantidade de pequenos pagamentos na sua carteira não somam um valor suficiente para envio.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Neste momento os pagamentos não são possíveis porque está a decorrer uma repetição.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Enviar o pagamento diretamente para o beneficiário</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">O seu pagamento foi enviado diretamente com sucesso.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">O seu pagamento foi recusado via ligação direta.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Pagamento direto falhou</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">O seu pagamento será transmitido via rede P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Enviar</string>\n  <string name=\"send_coins_fragment_button_back\">Voltar</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Taxa de rede significativa</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">A taxa de rede para este pagamento (%1$s) é alta em comparação com o montante (%2$s). Mesmo assim quer enviar?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Moedas disponíveis insuficientes</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Está em falta %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Pretende pagar com tudo o que tem? </string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Limpeza da carteira falhou</string>\n  <string name=\"send_coins_fragment_state_decrypting\">A desencriptar…</string>\n  <string name=\"send_coins_preparation_msg\">A iniciar a sessão…</string>\n  <string name=\"send_coins_sending_msg\">A enviar…</string>\n  <string name=\"send_coins_sent_msg\">Enviado!</string>\n  <string name=\"send_coins_failed_msg\">Falhou!</string>\n  <string name=\"send_coins_error_msg\">Ocorreu um problema ao enviar as moedas!</string>\n  <string name=\"send_coins_options_fee_category\">Taxa</string>\n  <string name=\"send_coins_options_fee_category_economic\">Económica</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioridade</string>\n  <string name=\"send_coins_options_empty\">Carteira vazia</string>\n  <string name=\"raise_fee_dialog_title\">Aumentar taxa de rede</string>\n  <string name=\"raise_fee_dialog_message\">Quer aumentar a taxa deste pagamento em %s? Isto fará com que o pagamento seja confirmado mais rapidamente.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">A determinar a taxa de rede…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">A taxa de rede deste pagamento não pode ser aumentada.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">A desencriptar…</string>\n  <string name=\"raise_fee_dialog_state_done\">Concluído.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Aumentar</string>\n  <string name=\"sweep_wallet_activity_title\">Converter carteira de papel</string>\n  <string name=\"sweep_wallet_fragment_intro\">Vai converter uma carteira de papel ou cupão. Isto irá mover todos os bitcoins nessa carteira de papel para a sua carteira neste dispositivo. Quando a transação for confirmada, a carteira de papel não terá valor e não deve ser usada novamente por questões de segurança.</string>\n  <string name=\"sweep_wallet_fragment_hint\">As carteiras de papel são usadas normalmente para armazenamento seguro não ligado à Internet (cold storage). Alguns terminais bancários imprimem-nas em papel em vez de enviar as bitcoins diretamente para o seu dispositivo. As pessoas por vezes usam cartiras de papel pré-carregadas para transacionarem o valor para outras pessoas (não recomendado).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Comece por digitalizar a chave privada de uma carteira de papel. Use o botão da câmara.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Esta chave privada está protegida com uma palavra-passe.</string>\n  <string name=\"sweep_wallet_fragment_password\">palavra-passe</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">palavra-passe má!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Saldo para limpar</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Desencriptar</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Limpar</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">A desencriptar…\\nDemora até 2 minutos.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">A carregar saldo…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Carregamento do saldo da carteira falhou</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Tem uma conexão má à rede Electrum.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">A carteira de papel está vazia.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Moedas insuficientes</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">A quantidade de moedas na carteira é muito pequena para limpar.</string>\n  <string name=\"sweep_wallet_options_reload\">Recarregar saldo</string>\n  <string name=\"maintenance_dialog_title\">Recomendada a manutenção</string>\n  <string name=\"maintenance_dialog_message\">Recebeu %1$s num endereço não seguro, Gostaria de mover esses bitcoins para um endereço seguro? Será cobrada uma pequena taxa de rede de %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">A desencriptar…</string>\n  <string name=\"maintenance_dialog_state_done\">Concluído.</string>\n  <string name=\"maintenance_dialog_button_move\">Mover</string>\n  <string name=\"request_coins_activity_title\">Solicitar Bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Valor solicitado (opcional)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Aceite o pagamento via Bluetooth para um processamento mais confiável</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Tenha este código digitalizado pelo remetente.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Ou toque num dispositivo compatível com NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">As Bitcoins solicitadas foram copiadas para área de transferência</string>\n  <string name=\"request_coins_share_dialog_title\">Partilhar pedido para Bitcoins…</string>\n  <string name=\"request_coins_no_local_app_msg\">Não foi encontrada outra aplicação Bitcoin</string>\n  <string name=\"request_coins_options_local_app_title\">Solicitar a uma aplicação local</string>\n  <string name=\"address_book_activity_title\">Livro de endereços</string>\n  <string name=\"address_book_list_receiving_title\">Os seus endereços</string>\n  <string name=\"address_book_list_receiving_random\">Endereços antigos</string>\n  <string name=\"address_book_list_sending_title\">A enviar os endereços</string>\n  <string name=\"address_book_empty_text\">O livro de endereços está vazio</string>\n  <string name=\"address_book_context_send_title\">Enviar Bitcoins para o endereço</string>\n  <string name=\"address_book_context_edit_title\">Editar endereço</string>\n  <string name=\"address_book_context_remove_title\">Remover endereço</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Copiar para a área de transferência</string>\n  <string name=\"address_book_options_scan_title\">Digitalizar endereço</string>\n  <string name=\"address_book_options_scan_invalid\">Os dados digitalizados são irreconhecíveis</string>\n  <string name=\"address_book_options_scan_own_address\">O endereço digitalizado é o seu.</string>\n  <string name=\"address_book_row_message_compromised_key\">Este endereço pode estar comprometido. Não o deverá usar mais para receber moedas.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Adicione o endereço de envio</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Edite a etiqueta do endereço de envio</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Adicione uma etiqueta ao seu endereço</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Edite a etiqueta do seu endereço</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Endereço</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etiqueta</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Guardar</string>\n  <string name=\"transaction_row_fee\">Taxa de rede</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Este pagamento ainda não foi efetuado.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Este pagamento foi creditado na sua carteira.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">O seu pagamento foi efetuado com sucesso. Este chegou ao beneficiário.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Este pagamento falhou.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">O seu pagamento falhou.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Esta transação reforça a sua carteira contra roubo. &lt;u&gt;Mais informação.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Esta transação aumenta a taxa de rede para um pagamento anterior.</string>\n  <string name=\"transaction_row_message_received_direct\">Este pagamento foi recebido diretamente. Existe um certo risco dessa quantia nunca poder ser gasta no futuro.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">A confirmação deste pagamento está a demorar devido à sobrecarga na rede Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Este pagamento estará disponível dentro de alguns minutos.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Devido à manutenção na rede Bitcoin, esta transação não deve ser confiada até que ela seja totalmente confirmada.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Este pagamento tem um maior risco de poder ser revertido pelo emissor! Se puder, aguarde pela confirmação.</string>\n  <string name=\"transaction_row_message_received_dead\">Este pagamento foi cancelado pelo emissor.</string>\n  <string name=\"transaction_row_message_received_dust\">Esta pequena quantidade pode provavelmente nunca ser gasta economicamente.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Esta transferência é feita para muitas carteiras além da sua, o que torna a aplicação lenta. Se possível, tente receber sempre pagamentos dirigidos apenas a si.</string>\n  <string name=\"transaction_row_message_received_rbf\">Este pagamento foi atrasado porque o emissor utilizou um tipo inseguro de transação.</string>\n  <string name=\"network_monitor_activity_title\">Monitor de rede</string>\n  <string name=\"network_monitor_peer_list_title\">Pares</string>\n  <string name=\"network_monitor_block_list_title\">Blocos</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Ajuste da dificuldade de mineração </string>\n  <string name=\"block_row_mining_reward_adjustment\">Recompensa de mineração reduzida para metade</string>\n  <string name=\"block_row_now\">agora mesmo</string>\n  <string name=\"peer_list_fragment_empty\">Sem pares ligados</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Restaurar carteira</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Está prestes a substituir a sua carteira atual. Quaisquer bitcoins contidos na carteira atual serão perdidos, a não ser que tenha feito uma cópia de segurança.</string>\n  <string name=\"import_keys_dialog_warning\">Importante: não carregue chaves privadas de fontes duvidosas! Se o fizer, outras pessoas podem controlar o seu saldo.</string>\n  <string name=\"import_keys_dialog_button_import\">Restaurar</string>\n  <string name=\"restore_wallet_dialog_success\">A carteira foi restaurada.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">A sua carteira foi restaurada com sucesso. O saldo será determinado em seguida. Isso poderá levar algum tempo.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Aviso: A sua carteira está protegida por um PIN que será pedido quando for gastar os bitcoins contidos nela. Certifique-se que ainda se lembra dele antes de receber bitcoins nesta carteira.</string>\n  <string name=\"import_keys_dialog_failure\">Não foi possível restaurar a sua carteira:\\n\\n%s\\n\\nPalavra-passe errada?</string>\n  <string name=\"export_keys_dialog_title\">Copiar carteira</string>\n  <string name=\"backup_wallet_dialog_message\">A sua cópia de segurança será encriptada com a palavra-passe escolhida e será guardada no armazenamento externo.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">A sua carteira é protegida por um PIN de gastos. Certifique-se que se lembra do PIN, além da palavra-passe de cópia de segurança!</string>\n  <string name=\"export_keys_dialog_button_export\">Copiar</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Foi feita uma cópia de segurança da sua carteira para <tt>%s</tt></p><p><b>Se o único local que existe da cópia de segurança da sua carteira for o seu dispositivo, corre o risco de perder ambos ao mesmo tempo!</b></p><p>Em qualquer um dos casos certifique-se que se lembra da sua palavra-passe da cópia de segurança.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Não foi possível fazer a cópia de segurança da sua carteira:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">palavra-passe</string>\n  <string name=\"backup_wallet_dialog_password_again\">novamente</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">disparidade!</string>\n  <string name=\"import_export_keys_dialog_show\">Mostrar palavra-passe</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Erro</string>\n  <string name=\"import_keys_intent_filter_action\">Restaurar carteira</string>\n  <string name=\"encrypt_keys_dialog_title\">Código de Gastar</string>\n  <string name=\"encrypt_keys_dialog_message\">Os gastos da sua carteira serão protegidos com o código escolhido.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Importante: precisa de se lembrar do seu código! Não use números comuns (tal como data de nascimento).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Código antigo</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">fraco</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">razoável</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">bom</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">forte</string>\n  <string name=\"encrypt_keys_dialog_show\">Mostrar código</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">A encriptar…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">A desencriptar…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Concluído.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Desculpe</string>\n  <string name=\"scan_camera_problem_dialog_message\">A câmara tem um problema. Provavelmente será necessário reiniciar o dispositivo.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Permissão de câmara</string>\n  <string name=\"scan_camera_permission_dialog_message\">Para digitalizar os códigos QR, precisa de autorizar o uso da câmara.</string>\n  <string name=\"input_parser_io_error\">Não é possível ler os dados:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Não é possível reconhecer a entrada:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">URl de Bitcoin inválidoI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Foi obtido um endereço bitcoin inválido !\\n(Misturando mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Não é possível verificar o pedido de pagamento:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Pedido de pagamento inválido:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Transação inválida:\\n%s</string>\n  <string name=\"preferences_activity_title\">Configurações</string>\n  <string name=\"preferences_category_diagnostics\">Diagnóstico</string>\n  <string name=\"preferences_category_labs\">Testes</string>\n  <string name=\"preferences_precision_title\">Denominação e precisão</string>\n  <string name=\"preferences_precision_summary\">Mostrar os valores nesta unidade. Isto não afeta os cálculos.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 casas decimais</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 casas decimais</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 casas decimais</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 casas decimais</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, sem casas decimais</string>\n  <string name=\"preferences_own_name_title\">Próprio nome</string>\n  <string name=\"preferences_own_name_summary\">O seu nome, para ser adicionado nas requisições de pagamentos. Tente usar um nome curto.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Auto fechar a janela de moedas a enviar</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Quando o pagamento é feito, a janela de enviar será fechada automaticamente.</string>\n  <string name=\"preferences_trusted_peer_title\">Par de confiança</string>\n  <string name=\"preferences_trusted_peer_summary\">IP ou nome do anfitrião do par ao qual ligar.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">A resolver…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Nome de hospedeiro desconhecido!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Ignorar descoberta de par regular</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Impede a ligação com outros pares, além do par de confiança.</string>\n  <string name=\"preferences_block_explorer_title\">Explorador de blocos</string>\n  <string name=\"preferences_block_explorer_summary\">Explorador de blocos externo para visualizar as transações, endereços e blocos.</string>\n  <string name=\"preferences_data_usage_title\">Utilização de dados</string>\n  <string name=\"preferences_data_usage_summary\">Mostrar as opções para limitar a utilização de dados nas redes móveis.</string>\n  <string name=\"preferences_notifications_title\">Notificações</string>\n  <string name=\"preferences_notifications_summary\">Mostrar opções para desativar ou ativar notificações específicas.</string>\n  <string name=\"preferences_remind_balance_title\">Lembrete de saldo</string>\n  <string name=\"preferences_remind_balance_summary\">Após ficar alguns semanas sem ser utilizado, a aplicação irá notificar se ainda existem bitcoins na carteira.</string>\n  <string name=\"preferences_show_disclaimer_title\">Mostrar limitação de responsabilidade</string>\n  <string name=\"preferences_show_disclaimer_summary\">Leu realmente as notas de segurança? Já fez a cópia de segurança da sua carteira para um lugar seguro?</string>\n  <string name=\"preferences_report_issue_title\">Comunicar problema</string>\n  <string name=\"preferences_initiate_reset_title\">Reiniciar cadeia de blocos</string>\n  <string name=\"preferences_initiate_reset_summary\">Reinicia a cadeia de blocos, as transações e o saldo da carteira. A repetição irá demorar um pouco, por isso faça isto apenas se tiver a certeza do que está a fazer.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Gostaria de reiniciar e repetir a cadeia de blocos?\\n\\nIsto irá esconder temporariamente o saldo da sua carteira e remover as suas transações. Ambos regressarão assim que a sincronização da cadeia de blocos começar a progredir. Certifique-se que tem uma ligação à internet estável.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Reiniciar</string>\n  <string name=\"preferences_extended_public_key_title\">Mostrar chave pública estendida</string>\n  <string name=\"preferences_extended_public_key_summary\">Ver a chave pública estendida da sua carteira, para que possa ser importada para outras aplicações e serviços. Tenha cuidado: isto irá divulgar a sua privacidade monetária para essa aplicação.</string>\n  <string name=\"bitmap_fragment_share\">Partilhar…</string>\n  <string name=\"extended_public_key_fragment_title\">Chave Pública Estendida</string>\n  <string name=\"extended_public_key_fragment_share\">Partilhar chave pública estendida…</string>\n  <string name=\"report_issue_dialog_title_issue\">Comunicar problema</string>\n  <string name=\"report_issue_dialog_title_crash\">Foi detetado um crache anterior</string>\n  <string name=\"report_issue_dialog_title_transaction\">Reportar o problema com o pagamento selecionado</string>\n  <string name=\"report_issue_dialog_message_issue\">Por favor descreva o problema com precisão suficiente para ser reproduzido novamente. Por favor escreva em inglês se possível.</string>\n  <string name=\"report_issue_dialog_message_crash\">Gostaria de enviar um relatório do crache, para ajudar a corrigir o problema no futuro?</string>\n  <string name=\"report_issue_dialog_description\">descrição do problema</string>\n  <string name=\"report_issue_dialog_report\">Comunicar</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Acrescentar informação do dispositivo</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Acrescentar o registo da aplicação</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Acrescentar a informação da carteira</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Enviar o relatório utilizando…</string>\n  <string name=\"about_title\">Sobre</string>\n  <string name=\"about_version_title\">Versão</string>\n  <string name=\"about_version_apk_hash_title\">Hash SHA256 do APK</string>\n  <string name=\"about_copyright_title\">Direitos de Autor</string>\n  <string name=\"about_license_title\">Licença</string>\n  <string name=\"about_source_title\">Código fonte</string>\n  <string name=\"about_category_credits\">Esta aplicação está a usar…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, uma implementação do protocol de Bitcoin</string>\n  <string name=\"about_credits_zxing_title\">ZXing, uma biblioteca de processamento de código QR</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, uma biblioteca de criptografia</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, um cliente de biblioteca HTTP</string>\n  <string name=\"about_credits_moshi_title\">Moshi, uma biblioteca JSON</string>\n  <string name=\"about_credits_guava_title\">Guava, uma coleção de coisas úteis</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, uma infraestrutura de registos</string>\n  <string name=\"about_market_app_title\">página %s</string>\n  <string name=\"about_market_app_summary\">Rever ou avaliar esta aplicação</string>\n  <string name=\"about_faq_title\">Perguntas Frequentes</string>\n  <string name=\"about_faq_summary\">Questões mais frequentes sobre a aplicação</string>\n  <string name=\"notification_coins_received_msg\">Recebido %s</string>\n  <string name=\"notification_connectivity_syncing_message\">A sincronizar com a rede…</string>\n  <string name=\"notification_peers_connected_msg\">%d pares ligados</string>\n  <string name=\"notification_inactivity_title\">Ainda tem Bitcoins neste dispositivo!</string>\n  <string name=\"notification_inactivity_message\">Lembre-se que o seu saldo de %s será perdido se desinstalar o programa Bitcoin Wallet sem enviar primeiro o saldo para outra carteira.</string>\n  <string name=\"notification_inactivity_message_donate\">Se não quiser saber mais dos seus bitcoins, pode fazer um donativo para o projeto Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Lembrar + tarde</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Não lembrar-me</string>\n  <string name=\"notification_channel_received_name\">Pagamentos recebidos</string>\n  <string name=\"notification_channel_ongoing_name\">Atividade de segundo plano</string>\n  <string name=\"notification_channel_important_name\">Alertas importantes</string>\n  <string name=\"appwidget_wallet_balance_title\">Saldo Bitcoin</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Rejeitar</string>\n  <string name=\"button_cancel\">Cancelar</string>\n  <string name=\"button_retry\">Repetir</string>\n  <string name=\"button_help\">Ajuda</string>\n  <string name=\"button_add\">Adicionar</string>\n  <string name=\"button_delete\">Eliminar</string>\n  <string name=\"button_set\">Definir</string>\n  <string name=\"button_remove\">Remover</string>\n  <string name=\"button_edit\">Editar</string>\n  <string name=\"button_copy\">Copiar</string>\n  <string name=\"button_paste\">Colar</string>\n  <string name=\"button_share\">Partilhar</string>\n  <string name=\"button_set_as_default\">Definir como predefinição</string>\n  <string name=\"button_request_coins\">Solicitar moedas</string>\n  <string name=\"button_send_coins\">Enviar moedas</string>\n  <string name=\"button_scan\">Digitalizar</string>\n  <string name=\"button_settings\">Configurações</string>\n  <string name=\"action_show_qr\">Mostar código QR</string>\n  <string name=\"action_browse\">Explorar</string>\n  <!--generic strings-->\n  <string name=\"time_today\">hoje</string>\n  <string name=\"address_unlabeled\">(sem título)</string>\n  <string name=\"private_key_password\">Código</string>\n  <string name=\"private_key_bad_password\">Código mau!</string>\n  <string name=\"qr_code\">Código QR</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Erro de I/O: %s</string>\n  <string name=\"error_parse\">Erro de análise: %s</string>\n  <string name=\"error_http\">Erro de HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Erro de Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-pt-rPT/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tO canto superior esquerdo do ecrã mostra o seu saldo em Bitcoins e numa moeda nacional.\n\t\t\tToque para ver a lista de moedas nacionais, e toque numa delas para selecioná-la como moeda padrão.\n\t\t</p>\n\t\t<p>\n\t\t\tO código QR no canto superior direito contém o seu endereço de bitcoin atual e pode ser usado para ser lido por outro dispositivo.\n\t\t\tToque no código QR para ampliá-lo.\n\t\t</p>\n\t\t<p>\n\t\t\tA parte inferior do ecrã contém uma lista das suas transações.\n\t\t\tInicialmente ela está vazia e vai sendo preenchida conforme receber e efetuar pagamentos.\n\t\t\tOs pagamentos recebidos são mostrados a e os realizados a vermelho.\n\t\t</p>\n\t\t<p>\n\t\t\tPode enviar ou solicitar bitcoins tocando nos botões na barra de ação.\n\t\t\tEstão disponíveis mais opções no menu de opções.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tUsando esta janela, pode pedir bitcoins a outra pessoa (que também já tenha instalado uma carteira Bitcoin).\n\t\t</p>\n\t\t<p>\n\t\t\tPrimeiro, pode inserir opcionalmente uma quantidade de Bitcoins a ser pedida.\n\t\t</p>\n\t\t<p>\n\t\t\tSerá gerado um código QR e este deve ser digitalizado pela outra pessoa.\n\t\t\tTambém pode enviar o seu pedido para uma pessoa remotamente, usando o botão partilhar na barra de ações.\n\t\t\tA outra pessoa deve clicar no endereço URL da Bitcoin.\n\t\t</p>\n\t\t<p>\n\t\t\tO pedido irá mostrar a outra pessoa uma janela para o envio de bitcoins com todos os campos pré-preenchidos.\n\t\t\tSe ela concordar com o valor, tudo o que ela precisa fazer é enviar o pagamento.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tIniciou o processo de envio de bitcoins.\n\t\t</p>\n\t\t<p>\n\t\t\tPrimeiro introduza o endereço Bitcoin para o qual quer fazer o pagamento.\n\t\t\tO endereço será completado automaticamente através de entradas conhecidas no seu livro de endereços.\n\t\t\tAo usar o botão QR na barra de ações, pode digitalizar códigos QR que contenham pedidos de pagamento.\n\t\t</p>\n\t\t<p>\n\t\t\tEm seguida, pode ver quantos Bitcoins tem disponíveis para serem gastos no momento.\n\t\t\tSe houver uma diferença entre o valor disponível para ser gasto e o saldo no ecrã principal, é porque ainda existem transações não confirmadas.\n\t\t</p>\n\t\t<p>\n\t\t\tPor último, introduza a quantia a pagar.\n\t\t</p>\n\t\t<p>\n\t\t\tÉ possível inserir um pagamento mesmo estando desligado da Internet.\n\t\t\tEle será enviado na próxima reinicialização da Bitcoin Wallet.\n\t\t\tSe quer que um pagamento seja processado o mais rápido possível, certifique-se que está a usar uma boa ligação (por exemplo uma rede Wi-Fi).\n\t\t</p>\n\t\t<p>\n\t\t\tNota:\n\t\t\tTodos os pagamentos são irreversíveis.\n\t\t\tVerifique sempre com cuidado o endereço de destino.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">Bitcoins\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Notas importantes sobre segurança:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tAs chaves para os seus Bitcoins são armazenadas no seu dispositivo.\n\t\t\t<b>Se perder este dispositivo, perderá também as suas chaves e, consequentemente, também perderá todos os seus Bitcoins.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tIsso significa que tem que fazer uma <b>cópia de segurança da sua carteira</b>!\n\t\t\tUtilize o próprio recurso de cópia de segurança da aplicação, em vez de utilizar aplicações de terceiros para fazer cópias de segurança.\n\t\t\tMantenha a sua cópia de segurança segura e não se esqueça da palavra-passe.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Antes de desinstalar</b> (ou limpar os dados da aplicação/formatar o seu dispositivo) <b>transfira os seus Bitcoins para uma outra carteira</b>.\n\t\t\tOs Bitcoins remanescentes serão perdidos.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Os pagamentos são irreversíveis</b>.\n\t\t\tSe enviar os seus Bitcoins para um endereço desconhecido, não há quase nenhuma forma de obtê-los novamente.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Mantenha o seu dispositivo móvel seguro!</b>\n\t\t\tNão faça rooting no seu dispositivo.\n\t\t\tNão instale aplicações de fontes que não confia.\n\t\t\tAs aplicações maliciosas podem tentar roubar a sua carteira.\n\t\t</p>\n\t\t<p>\n\t\t\tNão se arrisque.\n\t\t\t<b>Não carregue na sua carteira Bitcoin valores maiores do que carregaria numa carteira de bolso comum</b>.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Notas técnicas:</b>\n        </p>\n        <p>\n            Como uma carteira simples/SPV, Bitcoin Wallet segue a cadeia da maioria de \\'prova-de-trabalho\\' (algumas vezes denominada \\\"a cadeia mais longa\\\", a \\\"cadeia vencedora\\\" ou \\\"cadeia de bloco Bitcoin\\\").\n            Só irá receber \\'pagamentos a receber\\' e poder pagar nessa cadeia.\n            Não podem ser dadas garantias sobre as Bitcoins nas cadeias minoritárias, ou seja, cadeias com \\'prova-de-trabalho\\'.\n        </p>\n        <p>\n            Anteriormente, as cadeias minoritárias tornaram-se sempre irrelevantes muito rapidamente.\n            Se desejar seguir uma cadeia minoritária de qualquer modo, é aconselhável utilizar a funcionalidade \\\"par de confiança\\\" para ligar exclusivamente à implementação \\\"bitcoind\\\" que força a sua cadeia desejada.\n            Se a rede entre a sua carteira e o par de confiança não for de confiança, utilize a VPN para autenticar essa ligação.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ru/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Ваш кошелёк был сброшен!\\nВосстановление займёт некоторое время.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Используйте на свой страх и риск. Прочитайте &lt;u&gt;заметки по безопасности&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Вам необходимо &lt;u&gt;сделать резервную копию вашего кошелька&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d часов отставания</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d дней отставания</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d недель отставания</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d месяцев отставания</string>\n  <string name=\"blockchain_state_progress_downloading\">Синхронизация с сетью</string>\n  <string name=\"blockchain_state_progress_stalled\">Синхронизация зависла</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Синхронизация: проблема с хранилищем</string>\n  <string name=\"blockchain_state_progress_problem_network\">Синхронизация: проблема с сетью</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Адрес скопирован в буфер обмена</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Для защиты вашей конфиденциальности ваш адрес будет меняться , как только он получает деньги.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Ваше устройство устарело и недостаточно защищено. Используйте только для небольших сумм денег.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Сумма монет довольно существенная для карманного бумажника. Пожалуйста, перенесите её часть в более безопасное хранение.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Во время воспроизведения баланс недоступен.</string>\n  <string name=\"exchange_rates_activity_title\">Обменный курс</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Не удалось найти обменный курс.</string>\n  <string name=\"exchange_rates_fragment_default\">(по умолчанию)</string>\n  <string name=\"exchange_rates_fragment_rate\">курс</string>\n  <string name=\"exchange_rates_fragment_balance\">баланс</string>\n  <string name=\"exchange_rates_fragment_source\">Цена получена с %s</string>\n  <string name=\"exchange_rates_options_search\">Поиск обменного курса</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Ещё не получено Bitcoin-монет</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Ещё не отправлено Bitcoin-монет</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Как получить Биткоины?\\nПокупайте на обычные деньги,\\nпродавайте услуги или товары или\\nзарабатывайте.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Пожалуйста сделайте резервную копию кошелька\\nперед получением любых платежей!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Поздравляем, вы получили первый платёж! Вы уже &lt;u&gt;сделали резервную копию кошелька&lt;/u&gt;, чтобы обезопаситься от потерь?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Подсказка: для улучшения безопасности вашего кошелька вы можете &lt;u&gt;зашифровать ваше устройство&lt;/u&gt;. Это также защитит данные других приложений.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Сеть Биткойн в данный момент на техобслуживании. Советуем не переводить и не получать биткойны до его окончания. &lt;u&gt; Подробнее.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">добыто</string>\n  <string name=\"wallet_transactions_fragment_internal\">внутренний</string>\n  <string name=\"wallet_transactions_options_filter\">Фильтр</string>\n  <string name=\"wallet_transactions_options_filter_all\">Все выплаты</string>\n  <string name=\"wallet_transactions_options_filter_received\">Полученные выплаты</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Отправленные выплаты</string>\n  <string name=\"wallet_options_request_legacy\">Запрос на устаревший адрес</string>\n  <string name=\"wallet_options_safety_menu\">Безопасность</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Установить ПИН</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Изменить ПИН</string>\n  <string name=\"wallet_options_safety\">Заметки по безопасности</string>\n  <string name=\"wallet_options_technical_notes_title\">Технические детали</string>\n  <string name=\"wallet_options_donate\">Пожертвовать</string>\n  <string name=\"wallet_donate_address_label\">Пожертвование для Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Предупреждение о безопасности</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Bluetooth модуль вашего устройства подвержен уязвимости. Ваши биткойны на этом устройстве находятся в опасности, вне зависимости от того, какое приложение используемого для их хранения!\\n\\nМы предлагаем вам немедленно выключить Bluetooth и проверить, есть ли у разработчика вашего устройства обновление Android, реализующее исправление безопасности \\'%s\\' или более позднее.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Мало места во внутреннем хранилище!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet использует внутреннее хранилище для транзакций и блогов. Если оно переполнится, кошелек перестанет работать и вы рискуете потерять монеты!\\n\\nХотите открыть Application Manager и деинсталлировать ненужные приложения?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Управлять приложениями</string>\n  <string name=\"wallet_timeskew_dialog_title\">Проверьте дату &amp; в настройках времени</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Ваше устройство выключено %d минут. Возможно, из-за этого Вы не можете отправлять и получать Bitcoin.\\n\\nПроверьте и исправте при необходимости настройки даты, времени и часового пояса.</string>\n  <string name=\"wallet_version_dialog_title\">Доступна новая версия!</string>\n  <string name=\"wallet_version_dialog_msg\">Эта версия исправляет существенные ошибки. Подробности — по ссылке %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Если вы не видите обновления, это означает, что ваша версия Android больше не поддерживается.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Скачать</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Версия для Android устарела</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Ваше устройство скорее всего не будет поддерживаться следующей версией Bitcoin Wallet. В некоторых случаях, это может затруднить отправку с него монет.\\n\\nРекомендуется перенести монеты на другое устройство, если вы не уверены что можете с этим справиться.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Проблема с открытием настроек</string>\n  <string name=\"send_coins_activity_title\">Отправка Bitcoin</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Получение подписи %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Не удалось получить запрос платежа</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Получатель (%1$s) использует несовместимый протокол (причина: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Неверная подпись!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">Проверяется: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">неизвестно</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Оплатить</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">введите адрес или имя</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Неправильный Bitcoin-адрес!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Вы отправляете самому себе!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">сложный\\nадрес</string>\n  <string name=\"send_coins_fragment_pending\">(%s ожидание подтверждения)</string>\n  <string name=\"send_coins_fragment_amount_label\">Величина оплаты</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">\\\"Экономный\\\" сбор за транзакцию размером %s будет уплачен. Используйте \\\"экономный сбор\\\" только если Вам не важно время подтверждения транзакции.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Плата за транзакцию в размере %s будет заплачена.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">\\\"Приоритетная\\\" плата за транзакцию размером %s будет заплачена. Используйте \\\"приоритетную плату\\\" только если Вам важно получить подтверждение транзакции как можно скорее.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Сумма слишком мала для отправки.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Недостаточно монет. Не хватает %s.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Количество дробных монет в вашем кошельке недостаточно для осуществления платежа.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">В момент повтора платежи не возможны.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Отправить платеж непосредственно получателю.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Платеж был успешно отправлен получателю.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Ваш платеж через прямое подключение был отклонен.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Возникла ошибка при проведении прямой оплаты</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Ваш платеж будет транслироваться через P2P-сети.</string>\n  <string name=\"send_coins_fragment_button_send\">Отправить</string>\n  <string name=\"send_coins_fragment_button_back\">Назад</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Значительная сетевая оплата</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Оплата этой транзакции (%1$s) высока по отношению к сумме платежа (%2$s). Все равно отправить?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Недостаточно монет</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Вы упускаете %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Вы хотите оплатить всем, что у вас есть?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Не удалось опустошить кошелек</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Расшифровка…</string>\n  <string name=\"send_coins_preparation_msg\">Подписываю…</string>\n  <string name=\"send_coins_sending_msg\">Отправка…</string>\n  <string name=\"send_coins_sent_msg\">Отправлено!</string>\n  <string name=\"send_coins_failed_msg\">Не удалось!</string>\n  <string name=\"send_coins_error_msg\">Проблема с отправкой монет!</string>\n  <string name=\"send_coins_options_fee_category\">Взнос</string>\n  <string name=\"send_coins_options_fee_category_economic\">Экономный</string>\n  <string name=\"send_coins_options_fee_category_normal\">Нормальный</string>\n  <string name=\"send_coins_options_fee_category_priority\">Приоритетный</string>\n  <string name=\"send_coins_options_empty\">Опустошить кошелёк</string>\n  <string name=\"raise_fee_dialog_title\">Увеличить комиссию сети</string>\n  <string name=\"raise_fee_dialog_message\">Увеличить комиссию для этого платежа на %s? Платёж будет подтверждён быстрее.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Определяем размер платы за транзакцию…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Плата за транзакцию для этого платежа не может быть увеличена.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Расшифровка…</string>\n  <string name=\"raise_fee_dialog_state_done\">Готово.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Увеличить</string>\n  <string name=\"sweep_wallet_activity_title\">Забрать с бумажного кошелька</string>\n  <string name=\"sweep_wallet_fragment_intro\">Вы собираетесь забрать с бумажного кошелька или купона. Это перенесет все монеты с бумаги на ваш кошелек на этом устройстве. Когда эта транзакция пройдет, бумажный носитель будет бесполезен и не должен быть повторно использован в целях безопасности.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Бумажные кошельки наиболее часто используются для холодного хранения. Некоторые банкоматы печатают их на бумаге, а не посылают монеты на мобильное устройство напрямую. Некоторые люди используют предварительно заряженные бумажные кошельки чтобы передавать монеты. (это не рекомендуется)</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Для начала отсканируйте частный ключ напечатанный на бумажном кошельке. Используйте кнопку \\\"Камера\\\"</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Этот личный ключ защищён паролем.</string>\n  <string name=\"sweep_wallet_fragment_password\">пароль</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">неверный пароль!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Баланс для сканирования</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Расшифровать</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Сканировать</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Расшифровка…\\nМожет занять до 2-х минут.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Загружаю баланс…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Загрузка баланса кошелька прошла с ошибкой</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">У вас плохое соединение с сетью Electrum.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Бумажный кошелек пуст.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Недостаточно монет</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Количество монет слишком мало для сканирования этого кошелька.</string>\n  <string name=\"sweep_wallet_options_reload\">Перезагрузить баланс</string>\n  <string name=\"maintenance_dialog_title\">Поддержка рекомендуется</string>\n  <string name=\"maintenance_dialog_message\">Вы приняли %1$s на небезопасные адреса. Хотите переместить монеты на безопасные адреса? Будет уплачена небольшая комиссия - %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Расшифровка…</string>\n  <string name=\"maintenance_dialog_state_done\">Готово.</string>\n  <string name=\"maintenance_dialog_button_move\">Переместить</string>\n  <string name=\"request_coins_activity_title\">Запросить Bitcoin-монеты</string>\n  <string name=\"request_coins_fragment_amount_label\">Запрашиваемая сумма (опционально)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Приём платежей через Bluetooth для более надежной обработки транзакции</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Пусть отправитель отсканирует этот код.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Или коснитесь устройства с поддержкой NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">Запрос получения Bitcoin-монет скопирован</string>\n  <string name=\"request_coins_share_dialog_title\">Поделиться запросом Bitcoin-монет…</string>\n  <string name=\"request_coins_no_local_app_msg\">Не найдено других Bitcoin приложений</string>\n  <string name=\"request_coins_options_local_app_title\">Запрос от локального приложения</string>\n  <string name=\"address_book_activity_title\">Адресная книга</string>\n  <string name=\"address_book_list_receiving_title\">Ваши адреса</string>\n  <string name=\"address_book_list_receiving_random\">Старые адреса</string>\n  <string name=\"address_book_list_sending_title\">Адреса отправки</string>\n  <string name=\"address_book_empty_text\">Адресная книга пуста</string>\n  <string name=\"address_book_context_send_title\">Отправить монеты на адрес</string>\n  <string name=\"address_book_context_edit_title\">Изменить адрес</string>\n  <string name=\"address_book_context_remove_title\">Удалить адрес</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Скопировать в буфер обмена</string>\n  <string name=\"address_book_options_scan_title\">Сканировать адрес</string>\n  <string name=\"address_book_options_scan_invalid\">Данные сканирования неузнаваемым</string>\n  <string name=\"address_book_options_scan_own_address\">Отсканированный адрес принадлежит вам.</string>\n  <string name=\"address_book_row_message_compromised_key\">Этот адрес мог быть скомпрометирован. Не используйте его больше для получения средств.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Добавить адрес</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Изменить адрес</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Добавить метку для вашего адреса</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Изменить метку вашего адреса</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Адрес</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Имя</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Сохранить</string>\n  <string name=\"transaction_row_fee\">Комиссия сети</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Этот платёж ещё не был передан в сеть.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">Этот платеж был зачислен на ваш кошелек.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Ваш платеж прошел успешно. Дошел до получателя.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">Этот платеж не прошел.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Ваш платеж не прошел.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Эта транзакция защищает ваш кошелек от воровства. &lt;u&gt;Подробнее.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Эта транзакция увеличит комиссию за предыдущий платёж.</string>\n  <string name=\"transaction_row_message_received_direct\">Этот платеж был проведен напрямую. Существует риск того, что вы никогда не сможете потратить полученные средства.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Подтверждение этого платежа задерживается, возможно, из-за перегрузки сети Bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Этот платёж должен стать доступным через несколько минут.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Из-за техобслуживания сети Биткойн данная транзакция не будет произведена пока полностью не подтверждена.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Этот платёж с высокой вероятностью может быть отменён отправителем! Если можете, подождите подтверждения.</string>\n  <string name=\"transaction_row_message_received_dead\">Этот платёж был отменён отправителем.</string>\n  <string name=\"transaction_row_message_received_dust\">Столь малая сумма, скорее всего, никогда не будет потрачена экономически.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Этот платеж посылает средства на много кошельков, что затрудняет его обработку. По возможности, платеж должны идти только на ваш адрес.</string>\n  <string name=\"transaction_row_message_received_rbf\">Этот платёж был задержан, потому что отправитель использовал небезопасный тип транзакции.</string>\n  <string name=\"network_monitor_activity_title\">Сетевой монитор</string>\n  <string name=\"network_monitor_peer_list_title\">Узлы</string>\n  <string name=\"network_monitor_block_list_title\">Блоки</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Корректировка сложности майнинга</string>\n  <string name=\"block_row_mining_reward_adjustment\">Уполовинивание награды за майнинг</string>\n  <string name=\"block_row_now\">сейчас</string>\n  <string name=\"peer_list_fragment_empty\">Нет подключений</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;мс</string>\n  <string name=\"import_keys_dialog_title\">Восстановить кошелек</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Вы собираетесь заменить текущий кошелек. Любые монеты в текущем кошельке будут потеряны, если у вас нет отдельной резервной копии.</string>\n  <string name=\"import_keys_dialog_warning\">Важно: Не загружать приватные ключи из сомнительных источников! Злоумышленники могут получить доступ над вашими средствами.</string>\n  <string name=\"import_keys_dialog_button_import\">Восстановить</string>\n  <string name=\"restore_wallet_dialog_success\">Кошелек был восстановлен.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Ваш кошелек успешно восстановлен. Сейчас определится его баланс. Это может занять какое-то время.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">ВНИМАНИЕ! Ваш кошелек защищен с помощью PIN кода. Убедитесь что Вы помните его.</string>\n  <string name=\"import_keys_dialog_failure\">Кошелек не может быть восстановлен:\\n\\n%s\\n\\nПроверьте правильность набора пароля.</string>\n  <string name=\"export_keys_dialog_title\">Резервная копия кошелька</string>\n  <string name=\"backup_wallet_dialog_message\">Резервная копия будет зашифрована выбранным паролем и записана на внешнее хранилище.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Ваш кошелек защищен ПИН кодом. Запомните ваш ПИН и пароль для восстановления резервной копии.</string>\n  <string name=\"export_keys_dialog_button_export\">Резервная копия</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Успешно создана резервная копия вашего кошелька в <tt>%s</tt></p><p><b>Если резервная копия хранится только на вашем устройстве, вы рискуете потерять ее одновременно вместе с кошельком!</b></p><p>В любом случае убедитесь, что вы запомнили/записали пароль от резервной копии.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Не удается создать резервную копию кошелька:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">пароль</string>\n  <string name=\"backup_wallet_dialog_password_again\">Снова</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">несовпадают!</string>\n  <string name=\"import_export_keys_dialog_show\">Показать пароль</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Ошибка</string>\n  <string name=\"import_keys_intent_filter_action\">Восстановить кошелек</string>\n  <string name=\"encrypt_keys_dialog_title\">ПИН код</string>\n  <string name=\"encrypt_keys_dialog_message\">Отправка денег из вашего кошелька будет защищена выбранным вами ПИН кодом.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Важно: Не используйте в качестве ПИНа легко вычисляемое сочетание (дни рождения и т.п.)</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Старый ПИН</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">слабый</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">так себе</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">нормальный</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">сильный</string>\n  <string name=\"encrypt_keys_dialog_show\">Показать ПИН</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Шифрование…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Расшифровка…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Готово.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Извините</string>\n  <string name=\"scan_camera_problem_dialog_message\">Проблема с камерой. Возможно, вам нужно перезагрузить устройство.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Доступ к камере</string>\n  <string name=\"scan_camera_permission_dialog_message\">Чтобы сканировать QR-коды, вы должны разрешить использовать камеру.</string>\n  <string name=\"input_parser_io_error\">Не могу считать данные:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Не могу распознать ввод:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Неверный Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Неверный адрес Bitcoin!\\n(Путаем основную сеть с тестовой?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Не могу проверить платежный запрос:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Неверный платежный запрос:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Некорректная транзакция:\\n%s</string>\n  <string name=\"preferences_activity_title\">Настройки</string>\n  <string name=\"preferences_category_diagnostics\">Диагностика</string>\n  <string name=\"preferences_category_labs\">Лаборатория</string>\n  <string name=\"preferences_precision_title\">Деноминация и точность</string>\n  <string name=\"preferences_precision_summary\">Единицы, в которых отображаются суммы. Не влияет на вычисления.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 десятичных разрядов</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 десятичных разрядов</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 десятичных разряда</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 десятичных разряда</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, без десятичных разрядов</string>\n  <string name=\"preferences_own_name_title\">Собственное название</string>\n  <string name=\"preferences_own_name_summary\">Ваше имя для добавления в запросы платежей. Желательно, покороче.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Автоматически закрывать диалог отправки монет</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Закрывать диалог автоматически после платежа.</string>\n  <string name=\"preferences_trusted_peer_title\">Доверенный узел</string>\n  <string name=\"preferences_trusted_peer_summary\">IP или имя хоста одного участника для подключения</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Определение имени…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Неизвестное имя хоста!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Не искать узлы в сети</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Предотвращает подключение к любым участникам, кроме доверенного.</string>\n  <string name=\"preferences_block_explorer_title\">Обозреватель блоков</string>\n  <string name=\"preferences_block_explorer_summary\">Внешний обозреватель блоков для просмотра транзакций, адресов и блоков.</string>\n  <string name=\"preferences_data_usage_title\">Использование данных</string>\n  <string name=\"preferences_data_usage_summary\">Показать опции ограничения использования данных в мобильных сетях.</string>\n  <string name=\"preferences_notifications_title\">Уведомления</string>\n  <string name=\"preferences_remind_balance_title\">Напоминание баланса</string>\n  <string name=\"preferences_remind_balance_summary\">Если приложение не использовалось несколько недель, вам придёт напоминание, если в бумажнике есть монеты.</string>\n  <string name=\"preferences_show_disclaimer_title\">Показать отказ от ответственности</string>\n  <string name=\"preferences_show_disclaimer_summary\">Вы действительно прочитали заметки о безопасности? Вы уже храните резервную копию кошелька в безопасном месте?</string>\n  <string name=\"preferences_report_issue_title\">Сообщить о проблеме</string>\n  <string name=\"preferences_initiate_reset_title\">Перегрузить блокчейн</string>\n  <string name=\"preferences_initiate_reset_summary\">Обнуление цепочки блоков, транзакций и баланса кошелька. Восстановление займет некоторое время. Делайте, если знаете для чего Вы это делаете.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Желаете сбросить и загрузить снова цепочку блоков?\\n\\nБаланс кошелька и транзакции будут временно скрыты и восстановлены только в процессе синхронизации цепочки блоков. Убедитесь что Вы имеете надежное Интернет-соединение.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Сброс</string>\n  <string name=\"preferences_extended_public_key_title\">Показать extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Просмотр расширенного открытого ключа вашего кошелька может быть полезен для импортирования в другие приложения и услуги. Будьте осторожны: делая так вы раскрываете ваш приватный счет.</string>\n  <string name=\"bitmap_fragment_share\">Рассказать…</string>\n  <string name=\"extended_public_key_fragment_title\">Расширенный  публичный ключ</string>\n  <string name=\"extended_public_key_fragment_share\">Поделиться extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Сообщить о проблеме</string>\n  <string name=\"report_issue_dialog_title_crash\">Обнаружено аварийное завершение</string>\n  <string name=\"report_issue_dialog_title_transaction\">Отчет по выбранному платежу</string>\n  <string name=\"report_issue_dialog_message_issue\">Пожалуйста опишите запрос как можно точнее. Желательно на английском языке.</string>\n  <string name=\"report_issue_dialog_message_crash\">Хотите отправить отчет об ошибке, тем самым помогая исправить эту проблему в будущем?</string>\n  <string name=\"report_issue_dialog_description\">описание проблемы</string>\n  <string name=\"report_issue_dialog_report\">Отчет</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Добавить информацию об устройстве</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Добавить лог приложения</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Добавить дамп памяти кошелька</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Отправить отчет используя…</string>\n  <string name=\"about_title\">О программе</string>\n  <string name=\"about_version_title\">Версия</string>\n  <string name=\"about_version_apk_hash_title\">SHA256 хэш код от APK</string>\n  <string name=\"about_copyright_title\">Авторское право</string>\n  <string name=\"about_license_title\">Лицензия</string>\n  <string name=\"about_source_title\">Исходный код</string>\n  <string name=\"about_category_credits\">Это приложение использует…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, реализация протокола Bitcoin</string>\n  <string name=\"about_credits_zxing_title\">ZXing, библиотека обработки QR-кодов</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, криптографическая библиотека</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, библиотека для работы клиента HTTP</string>\n  <string name=\"about_credits_moshi_title\">Moshi, библиотека JSON </string>\n  <string name=\"about_credits_guava_title\">Guava, коллекция полезных вспомогательных инструментов</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, фреймворк для логов</string>\n  <string name=\"about_market_app_title\">%s стр.</string>\n  <string name=\"about_market_app_summary\">Напишите отзыв или оцените приложение</string>\n  <string name=\"about_faq_title\">ЧаВо</string>\n  <string name=\"about_faq_summary\">Частые вопросы по приложению</string>\n  <string name=\"notification_coins_received_msg\">Получено %s</string>\n  <string name=\"notification_peers_connected_msg\">подключено %d участников</string>\n  <string name=\"notification_inactivity_title\">У вас всё ещё есть биткоины на этом устройстве!</string>\n  <string name=\"notification_inactivity_message\">Внимание, ваш баланс %s будет потерян, если вы удалите Bitcoin Wallet до того, как перешлёте ваши средства.</string>\n  <string name=\"notification_inactivity_message_donate\">Если вам не нужны монеты, вы можете пожертвовать их проекту Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Напомнить позже</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Не напоминать</string>\n  <string name=\"notification_bluetooth_service_listening\">Готов принимать платежи через Bluetooth</string>\n  <string name=\"notification_channel_received_name\">Полученные выплаты</string>\n  <string name=\"notification_channel_ongoing_name\">Фоновая активность</string>\n  <string name=\"notification_channel_important_name\">Важные предупреждения</string>\n  <string name=\"appwidget_wallet_balance_title\">Баланс биткоинов</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Отклонить</string>\n  <string name=\"button_cancel\">Отмена</string>\n  <string name=\"button_retry\">Повторить</string>\n  <string name=\"button_help\">Помощь</string>\n  <string name=\"button_add\">Добавить</string>\n  <string name=\"button_delete\">Удалить</string>\n  <string name=\"button_set\">Установить</string>\n  <string name=\"button_remove\">Убрать</string>\n  <string name=\"button_edit\">Правка</string>\n  <string name=\"button_copy\">Копировать</string>\n  <string name=\"button_paste\">Вставить</string>\n  <string name=\"button_share\">Поделиться</string>\n  <string name=\"button_set_as_default\">Установить по умолчанию</string>\n  <string name=\"button_request_coins\">Запросить</string>\n  <string name=\"button_send_coins\">Отправить</string>\n  <string name=\"button_scan\">Сканировать</string>\n  <string name=\"button_settings\">Настройки</string>\n  <string name=\"action_show_qr\">Показать QR код</string>\n  <string name=\"action_browse\">Обзор</string>\n  <!--generic strings-->\n  <string name=\"time_today\">сегодня</string>\n  <string name=\"address_unlabeled\">(без метки)</string>\n  <string name=\"private_key_password\">ПИН</string>\n  <string name=\"private_key_bad_password\">ПИН не подходит!</string>\n  <string name=\"qr_code\">QR код</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Ошибка I/O: %s</string>\n  <string name=\"error_parse\">Ошибка обработки: %s</string>\n  <string name=\"error_http\">Ошибка HTTP %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Ошибка Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-ru/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tВерхняя левая часть экрана отображает ваш баланс в биткоинах и выбранной национальной валюте.\n\t\t\tНажмите для перехода к списку национальных валют, после чего нажмите на валюту для установки её по умолчанию.\n\t\t</p>\n\t\t<p>\n\t\t\tQR-код справа содержит ваш биткоин-адрес и может быть отсканирован для отправки вам средств.\n\t\t\tНажмите на QR-код для увеличения.\n\t\t</p>\n\t\t<p>\n\t\t\tВнизу экрана расположен список Ваших транзакций.\n\t\t\tИзначально он пуст и заполняется по мере поступления или отправки платежей\n\t\t\tПоступившие платежи отмечены зеленым цветом, отправленные - красным.\n\t\t</p>\n\t\t<p>\n\t\t\tВы можете отправлять или запрашивать монеты, нажимая кнопки на панели действий.\n\t\t\tДругие параметры доступны в меню опций.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tС помощью этого диалога Вы можете запросить перевод от другого пользователя.\n\t\t\tПлательщик должен иметь установленный бумажник Биткоин.\n\t\t</p>\n\t\t<p>\n\t\t\tСначала, Вы вводите сумму запрашиваемого перевода.\n\t\t</p>\n\t\t<p>\n\t\t\tЗатем, либо плательщик сканирует QR-код.\n\t\t\tЛибо, Вы отправляете запрос удаленному пользователю с помощью кнопки Поделиться на панели действий.\n\t\t\tЕсли оба телефона имеют функцию NFC, то Вы можете использовать ее, приложив телефоны друг к другу.\n\t\t</p>\n\t\t<p>\n\t\t\tТак или иначе, плательщик увидит диалог перевода с уже заполненными полями.\n\t\t\tЕсли плательщик согласен, Он или Она с легкостью выполнит платеж.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tВы начали процесс отправки Биткоинов.\n\t\t</p>\n\t\t<p>\n\t\t\tСперва введите Биткоин адрес получателя.\n\t\t\tАдрес будет автоматически заполнен на основе адресной книги.\n\t\t\tТакже Вы можете считать QR-код получателя нажатием кнопки камеры.\n\t\t</p>\n\t\t<p>\n\t\t\tДалее введите сумму перевода.\n\t\t</p>\n\t\t<p>\n\t\t\tЕсли PIN-код ограничения трат установлен - он должен быть введен.\n\t\t</p>\n\t\t<p>\n\t\t\tВы можете задать перевод пока Вы не подключены к сети.\n\t\t\tПлатеж будет отправлен при следующем запуске Кошелька.\n\t\t\tЕсли Вы желаете, чтобы транзакция была проведена как можно скорее, убедитесь в наличии стабильного подключения к интернету (например, с помощью Wi-Fi).\n\t\t</p>\n\t\t<p>\n\t\t\tВнимание:\n\t\t\tТранзакции не могут быть отменены!\n\t\t\tВсегда проверяйте адрес получателя.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Важная информация о безопасности:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tБиткоины в Кошельке хранятся непосредственно на устройстве.\n\t\t\t<b>Если Вы потеряете ваше устройство, вы потеряете Ваши Биткоины.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tЭто значит, что Вы должны <b>создавать резервную копию Кошелька</b>!\n\t\t\tДля этого используйте встроенную функцию Кошелька, а не сторонние приложения.\n\t\t\tХраните резервную копию в безопасном месте и помните пароль.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Перед удалением</b> (чисткой данных приложения или устройства), <b>переведите Выши Биткоины на другой Кошелек</b>.\n\t\t\tОставшиеся Биткоины будут утеряны.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Перевод нельзя отменить</b>.\n\t\t\tЕсли Вы переведете Ваши Биткоины на несуществующий адрес, практически нет возможности вернуть их.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Сохраняйте Ваше устройство в безопасности!</b>\n\t\t\tНе устанавливайте ROOT права.\n\t\t\tУстанавливайте только те приложения, которым полностью доверяете.\n\t\t\tЗлонамеренные приложения могут попытаться похитить Ваш кошелёк.\n\t\t</p>\n\t\t<p>\n\t\t\tНе слишком рискуйте!\n\t\t\t<b>Храните только необходимую сумму</b> на повседневные расходы.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_technical_notes\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Техническая информация:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tЯвляясь лёгким (с упрощенной проверкой платежей) кошельком, Bitcoin Wallet использует наиболее надежную (длинную) цепочку блоков из блокчейна биткоина.\n\t\t\tВы сможете принимать и отправлять платежи только в этой цепочке.\n\t\t\tНе возможно дать гарантий биткоинам в меньших (минорных) цепочках, так как эти цепочки менее защищены.\n\t\t</p>\n\t\t<p>\n\t\t\tВ прошлом минорные цепочки очень быстро теряли значение.\n\t\t\tЕсли вы все таки хотите использовать минорную цепочку блоков в любом случае, рекомендуем ипользовать опцию \\\"доверенный узел\\\" для прямого доступа к узлу bitcoind, который предоставит доступ к требуемой вам цепочке блоков.\n\t\t\tЕсли между вами и доверенным узлом нет безопасной сети, используйте VPN соединение с аутентификацией.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sk/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"toast_wallet_reset\">Peňaženka zresetovaná,\\nobnova chvíľu potrvá</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_safety\">Použitie na vlastné riziko. Viac informácií v sekcii &lt;u&gt;Bezpečnosť&lt;/u&gt;.</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_backup\">Je potrebné &lt;u&gt;zálohovať peňaženku&lt;/u&gt;!</string>\n\t<string name=\"blockchain_state_progress_hours\">%1$s, %2$d hodín pozadu</string>\n\t<string name=\"blockchain_state_progress_days\">%1$s, %2$d dní pozadu</string>\n\t<string name=\"blockchain_state_progress_weeks\">%1$s, %2$d týždňov pozadu</string>\n\t<string name=\"blockchain_state_progress_months\">%1$s, %2$d mesiacov pozadu</string>\n\t<string name=\"blockchain_state_progress_downloading\">Synchronizácia so sieťou</string>\n\t<string name=\"blockchain_state_progress_stalled\">Synchronizácia pozastavená</string>\n\t<string name=\"blockchain_state_progress_problem_storage\">Synchronizácia: Problém s dátovým úložiskom</string>\n\t<string name=\"blockchain_state_progress_problem_network\">Synchronizácia: Problém so sieťou</string>\n\t<string name=\"wallet_address_fragment_clipboard_msg\">Adresa skopírovaná do schránky</string>\n\t<string name=\"wallet_balance_fragment_replaying\">Zostatok je nedostupný počas synchronizácie.</string>\n\t<string name=\"exchange_rates_activity_title\">Výmenné kurzy</string>\n\t<string name=\"exchange_rates_fragment_default\">(predvolené)</string>\n\t<string name=\"exchange_rates_fragment_rate\">kurz</string>\n\t<string name=\"exchange_rates_fragment_balance\">zostatok</string>\n\t<string name=\"exchange_rates_fragment_source\">Cena získaná z %s</string>\n\t<string name=\"wallet_transactions_options_filter_received\">Prijaté</string>\n\t<string name=\"wallet_transactions_options_filter_all\">Všetky</string>\n\t<string name=\"wallet_transactions_options_filter_sent\">Odoslané</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_received\">Zatiaľ neboli prijaté žiadne Bitcoiny</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_sent\">Zatiaľ neboli odoslané žiadne Bitcoiny</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_howto\">Ako získať Bitcoiny?\\nVýmenou za tradičné peniaze,\\npredajom tovarov a služieb,\\nalebo prácou.</string>\n\t<string name=\"wallet_transactions_row_warning_backup\">Gratulujeme, obdržali ste svoju prvú platbu! Urobili ste &lt;u&gt;zálohu peňaženky&lt;/u&gt;, aby ste ju ochránili pred stratou?</string>\n\t<string name=\"wallet_transactions_fragment_coinbase\">vyťažené</string>\n\t<string name=\"wallet_transactions_fragment_internal\">vnútorné</string>\n\t<string name=\"wallet_options_safety\">Bezpečnosť</string>\n\t<string name=\"wallet_options_donate\">Prispieť</string>\n\t<string name=\"wallet_donate_address_label\">Prispieť na Bitcoin Wallet</string>\n\t<string name=\"wallet_low_storage_dialog_title\">Málo vnútornej pamäte!</string>\n\t<string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet používa vnútornú pamäť zariadenia na ukladanie transakcií a blokov. Ak pamäť dôjde, aplikácia prestane fungovať a vaše Bitcoiny budú ohrozené!\\n\\nChcete otvoriť správcu aplikácií pre odinštalovanie nepotrebných aplikácií?</string>\n\t<string name=\"wallet_low_storage_dialog_button_apps\">Spravovať aplikácie</string>\n\t<string name=\"wallet_timeskew_dialog_title\">Skontrolujte nastavenie času!</string>\n\t<string name=\"wallet_timeskew_dialog_msg\">Vaše zariadenie má posunutý čas o %d minúť. Pravdepodobne nemôže posielať a prijímať Bitcoiny kvôli tomuto problému.\\n\\nMali by ste skontrolovať a upraviť nastavenie času alebo časovej zóny.</string>\n\t<string name=\"wallet_version_dialog_title\">Je dostupná nová verzia!</string>\n\t<string name=\"wallet_version_dialog_msg\">Táto verzia opravuje kritické chyby. Pre viac informácií navštívte %s.</string>\n\t<string name=\"wallet_version_dialog_button_binary\">Stiahnuť</string>\n\t<string name=\"wallet_old_sdk_dialog_title\">Verzia vášho Androidu je zastaralá</string>\n\t<string name=\"wallet_old_sdk_dialog_message\">Je možné, že v novších verziách Bitcoin Wallet už nebude podporované vaše zariadenie. V určitých prípadoch môže byť obtiažne minúť Bitcoiny z tohto zariadenia.\\n\\nJe odporúčané presunúť Bitcoiny z tohto zariadenia.</string>\n\t<string name=\"send_coins_activity_title\">Poslať Bitcoiny</string>\n\t<string name=\"send_coins_fragment_request_payment_request_progress\">Získavanie podpisu z %s...</string>\n\t<string name=\"send_coins_fragment_request_payment_request_failed_title\">Získavanie podpisu zlyhalo</string>\n\t<string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Nesprávny podpis!</string>\n\t<string name=\"send_coins_fragment_payee_verified_by\">verifikované: %s</string>\n\t<string name=\"send_coins_fragment_payee_verified_by_unknown\">neznáme</string>\n\t<string name=\"send_coins_fragment_receiving_address_label\">Zaplatiť</string>\n\t<string name=\"send_coins_fragment_receiving_address_hint\">zadajte adresu alebo názov</string>\n\t<string name=\"send_coins_fragment_receiving_address_error\">Nesprávna Bitcoin adresa!</string>\n\t<string name=\"send_coins_fragment_receiving_address_complex\">komplexná\\nadresa</string>\n\t<string name=\"send_coins_fragment_pending\">(%s čaká na potvrdenie)</string>\n\t<string name=\"send_coins_fragment_amount_label\">Suma</string>\n\t<string name=\"send_coins_fragment_direct_payment_enable\">Odoslať platbu priamo príjemcovi.</string>\n\t<string name=\"send_coins_fragment_direct_payment_ack\">Platba bola úspešne odoslaná priamo príjemcovi.</string>\n\t<string name=\"send_coins_fragment_direct_payment_nack\">Platba cez priame spojenie bola zamietnutá.</string>\n\t<string name=\"send_coins_fragment_direct_payment_failed_title\">Priama platba zlyhala</string>\n\t<string name=\"send_coins_fragment_direct_payment_failed_msg\">Platba bude odoslaná cez P2P sieť.</string>\n\t<string name=\"send_coins_fragment_button_send\">Odoslať</string>\n\t<string name=\"send_coins_fragment_button_back\">Späť</string>\n\t<string name=\"send_coins_fragment_insufficient_money_title\">Nedostatočné množstvo dostupných Bitcoinov</string>\n\t<string name=\"send_coins_fragment_insufficient_money_msg1\">Chýba %s.</string>\n\t<string name=\"send_coins_fragment_insufficient_money_msg2\">Chcete zaplatiť všetkými dostupnými Bitcoinmi?</string>\n\t<string name=\"send_coins_preparation_msg\">Pripravujem…</string>\n\t<string name=\"send_coins_sending_msg\">Odosielam…</string>\n\t<string name=\"send_coins_sent_msg\">Odoslané!</string>\n\t<string name=\"send_coins_failed_msg\">Zlyhalo!</string>\n\t<string name=\"send_coins_error_msg\">Problém pri odosielaní!</string>\n\t<string name=\"send_coins_options_empty\">Vyprázdniť peňaženku</string>\n\t<string name=\"request_coins_activity_title\">Vyžiadať Bitcoiny</string>\n\t<string name=\"request_coins_fragment_amount_label\">Vyžadovaná suma (nepovinné)</string>\n\t<string name=\"request_coins_fragment_initiate_request_qr\">Dejte odosielateľovi oskenovať tento kód.</string>\n\t<string name=\"request_coins_fragment_initiate_request_nfc\">Alebo stlačte, ak vaše zariadenie podporuje NFC.</string>\n\t<string name=\"request_coins_clipboard_msg\">Požiadavka na platbu skopírovaná do schránky</string>\n\t<string name=\"request_coins_share_dialog_title\">Zdieľať požiadavku na Bitcoiny…</string>\n\t<string name=\"request_coins_options_local_app_title\">Vyžiadať z lokálnej aplikácie</string>\n\t<string name=\"address_book_activity_title\">Adresár</string>\n\t<string name=\"address_book_list_receiving_title\">Vaše adresy</string>\n\t<string name=\"address_book_list_sending_title\">Zoznam adries</string>\n\t<string name=\"address_book_empty_text\">Žiadny záznam v adresári</string>\n\t<string name=\"address_book_context_send_title\">Odoslať Bitcoiny na adresu</string>\n\t<string name=\"address_book_context_edit_title\">Upraviť adresu</string>\n\t<string name=\"address_book_context_remove_title\">Odstrániť adresu</string>\n\t<string name=\"address_book_context_copy_to_clipboard_title\">Skopírovať do schránky</string>\n\t<string name=\"address_book_options_scan_title\">Skenovať adresu</string>\n\t<string name=\"address_book_options_scan_invalid\">Skenované dáta nebolo možné rozpoznať</string>\n\t<string name=\"address_book_row_message_compromised_key\">Táto adresa môže byť ohrozená. Nemali by ste ju už používať na prijímanie Bitcoinov.</string>\n\t<string name=\"edit_address_book_entry_dialog_title_add\">Pridať adresu</string>\n\t<string name=\"edit_address_book_entry_dialog_title_edit\">Upraviť adresu</string>\n\t<string name=\"edit_address_book_entry_dialog_address_label\">Adresa</string>\n\t<string name=\"edit_address_book_entry_dialog_label_label\">Názov</string>\n\t<string name=\"edit_address_book_entry_dialog_button_edit\">Uložiť</string>\n\t<string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Táto platba ešte nebola odoslaná.</string>\n\t<string name=\"transaction_row_message_purpose_key_rotation\">Táto operácia zvyšuje ochranu proti vykradnutiu peňaženky. &lt;u&gt;Viac informácií.&lt;/u&gt;</string>\n\t<string name=\"transaction_row_message_received_direct\">Táto platba bola prijatá priamo. Existuje určité riziko, že sa nikdy nebude dať minúť.</string>\n\t<string name=\"transaction_row_message_received_unconfirmed_unlocked\">Táto platba by mala byť potvrdená za pár minút.</string>\n\t<string name=\"transaction_row_message_received_dead\">Táto platba bola zrušená odosielateľom.</string>\n\t<string name=\"transaction_row_message_received_dust\">Takéto malé množstvo zrejme nebude možné minúť.</string>\n\t<string name=\"network_monitor_activity_title\">Stav siete</string>\n\t<string name=\"network_monitor_peer_list_title\">Uzly</string>\n\t<string name=\"network_monitor_block_list_title\">Bloky</string>\n\t<string name=\"peer_list_fragment_empty\">Žiadny uzol nie je pripojený</string>\n\t<string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n\t<string name=\"import_keys_dialog_title\">Obnoviť privátne kľúče</string>\n\t<string name=\"import_keys_dialog_button_import\">Obnoviť</string>\n\t<string name=\"import_keys_dialog_failure\">Privátne kľúče sa nepodarilo obnoviť:\\n\\n%s\\n\\nNesprávne heslo?</string>\n\t<string name=\"export_keys_dialog_title\">Zálohovať privátne kľúče</string>\n\t<string name=\"backup_wallet_dialog_message\">Privátne kľúče budú zašifrované zvoleným heslom a uložené na externú pamäť.</string>\n\t<string name=\"export_keys_dialog_button_export\">Zálohovať</string>\n\t<string name=\"export_keys_dialog_success\">Privátne kľúče boli zálohované do \\n\\n%s\\n\\nDržte ich v bezpečí, a taktiež držte v bezpečí vaše heslo!</string>\n\t<string name=\"export_keys_dialog_failure\">Vaše privátne kľúče sa nepodarilo zálohovať:\\n%s</string>\n\t<string name=\"import_export_keys_dialog_password\">heslo</string>\n\t<string name=\"import_export_keys_dialog_show\">Zobraziť heslo</string>\n\t<string name=\"import_export_keys_dialog_failure_title\">Chyba</string>\n\t<string name=\"import_keys_intent_filter_action\">Obnovenie kľúča</string>\n\t<string name=\"scan_camera_problem_dialog_title\">Ospravedlňujeme sa</string>\n\t<string name=\"scan_camera_problem_dialog_message\">Problém s fotoaparátom. Pravdepodobne je potrebný reštart zariadenia.</string>\n\t<string name=\"input_parser_io_error\">Nepodarilo sa prečítať:\\n%s</string>\n\t<string name=\"input_parser_cannot_classify\">Nepodarilo sa zaradiť vstup:\\n%s</string>\n\t<string name=\"input_parser_invalid_bitcoin_uri\">Neplatná Bitcoin URI:\\n%s</string>\n\t<string name=\"input_parser_invalid_address\">Neplatná Bitcoin adresa!\\n(Zamenené Mainnet/Testnet?)</string>\n\t<string name=\"input_parser_invalid_paymentrequest\">Neplatná žiadosť o platbu:\\n%s</string>\n\t<string name=\"input_parser_invalid_transaction\">Neplatná transakcia:\\n%s</string>\n\t<string name=\"preferences_activity_title\">Nastavenia</string>\n\t<string name=\"preferences_category_diagnostics\">Diagnostika</string>\n\t<string name=\"preferences_category_labs\">Labs</string>\n\t<string name=\"preferences_precision_title\">Jednotka a presnosť</string>\n\t<string name=\"preferences_precision_summary\">Jednotka pre zobrazenie sumy. Neovplyvňuje výpočty.</string>\n\t<string name=\"preferences_trusted_peer_title\">Dôveryhodný uzol</string>\n\t<string name=\"preferences_trusted_peer_summary\">IP alebo názov uzla na pripojenie.</string>\n\t<string name=\"preferences_trusted_peer_only_title\">Preskočiť pravidelné hľadanie uzlov</string>\n\t<string name=\"preferences_trusted_peer_only_summary\">Zabráni pripájaniu k iným ako dôveryhodným uzlom.</string>\n\t<string name=\"preferences_data_usage_title\">Využitie dát</string>\n\t<string name=\"preferences_data_usage_summary\">Zobraziť možnosti na zabránenie využívaniu dát na mobilných sieťach.</string>\n\t<string name=\"preferences_report_issue_title\">Nahlásiť problém</string>\n\t<string name=\"preferences_initiate_reset_title\">Resetovať block chain</string>\n\t<string name=\"preferences_initiate_reset_summary\">Resetovať block chain, transakcie a zostatok v peňaženke. Opätovné načítanie bude chvíľu trvať.</string>\n\t<string name=\"preferences_initiate_reset_dialog_message\">Chcete resetovať a znovu načítať block chain?\\n\\nTáto operácia dočasne skryje zostatok a transakcie vo vašej peňaženke. Oboje sa opäť obnoví, keď sa block chain synchronizuje.</string>\n\t<string name=\"preferences_initiate_reset_dialog_positive\">Reset</string>\n\t<string name=\"report_issue_dialog_title_issue\">Nahlásiť problém</string>\n\t<string name=\"report_issue_dialog_title_crash\">Zistené predchádzajúce zlyhanie aplikácie</string>\n\t<string name=\"report_issue_dialog_message_issue\">Prosím presne popíšte váš problém, aby ho vývojári vedeli zreprodukovať.</string>\n\t<string name=\"report_issue_dialog_message_crash\">Chcete odoslať správu o probléme a tým pomôcť opraviť tento problém?</string>\n\t<string name=\"report_issue_dialog_description\">popis problému</string>\n\t<string name=\"report_issue_dialog_report\">Odoslať</string>\n\t<string name=\"report_issue_dialog_collect_device_info\">Pripojiť informácie o zariadení</string>\n\t<string name=\"report_issue_dialog_collect_application_log\">Pripojiť aplikačný log</string>\n\t<string name=\"report_issue_dialog_collect_wallet_dump\">Pripojiť dáta peňaženky</string>\n\t<string name=\"report_issue_dialog_mail_intent_chooser\">Odoslať správu použitím…</string>\n\t<string name=\"about_title\">O aplikácií</string>\n\t<string name=\"about_license_title\">Licencia</string>\n\t<string name=\"about_category_credits\">Táto aplikácia používa…</string>\n\t<string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n\t<string name=\"about_credits_zxing_title\">ZXing</string>\n\t<string name=\"about_market_app_title\">%s stránka</string>\n\t<string name=\"about_market_app_summary\">Ohodnotiť aplikáciu</string>\n\t<string name=\"notification_coins_received_msg\">Prijaté %s</string>\n\t<string name=\"notification_peers_connected_msg\">%d pripojených uzlov</string>\n\t<!-- generic buttons -->\n\t<string name=\"button_ok\">OK</string>\n\t<string name=\"button_dismiss\">Zrušiť</string>\n\t<string name=\"button_cancel\">Zrušiť</string>\n\t<string name=\"button_retry\">Znova</string>\n\t<string name=\"button_help\">Nápoveda</string>\n\t<string name=\"button_add\">Pridať</string>\n\t<string name=\"button_delete\">Zmazať</string>\n\t<string name=\"button_edit\">Zmeniť</string>\n\t<string name=\"button_copy\">Kopírovať</string>\n\t<string name=\"button_paste\">Vložiť</string>\n\t<string name=\"button_share\">Zdieľať</string>\n\t<string name=\"button_set_as_default\">Nastaviť ako predvolené</string>\n\t<string name=\"button_request_coins\">Vyžiadať Bitcoiny</string>\n\t<string name=\"button_send_coins\">Odoslať Bitcoiny</string>\n\t<string name=\"button_scan\">Skenovať</string>\n\t<string name=\"button_settings\">Nastavenia</string>\n\t<string name=\"action_show_qr\">Ukáž QR kód</string>\n\t<string name=\"action_browse\">Otvoriť v prehliadači</string>\n\t<string name=\"time_today\">dnes</string>\n\t<string name=\"address_unlabeled\">(neoznačené)</string>\n\t<!-- generic error messages -->\n\t<string name=\"error_io\">I/O chyba: %s</string>\n\t<string name=\"error_http\">HTTP chyba %1$s:\\n%2$s</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sk/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tV ľavej hornej časti obrazovky je Vaša aktuálna Bitcoin adresa, túto adresu potrebuje poznať odosielateľ, aby Vám mohol poslať Bitcoiny.\n\t\t\tKliknutím na adresu ju môžte zmeniť.\n\t\t</p>\n\t\t<p>\n\t\t\tQR kód na pravej strane obsahuje Vašu Bitcoin adresu, odosielateľ ho môže jednoducho naskenovať.\n\t\t\tKliknite na QR kód, aby ste ho zväčšili.\n\t\t</p>\n\t\t<p>\n\t\t\tV strede obrazovky je zobrazený aktuálny zostatok.\n\t\t\tHodnota Vašich Bitcoinov je zobrazená aj v inej zvolenej mene.\n\t\t\tKliknutím na zostatok zobrazíte zoznam cudzích mien, následným kliknutím na menu ju môžte nastaviť ako predvolenú.\n\t\t</p>\n\t\t<p>\n\t\t\tV spodnej časti obrazovky sa nachádza zoznam transakcií. Zoznam je na začiatku prázdny.\n\t\t\tAktuálne prebiehajúce transakcie sú šedé, až kým nie sú potvrdené.\n\t\t\tKliknutím na transakciu môžete pridať danú adresu do adresára.\n\t\t</p>\n\t\t<p>\n\t\t\tKliknutím na tlačidlá naspodku môžte poslať alebo vyžiadať Bitcoiny.\n\t\t\tĎalšie možnosti sú v ponuke nastavení.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tNa tejto obrazovke môžete vyžiadať Bitcoiny od niekoho iného (kto má nainštalovanú aplikáciu Bitcoin Wallet).\n\t\t</p>\n\t\t<p>\n\t\t\tNajprv zadajte sumu Bitcoinov, ktoré chcete vyžiadať.\n\t\t</p>\n\t\t<p>\n\t\t\tPotom dajte druhej strane naskenovať vygenerovaný QR kód\n\t\t\talebo môžte svoju žiadosť poslať použitím tlačidla zdieľať.\n\t\t\tDruhá strana potom klikne na Bitcoin URL.\n\t\t</p>\n\t\t<p>\n\t\t\tV oboch prípadoch druhá strana uvidí predvyplnenú obrazovku na odosielanie Bitcoinov.\n\t\t\tAk s transakciou súhlasí, tak ju iba potvrdí.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tPráve ste začali proces odosielania Bitcoinov.\n\t\t\tDostali ste sa sem z hlavnej obrazovky alebo kliknutím na Bitcoin adresu v prehliadači.\n\t\t</p>\n\t\t<p>\n\t\t\tNajprv zadajte adresu, na ktorú chcete odoslať platbu.\n\t\t\tAk sa adresa nachádza v adresári, tak sa automaticky doplní.\n\t\t\tKliknutím na ikonu fotoaparátu môžete naskenovať QR kód s Bitcoin adresou alebo požiadavkou na zaplatenie.\n\t\t</p>\n\t\t<p>\n\t\t\tĎalej vidíte koľko Bitcoinov môžete aktuálne minúť.\n\t\t\tRozdiel medzi zostatkom na hlavnej obrazovke a počtom Bitcoinov, ktoré môžete minúť tvoria nepotvrdené transakcie.\n\t\t</p>\n\t\t<p>\n\t\t\tNakoniec zadajte sumu platby.\n\t\t</p>\n\t\t<p>\n\t\t\tMôžete zadať platbu aj keď ste v offline režime.\n\t\t\tPlatba bude odoslaná pri ďalšom spustení aplikácie.\n\t\t\tAk chcete, aby platba bola spracovaná v čo najkratšom čase, uistite sa že máte rýchle pripojenie (napríklad WiFi).\n\t\t</p>\n\t\t<p>\n\t\t\tPoznámka:\n\t\t\tTransakcie nie je možné stornovať!\n\t\t\tVždy skontrolujte adresu príjemcu.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Dôležité informácie o bezpečnosti:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoiny sú uložené na Vašom zariadení.\n\t\t\t<b>Ak zariadenie stratíte, prídete o všetky svoje Bitcoiny.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tTo znamená, že by ste mali <b>zálohovať svoju peňaženku</b>!\n\t\t\tVyužite funkciu zálohovania v tejto aplikácii, neodporúča sa na zálohovanie použiť aplikácie tretích strán.\n\t\t\tSvoju zálohu bezpečne uchovajte a nezabudnite heslo.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Pred odinštalovaním</b> (alebo vymazaním dát/obnovením továrenských nastavení), <b>odošlite svoje Bitcoiny do inej peňaženky</b>.\n\t\t\tInak o svoje Bitcoiny prídete.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Platby sa nedajú stornovať</b>.\n\t\t\tAk pošlete svoje Bitcoiny na nesprávnu adresu, je takmer nemožné získať ich späť.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Chráňte si svoje zariadenie!</b>\n\t\t\tNepoužívajte rootnuté zariadenie.\n\t\t\tInštalujte len aplikácie, ktorým dôverujete.\n\t\t\tŠkodlivé aplikácie sa môžu pokúsiť ukradnúť Vašu peňaženku.\n\t\t</p>\n\t\t<p>\n\t\t\tZnížte riziko na minimum!\n\t\t\t<b>Aplikáciu používajte len na malé sumy.</b>\n\t\t</p>\n\t]]>\n\t</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sl/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Denarnica je bila ponastavljena,\\nto bo trajalo nekaj časa.</string>\n  <string name=\"toast_start_external_document_failed\">Brskalnik za odpiranje zunanje vsebine ni nameščen.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Uporaba na lastno odgovornost. Preberite &lt;u&gt;navodila za varnost&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Napraviti morate &lt;u&gt;rezervno kopijo denarnice&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d ur zadaj</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dni zadaj</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d tednov zadaj</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d mesecev zadaj</string>\n  <string name=\"blockchain_state_progress_downloading\">Usklajevanje z omrežjem</string>\n  <string name=\"blockchain_state_progress_stalled\">Usklajevanje zaustavljeno</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Usklajevanje: težava s hrambo podatkov</string>\n  <string name=\"blockchain_state_progress_problem_network\">Usklajevanje: težava z omrežjem</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Naslov kopiran na odložišče</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Za zaščito vaše zasebnosti se bo prejemni naslov spremenil, ko nanj prejmete prvo plačilo.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Vaša naprava je stara in ni varna. Prosimo, uporabljajte jo le za majhne zneske.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Ta znesek je precej visok za prenašanje v žepu. Prosimo, prestavite ga na varnejše mesto.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Pregled stanja med ponastavitvijo ni mogoč.</string>\n  <string name=\"exchange_rates_activity_title\">Menjalni tečaji</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Ne najdem menjalnega tečaja.</string>\n  <string name=\"exchange_rates_fragment_default\">(privzeto)</string>\n  <string name=\"exchange_rates_fragment_rate\">tečaj</string>\n  <string name=\"exchange_rates_fragment_balance\">stanje</string>\n  <string name=\"exchange_rates_fragment_source\">Vir cene: %s</string>\n  <string name=\"exchange_rates_options_search\">Poišči menjalni tečaj</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Prejeli niste še nobenih novcev.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Poslali niste še nobenih novcev.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Kako do bitcoinov?\\nZamenjajte običajen denar zanje,\\nprodajte blago ali storitve,\\nali pa jih zaslužite z delom.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Prosimo, naredite varnostno kopijo denarnice, preen prejmete bitcoine!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Čestitke, prejeli ste prvo plačilo! Ste že napravili &lt;u&gt;rezervno kopijo ključev&lt;/u&gt; za zaščito pred izgubo novcev?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Naimg: za povečano varnost denarnice lahko &lt;u&gt;svojo napravo šifrirate&lt;/u&gt;. To zaščiti tudi podatke drugih aplikacij.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Na omrežju Bitcoin potekajo vzdrževalna dela. Svetujemo, da v tem času ne pošiljate ali prejemate sredstev. &lt;u&gt;Več informacij&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">narudarjeno</string>\n  <string name=\"wallet_transactions_fragment_internal\">notranji</string>\n  <string name=\"wallet_transactions_options_filter\">Filter</string>\n  <string name=\"wallet_transactions_options_filter_all\">Vsa nakazila</string>\n  <string name=\"wallet_transactions_options_filter_received\">Prejeto</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Poslano</string>\n  <string name=\"wallet_options_request_legacy\">Zahtevek na podedovan naslov</string>\n  <string name=\"wallet_options_safety_menu\">Varnost</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Nastavi PIN za pošiljanje</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Spremeni PIN za pošiljanje</string>\n  <string name=\"wallet_options_safety\">O varnosti</string>\n  <string name=\"wallet_options_technical_notes_title\">Tehnične opombe</string>\n  <string name=\"wallet_options_donate\">Donacije</string>\n  <string name=\"wallet_donate_address_label\">Donacija za Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Varnostno opozorilo</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Bluetooth-komponenta na vaši napravi je varnostno ranljiva. Bitcoini na tej napravi niso varni, ne glede na to, v kateri aplikaciji jih hranite!\\n\\nSvetujemo vam, da takoj izklopite Bluetooth in preverite, ali proizvajalec vaše naprave nudi posodobitev sistema Android, ki vsebuje varnostni popravek stopnje \\'%s\\' ali novejše.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Na notranjem pomnilniškem mediju zmanjkuje prostora!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet uporablja notranji pomnilnik, da si zapomni nakazila in bloke. Če tu zmanjka prostora, bo denarnica prenehala delovati in vaši novci bodo v nevarnosti!\\n\\nŽelite odpreti Application Manager, da boste lahko odstranili odvečne aplikacije?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Upravljanje z aplikacijami</string>\n  <string name=\"wallet_timeskew_dialog_title\">Preverite nastavitve časa!</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Čas na vaši napravi prehiteva ali zaostaja za %d minut. Zaradi tega verjetno ne morete prejemati ali pošiljati bitcoinov.\\n\\nProsimo, preverite in popravite svoje časovne nastavitve.</string>\n  <string name=\"wallet_version_dialog_title\">Na voljo je nova verzija!</string>\n  <string name=\"wallet_version_dialog_msg\">V tej verziji so popravljeni pomembni hrošči. Za podrobnosti glejte zgodovino sprememb na %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Če ne vidite nove verzije, vaša verzija Androida najbrž ni več podprta.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Prenos</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Verzija Androida je zastarela</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Možno je, da bližnja naslednja verzija aplikacije Bitcoin Wallet vaše naprave ne bo več podpirala. V nekaterih primerih bo potem lahko težko priti do novcev, ki jih imate shranjene tu.\\n\\nČe niste popolnoma prepričani, kaj počnete, svetujemo, da novce čim prej prenesete drugam.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Težava pri odpiranju nastavitev</string>\n  <string name=\"send_coins_activity_title\">Pošlji novce</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Pridobivam podpis od %s..</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Prenos zahtevka za plačilo je spodletel</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Prejmnik plačila (%1$s) uporablja nezdružljiv protokol za plačila (razlog: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Napačen podpis!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">preverjeno: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">neznano</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">V dobro</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">vpišite naslov ali ime</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Neveljaven naslov!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Pošiljate samemu sebi!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">kompleksen\\nnaslov</string>\n  <string name=\"send_coins_fragment_pending\">(%s čaka na potrditev)</string>\n  <string name=\"send_coins_fragment_amount_label\">Znesek za plačilo</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">Plačali boste varčno provizijo %s. Pomembno: uporabite \\\"varčno\\\" le, če vam čas potrditve ni važen.</string>\n  <string name=\"send_coins_fragment_hint_fee\">Plačana bo omrežna provizija %s.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">Plačana bo prednostna provizija %s. Če vam je pomembno, da so provizije nizke, uporabljajte prednostno samo, kadar potrebujete čimprejšnjo potrditev transakcije.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Znesek je prenizek za pošiljanje.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Vaše razpoložljivo dobroimetje je prenizko. Manjka vam %s. Razlog za to je lahko omrežna provizija.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Skupen znesek majhnih prejemkov v vaši denarnici ne zadostuje za pošiljanje.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Trenutno plačevanje ni mogoče, ker se izvaja ponovnen pregled verige.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Pošlji plačilo neposredno prejemniku</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Plačilo je bilo uspešno neposredno poslano.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Vaše plačilo je bilo prek neposredne povezave zavrnjeno.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Neposredno plačilo je spodletelo</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Vaše plačilo bo vseeno razposlano po vrstniškem omrežju.</string>\n  <string name=\"send_coins_fragment_button_send\">Pošlji</string>\n  <string name=\"send_coins_fragment_button_back\">Nazaj</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Nezanemarljiva omrežna provizija</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Omrežna provizija za to plačilo (%1$s) je visoka glede na znesek (%2$s). Želite vseeno poslati?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Premalo novcev na voljo</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Manjka vam %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Želite izprazniti denarnico?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Praznjenje denarnice je spodletelo</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Dešifriram…</string>\n  <string name=\"send_coins_preparation_msg\">Podpisujem…</string>\n  <string name=\"send_coins_sending_msg\">Pošiljam…</string>\n  <string name=\"send_coins_sent_msg\">Poslano!</string>\n  <string name=\"send_coins_failed_msg\">Spodletelo!</string>\n  <string name=\"send_coins_error_msg\">Težava pri pošiljanju novcev!</string>\n  <string name=\"send_coins_options_fee_category\">Provizija</string>\n  <string name=\"send_coins_options_fee_category_economic\">Varčna</string>\n  <string name=\"send_coins_options_fee_category_normal\">Običajna</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prednostna</string>\n  <string name=\"send_coins_options_empty\">Izprazni denarnico</string>\n  <string name=\"raise_fee_dialog_title\">Dvigni omrežno provizijo</string>\n  <string name=\"raise_fee_dialog_message\">Želite dvigniti omrežno provizijo tega plačila za %s? Na ta način se bo plačilo hitreje potrdilo.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Določanje omrežne provizije…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Omrežne provizije za to plačilo ni mogoče dvigniti.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Dešifriram…</string>\n  <string name=\"raise_fee_dialog_state_done\">Končano.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Povišaj</string>\n  <string name=\"sweep_wallet_activity_title\">Izprazni papirno denarnico</string>\n  <string name=\"sweep_wallet_fragment_intro\">Izpraznili boste papirno denarnico ali kupon. S tem se celoten znesek iz papirne denarnice prenese v denarnico na tej napravi. Ko bo transakcija potrjena, bo papirna denarnica izgubila vso vrednost in se iz varnostnih razlogov ne bi smela več uporabljati.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Papirne denarnice se najpogosteje uporabljajo za hladno hrambo. Poleg tega jih nekateri avtomati izdajajo namesto pošiljanja novcev neposredno v vašo napravo. Nekateri ljudje tudi uporabljajo napolnjene papirne denarnice za plačevanje (to ni priporočljivo).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Najprej fotografirajte zasebni ključ papirne denarnice. Pritisnite gumb za fotoaparat.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Ta zasebni ključ je zaščiten z geslom.</string>\n  <string name=\"sweep_wallet_fragment_password\">geslo</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">Napačno geslo!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Znesek za praznjenje</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Dešifriraj</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Izprazni</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Dešifiriram…\\nTo lahko traja do 2 minuti.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Nalagam stanje…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Nalaganje stanja denarnice spodletelo</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">Vaša povezava v omrežje Electrum je slaba.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">Ta papirna denarnica je prazna.</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Ni dovolj novcev</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Znesek v denarnici je prenizek za pošiljanje.</string>\n  <string name=\"sweep_wallet_options_reload\">Osveži stanje</string>\n  <string name=\"maintenance_dialog_title\">Priporočamo vzdrževanje</string>\n  <string name=\"maintenance_dialog_message\">Prejeli ste %1$s na naslove, ki niso varni. Želite prestaviti ta znesek na varne naslove? Plačana bo majhna omrežna provizija %2$s.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Dešifriram…</string>\n  <string name=\"maintenance_dialog_state_done\">Končano.</string>\n  <string name=\"maintenance_dialog_button_move\">Premakni</string>\n  <string name=\"request_coins_activity_title\">Zahtevaj novce</string>\n  <string name=\"request_coins_fragment_amount_label\">Znesek za plačilo (neobvezno)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Sprejmi plačilo prek Bluetootha za bolj zanesljivo procesiranje</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Pošiljatelj naj prečita to QR-kodo.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Lahko pa se dotaknete druge NFC-naprave.</string>\n  <string name=\"request_coins_clipboard_msg\">Zahtevek za plačilo skopiran na odložišče</string>\n  <string name=\"request_coins_share_dialog_title\">Posreduj zahtevek za plačilo…</string>\n  <string name=\"request_coins_no_local_app_msg\">Ne najdem druge bitcoin-aplikacije</string>\n  <string name=\"request_coins_options_local_app_title\">Plačaj iz druge aplikacije</string>\n  <string name=\"address_book_activity_title\">Imenik</string>\n  <string name=\"address_book_list_receiving_title\">Vaši naslovi</string>\n  <string name=\"address_book_list_receiving_random\">Stari naslovi</string>\n  <string name=\"address_book_list_sending_title\">Naslovi za pošiljanje</string>\n  <string name=\"address_book_empty_text\">V imeniku ni vnosov</string>\n  <string name=\"address_book_context_send_title\">Pošlji novce na naslov</string>\n  <string name=\"address_book_context_edit_title\">Uredi naslov</string>\n  <string name=\"address_book_context_remove_title\">Odstrani naslov</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopiraj na odložišče</string>\n  <string name=\"address_book_options_scan_title\">Prečitaj naslov</string>\n  <string name=\"address_book_options_scan_invalid\">Prečitani podatki niso prepoznavni</string>\n  <string name=\"address_book_options_scan_own_address\">Prečitani naslov pripada vam.</string>\n  <string name=\"address_book_row_current_address\">To je vaš trenutni premni naslov.</string>\n  <string name=\"address_book_row_message_compromised_key\">Ta naslov morda ni več varen. Ne uporabljajte ga več za prejemanje novcev.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Dodaj naslov</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Uredi naslov</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Dodaj oznako svojemu naslovu</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Uredi oznako naslova</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Naslov</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Ime</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Shrani</string>\n  <string name=\"transaction_row_fee\">Omrežna provizija</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">To plačilo še ni bilo oddano.</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">To plačilo je pripisano vaši denarnici.</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">Plačilo se je uspešno izvedlo. Sredstva so prispela k prejemniku.</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">To plačilo je spodletelo.</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">Vaše plačilo je spodletelo.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">To nakazilo je namenjeno zaščiti pred določeno vrsto kraje. &lt;u&gt;Več informacij.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Ta transakcija dviguje omrežno provizijo preteklega plačila.</string>\n  <string name=\"transaction_row_message_received_direct\">To plačilo je bilo prejeto neposredno. Obstaja tveganje, da ga ne boste nikoli mogli potrošiti.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Potrditev tega plačila zamuja, najbrž zaradi preobremenitve omrežja bitcoin.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Te prejete novce boste predvidoma lahko uporabili v nekaj minutah.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Zaradi vzdrževanja na omrežju bitcoin tej transakciji raje ne zaupajte, dokler ni zadostno potrjena.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">To plačilo nosi povečano tveganje preklica s strani pošiljatelja! Če morete, počakajte na potrditev.</string>\n  <string name=\"transaction_row_message_received_dead\">To plačilo je pošiljatelj storniral.</string>\n  <string name=\"transaction_row_message_received_dust\">Tega malega zneska najbrž nikoli ne boste mogli smiselno porabiti.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">To plačilo pošilja denar v več denarnic poleg vaše, kar sčasoma upočasni aplikacijo. Če je mogoče, skušajte prejemati plačila, ki pošiljajo denar le vam.</string>\n  <string name=\"transaction_row_message_received_rbf\">To plačilo zamuja, ker je pošiljatelj uporabil manj varno obliko transakcije.</string>\n  <string name=\"network_monitor_activity_title\">Pregled omrežja</string>\n  <string name=\"network_monitor_peer_list_title\">Vrstniki</string>\n  <string name=\"network_monitor_block_list_title\">Bloki</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Prilagoditev težavnosti rudarjenja</string>\n  <string name=\"block_row_mining_reward_adjustment\">Razpolovitev rudarske nagrade</string>\n  <string name=\"block_row_now\">pravkar</string>\n  <string name=\"peer_list_fragment_empty\">Nobenih povezanih vrstnikov</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d ms</string>\n  <string name=\"import_keys_dialog_title\">Obnovi denarnico</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Nadomestili boste svojo trenutno denarnico. Vsi novci, ki jih imate v trenutni denarnici, bodo izgubljeni, če nimate njihove rezervne kopije.</string>\n  <string name=\"import_keys_dialog_warning\">Pomembno: ne nalagajte zasebnih ključev, če ne zaupate njihovemu viru! V nasprotnem primeru lahko kdo drug zaseže vaše novce.</string>\n  <string name=\"import_keys_dialog_button_import\">Obnovi</string>\n  <string name=\"restore_wallet_dialog_success\">Denarnica je bila obnovljena.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Vaša denarnica je bila uspešno obnovljena. Naslednji korak je izračun stanja v denarnici. To bo trajalo nekaj časa.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Opozorilo: vaša denarnica je zaščitena s PIN-om za pošiljanje. Preden prejmete sredstva v to denarnico, preverite, da poznate ta PIN.</string>\n  <string name=\"import_keys_dialog_failure\">Zasebnih ključev ni bilo mogoče obnoviti:\\n\\n%s\\n\\nNapačno geslo?</string>\n  <string name=\"export_keys_dialog_title\">Ustvari rezervno kopijo denarnice</string>\n  <string name=\"backup_wallet_dialog_message\">Varnostna kopija bo šifrirana z izbranim geslom in zapisana na zunanji pomnilniški medij.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Vaša denarnica je zaščitena s PIN-om za pošiljanje. Preverite, da poznate poznate oboje: ta PIN in tudi geslo varnostne kopije!</string>\n  <string name=\"export_keys_dialog_button_export\">Rezervno kopiraj</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Varnostna kopija vaše denarnice je bila ustvarjena na lokaciji<tt>%s</tt></p><p><b>Če varnostna kopija obstaja le na tej napravi, tvegate, da izgubite denarnico in varnostno kopijo hkrati!</b></p><p>V vsakem primeru si morate zapomniti tudi geslo varnostne kopije.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Varnostne kopije vaše denarnice ni bilo mogoče ustvariti:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">geslo</string>\n  <string name=\"backup_wallet_dialog_password_again\">pet</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">neujemanje!</string>\n  <string name=\"import_export_keys_dialog_show\">Prikaži geslo</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Napaka</string>\n  <string name=\"import_keys_intent_filter_action\">Obnovi denarnico</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN za pošiljanje</string>\n  <string name=\"encrypt_keys_dialog_message\">Pošiljanje iz denarnice bo zaščiteno z izbrano PIN-številko.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Pomembno: Ta PIN si morate zapomniti! Ne uporabljajte znanih številk (n.pr. rojstnih datumov).</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Stari PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">šibek</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">v redu</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">dober</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">močan</string>\n  <string name=\"encrypt_keys_dialog_show\">Prikaži PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Šifriram…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Dešifriram…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Končano.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Oprostite</string>\n  <string name=\"scan_camera_problem_dialog_message\">Težava s kamero. Najbrž boste morali ponovno zagnati napravo.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Dovoljenje za fotoaparat</string>\n  <string name=\"scan_camera_permission_dialog_message\">Da boste lahko slikali QR-kode, morate dovoliti uporabo fotoaparata.</string>\n  <string name=\"input_parser_io_error\">Branje podatkov spodletelo:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Neznana vrsta vhoda:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Neveljaven bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Neveljaven bitcoin naslov!\\n(Zamenjava testnega in pravega omrežja?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Ne morem preveriti zahtevka za plačilo:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Neveljavna prošnja za plačilo:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Neveljavno nakazilo:\\n%s</string>\n  <string name=\"preferences_activity_title\">Nastavitve</string>\n  <string name=\"preferences_category_general\">Splošno</string>\n  <string name=\"preferences_category_privacy\">Zasebnost</string>\n  <string name=\"preferences_category_merchants\">Trgovci</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostika</string>\n  <string name=\"preferences_category_labs\">V razvoju</string>\n  <string name=\"preferences_precision_title\">Enota in prikaz številk</string>\n  <string name=\"preferences_precision_summary\">Enota za prikaz. Ne vpliva na računanje.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 decimalnih mest</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 decimalnih mest</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 decimalna mesta</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 decimalni mesti</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, brez decimalnih mest</string>\n  <string name=\"preferences_own_name_title\">Lastno ime</string>\n  <string name=\"preferences_own_name_summary\">Vaše ime ali ime vašega podjetja. Doda se v zahtevke za plačilo, ki jih izdate svojim strankam.</string>\n  <string name=\"preferences_own_name_dialog_message\">Naj bo kratko.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Samodejno zapiranje okna za pošiljanje</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Ko se plačilo izvede, se bo pogovorno okno za pošiljanje zaprlo samodejno.</string>\n  <string name=\"preferences_trusted_peer_title\">Vrstnik, ki mu zaupate</string>\n  <string name=\"preferences_trusted_peer_summary\">IP-naslov ali gostiteljsko ime vrstnika za povezavo.</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">Prosimo, vnesite veljaven IP-naslov ali ime gostitelja. Če uporabljate Tor, lahko vnesete tudi naslov tipa *.onion.</string>\n  <string name=\"preferences_trusted_peer_dialog_message_multiple\">Več zaupanja vrednih soležnikov lahko vnesete tako, da naslove ločite s presledkom.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Iščem…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Nerazpoznavno ime gostitelja!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Preskoči običajno odkrivanje vrstnikov</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Prepreči povezavo vsemi vrstniki, razen z tem, ki mu zaupate.</string>\n  <string name=\"preferences_block_explorer_title\">Raziskovalec blokov</string>\n  <string name=\"preferences_block_explorer_summary\">Zuanji raziskovalec blokov, ki ga lahko uporabljate za pregled transakcij, naslovov in blokov.</string>\n  <string name=\"preferences_data_usage_title\">Poraba podatkov</string>\n  <string name=\"preferences_data_usage_summary\">Prikaži možnosti za omejitev porabe podatkov prek mobilnih omrežij.</string>\n  <string name=\"preferences_notifications_title\">Obvestila</string>\n  <string name=\"preferences_notifications_summary\">Prikaži nastavitve prikazovanja obvestil</string>\n  <string name=\"preferences_remind_balance_title\">Opomnik stanja</string>\n  <string name=\"preferences_remind_balance_summary\">Po nekaj tednih neuporabe vas bo aplikacija obvestila, če še ne bo prazna.</string>\n  <string name=\"preferences_show_disclaimer_title\">Prikaži zavrnitev odgovornosti</string>\n  <string name=\"preferences_show_disclaimer_summary\">Ste res prebali varnostna navodila? Ste naredili varnostno kopijo in jo shranili na varno mesto?</string>\n  <string name=\"preferences_bluetooth_address_title\">Naslov Bluetooth</string>\n  <string name=\"preferences_bluetooth_address_summary\">Ročno nastavite svoj naslov Bluetooth za prejemanje v nepovezanem stanju</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">Žal sistem Android ne dovoljuje avtomatske zaznave Bluetooth-naslova vaše naprave. Morali jo boste sami najti v Bluetooth-nastavitvah naprave in jo vnesti tu.\\n\\nDobro preverite vsak znak. Dvopičja lahko opustite, velikost črk pa ni pomembna.</string>\n  <string name=\"preferences_report_issue_title\">Prijavi težavo</string>\n  <string name=\"preferences_initiate_reset_title\">Ponastavi nakazila</string>\n  <string name=\"preferences_initiate_reset_summary\">Ponovno obdelaj verigo blokov, transakcije in stanje denarnice. To bo trajalo nekaj časa, zato ta proces zaženite le, če ste prepričani, zakaj to potrebujete.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Želite resetirati denarnico in ponovno prebrati verigo blokov?\\n\\nTo bo začasno naredilo stanje denarnice in pretekle transakcije nedostopne. Oboje se bo sčasoma spet naložilo. Preverite, da imate zanesljivo povezavo z internetom.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Ponastavi</string>\n  <string name=\"preferences_extended_public_key_title\">Prikaži razširjeni javni ključ</string>\n  <string name=\"preferences_extended_public_key_summary\">Prikaže razširjeni javni ključ vaše denarnice, ki ga lahko potem uvozite v druge aplikacije in storitve. Previdno: s tem razkrijete vsa svoja plačila (pretekla in prihodnja).</string>\n  <string name=\"bitmap_fragment_share\">Deli…</string>\n  <string name=\"extended_public_key_fragment_title\">Razširjeni javni ključ</string>\n  <string name=\"extended_public_key_fragment_share\">Deli razširjeni javni ključ…</string>\n  <string name=\"report_issue_dialog_title_issue\">Prijavi težavo</string>\n  <string name=\"report_issue_dialog_title_crash\">Zaznano sesutje v preteklosti</string>\n  <string name=\"report_issue_dialog_title_transaction\">Prijavi težavo z izbranim plačilom</string>\n  <string name=\"report_issue_dialog_message_issue\">Prosimo, opišite težavo dovolj podrobno, da se jo da ponoviti na drugi napravi. Če je mogoče, pišite v angleščini.</string>\n  <string name=\"report_issue_dialog_message_crash\">Želite poslati razvijalcem poročilo o sesutju, da bomo težavo lažje odpravili?</string>\n  <string name=\"report_issue_dialog_description\">opis težave</string>\n  <string name=\"report_issue_dialog_report\">Prijavi</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Pripni podatke o napravi</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Pripni aplikacijski zapisnik</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Pripni kopijo denarnice</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Pošlji poročilo z aplikacijo…</string>\n  <string name=\"about_title\">Vizitka</string>\n  <string name=\"about_version_title\">Verzija</string>\n  <string name=\"about_version_apk_hash_title\">SHA256 zgoščena vrednost datoteke APK</string>\n  <string name=\"about_copyright_title\">Avtorske pravice</string>\n  <string name=\"about_license_title\">Licenca</string>\n  <string name=\"about_source_title\">Izvorna koda</string>\n  <string name=\"about_category_credits\">Ta aplikacija uporablja…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, implementacija protokola bitcoin</string>\n  <string name=\"about_credits_zxing_title\">ZXing, knjižnico za obdelavo QR-kod</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle, kriptografsko knjižnico</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp, knjižnico s HTTP-odjemalcem</string>\n  <string name=\"about_credits_moshi_title\">Moshi, knjižnico za JSON</string>\n  <string name=\"about_credits_guava_title\">Knjižnico Guava, zbirko uporabnih pripomočkov</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J, ogrodje za beleženje dnevnikov</string>\n  <string name=\"about_market_app_title\">Stran %s</string>\n  <string name=\"about_market_app_summary\">Oceni aplikacijo</string>\n  <string name=\"about_faq_title\">Pogosta vprašanja</string>\n  <string name=\"about_faq_summary\">Pogosta vprašanja glede aplikacije</string>\n  <string name=\"notification_coins_received_msg\">Prejeto: %s</string>\n  <string name=\"notification_connectivity_syncing_message\">Sinhroniziram z omrežjem…</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">Sinhroniziram s soležnikom, ki mu zaupate</string>\n  <string name=\"notification_peers_connected_msg\">Število povezanih vrstnikov: %d</string>\n  <string name=\"notification_peer_connected\">povezan</string>\n  <string name=\"notification_peer_not_connected\">brez povezave</string>\n  <string name=\"notification_inactivity_title\">Na tej napravi imate še vedno bitcoine!</string>\n  <string name=\"notification_inactivity_message\">Vaše stanje %s bo izgubljeno, če aplikacijo ostranite, ne da bi bitcoine prej poslali drugam.</string>\n  <string name=\"notification_inactivity_message_donate\">Če vam je za novce vseeno, jih lahko tudi podarite projektu Bitcoin Wallet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Spomni me kasneje</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Ne spomni me</string>\n  <string name=\"notification_bluetooth_service_listening\">Pripravljen na prejemanje plačil prek Bluetooth</string>\n  <string name=\"notification_channel_received_name\">Prejeta plačila</string>\n  <string name=\"notification_channel_ongoing_name\">Dejavnost v ozadju</string>\n  <string name=\"notification_channel_important_name\">Pomembna opozorila</string>\n  <string name=\"appwidget_wallet_balance_title\">Dobroimetje</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Zapri</string>\n  <string name=\"button_cancel\">Prekliči</string>\n  <string name=\"button_retry\">Poskusi ponovno</string>\n  <string name=\"button_help\">Pomoč</string>\n  <string name=\"button_add\">Dodaj</string>\n  <string name=\"button_delete\">Odstrani</string>\n  <string name=\"button_set\">Nastavi</string>\n  <string name=\"button_remove\">Odstrani</string>\n  <string name=\"button_edit\">Uredi</string>\n  <string name=\"button_copy\">Kopiraj</string>\n  <string name=\"button_paste\">Prilepi</string>\n  <string name=\"button_share\">Deli</string>\n  <string name=\"button_set_as_default\">Nastavi kot privzeto</string>\n  <string name=\"button_request_coins\">Prejmi novce</string>\n  <string name=\"button_send_coins\">Pošlji novce</string>\n  <string name=\"button_scan\">Prečitaj</string>\n  <string name=\"button_settings\">Nastavitve</string>\n  <string name=\"action_show_qr\">Prikazi QR-kodo</string>\n  <string name=\"action_browse\">Ogled v brskalniku</string>\n  <!--generic strings-->\n  <string name=\"time_today\">danes</string>\n  <string name=\"address_unlabeled\">(neoznačen)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">Napačen PIN!</string>\n  <string name=\"qr_code\">QR-koda</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Bralno/pisalna napaka: %s</string>\n  <string name=\"error_parse\">Napaka pri razčlenjevanju: %s</string>\n  <string name=\"error_http\">HTTP napaka %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetooth-napaka: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sl/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tV zgornjem levem kotu zaslona je zapisan vaš bitcoin naslov. Oseba, ki vam pošilja novce, mora poznati na naslov.\n\t\t\tZ dotikom ga lahko spremenite.\n\t\t</p>\n\t\t<p>\n\t\t\tDesno od naslova je QR-koda, ki vsebuje ta naslov. Plačnik jo lahko prečita s kamero.\n\t\t\tZ dotikom jo lahko povečate.\n\t\t</p>\n\t\t<p>\n\t\t\tNa sredi zaslona vidite svoje stanje.\n\t\t\tStanje je spodaj prikazano tudi v izbrani lokalni valuti (npr. EUR).\n\t\t\tDotaknite se stanja za prikaz možnih lokalnih valut. Katerokoli valuto lahko potem izberete za privzeto: dotaknite se je in potem pritisnite risalni žebljiček zgoraj desno.\n\t\t</p>\n\t\t<p>\n\t\t\tV spodnji polovici zaslona so prikazana vaša nakazila. Seznam nakazil je na začetku prazen.\n\t\t\tNova nakazila so prikazana v sivi, dokler niso potrjena.\n\t\t\tZ dotikom nakazila lahko pošiljatelja oz. prejemnika dodate v imenik.\n\t\t</p>\n\t\t<p>\n\t\t\tNovce lahko pošiljate ali prejemate z gumbi v akcijski vrstici na dnu.\n\t\t</p>\n\t\t<p>\n\t\t\tV aplikacijskem meniju imate na voljo še druge možnosti.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tS pomočjo tega pogovornega okna lahko drugi osebi, ki že ima nameščeno bitcoin denarnico, posredujete zahtevek za plačilo.\n\t\t</p>\n\t\t<p>\n\t\t\tNajprej lahko vnesete znesek za plačilo.\n\t\t</p>\n\t\t<p>\n\t\t\tPotem lahko plačniku pokažete prikazano QR-kodo, lahko pa mu zahtevek za plačilo pošljete z uporabo gumba za deljenje v vrstici z akcijami.\n\t\t</p>\n\t\t<p>\n\t\t\tKo bo plačnik prejel zahtevek za plačilo, mu bo prikazano pogovorno okno s plačilnimi podatki. Moral bo le še potrditi pošiljanje novcev.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tZačeli ste s postopkom pošiljanja novcev.\n\t\t\tSem ste prišli ali s klikom za pošiljanje na glavnem zaslonu, s prejetjem zahtevka za plačilo ali pa s klikom povezave za plačilo v brskalniku.\n\t\t</p>\n\t\t<p>\n\t\t\tVnesti je potrebno naslov za plačilo.\n\t\t\tNaslov je že vnešen, če ste prejeli zahtevek za plačilo ali prečitali QR-kodo. Če še ni vnešen, lahko sedaj prečitate QR-kodo z naslovom ali zahtevkom za plačilo tako, da pritisnete ikono s fotoaparatom.\n\t\t\tLahko tudi začnete tipkati in naslov se bo samodejno dopolnil iz imenika, če ga uporabljate.\n\t\t</p>\n\t\t<p>\n\t\t\tPreverite, koliko bitcoinov imate na voljo za potrošnjo.\n\t\t\tNepotrjenih prejetih novcev še ne morete potrošiti; počakati morate na potrditev iz omrežja.\n\t\t</p>\n\t\t<p>\n\t\t\tVnesite znesek za plačilo. Aplikacija vas bo opozorila, če ne boste imeli dovolj novcev za izbrani znesek.\n\t\t</p>\n\t\t<p>\n\t\t\tPlačilo lahko vnesete tudi, če niste povezani v omrežje.\n\t\t\tPlačilo bo poslano, ko naslednjič zaženete Bitcoin Wallet.\n\t\t\tČe želite, da se plačilo izvede čim hitreje, poskrbite, da boste dobro povezani v omrežje (npr. prek lokalnega Wi-Fi omrežja).\n\t\t</p>\n\t\t<p>\n\t\t\tOpozorilo: Vsako plačilo je dokončno in nepovratno! Pri vsakem plačilu preverite, da uporabljate pravi prejemni naslov.\n\t\t</p>\n\t]]>\n\t</string>\n\t<string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Pomembna opozorila glede varnosti:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoini so shranjeni na tej napravi.\n\t\t\t<b>Če izgubite napravo, izgubite svoje bitcoine.</b>\n\t\t</p>\n\t\t<p>\n\t\t\tZato morate imeti <b>rezervno kopijo svoje denarnice</b>!\n\t\t\tV ta namen uporabiti varnostno kopiranje v tej aplikaciji in ne varnostnega kopiranja z uporabo kake druge aplikacije.\n\t\t\tVarnostno kopijo varno hranite in ne pozabite njenega gesla.\n\t\t</p>\n\t\t<p>\n\t\t\tČe nameravate aplikacijo odstraniti z naprave (ali počistiti podatke z naprave), <b>prej prenesite svoje novce v denarnico na drugi napravi</b>.\n\t\t\tNovci, ki ostanejo tu, bodo ob odstranitvi aplikacije izgubljeni.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Vsa plačila so dokončna</b>.\n\t\t\tČe pošljete svoje novce neznano kam, jih ni mogoče dobiti nazaj.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Varno rokujte s svojo napravo!</b>\n\t\t\tNe uporabljate root-dostopa do naprave. Nameščajte samo aplikacije, ki jim zaupate. Zlonamerne aplikacije lahko poskusijo in uspejo ukrasti vaše novce.\n\t\t</p>\n\t\t<p>\n\t\t\tZnižajte tveganje tako, da <b>v tej denarnici držite le nizke vsote</b> za vsakodnevno uporabo.\n\t\t</p>\n\t]]>\n\t</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sq/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Kuleta juaj është resetuar!\\nDo të duhet pak kohë derisa të rikthehet.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Përdoreni me përgjegjësinë tuaj, Lexoni &lt;u&gt;safety notes&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Ju duhet të &lt;u&gt;back kuletën tuaj&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d orë mbrapa</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d ditë mbrapa</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d javë mbrapa</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d muaj mbrapa</string>\n  <string name=\"blockchain_state_progress_downloading\">Sinkronizimi me rrjetin në ecuri</string>\n  <string name=\"blockchain_state_progress_stalled\">Sinkronizimi ka ngecur</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Sinkronizimi: Problem në ruajtje</string>\n  <string name=\"blockchain_state_progress_problem_network\">Sinkronizimi: Problem me rrjetin</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Adresa juaj e Bitcoin u kopjua</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Për të ruajtur privaticitetin, adresa juaj do të ndërrohet çdo herë që pranoni një pages.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Kjo shumë është e madhe për tu mbajtur nê xhep. Ju lutem zhvendosni disa monedha në një vend më të sigurt.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Bilanci nuk mund të shikohet gjatë përseritjes.</string>\n  <string name=\"exchange_rates_activity_title\">Kursi i këmbimit</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Nuk mund të gjej kursin e këmbimit.</string>\n  <string name=\"exchange_rates_fragment_default\">(normal)</string>\n  <string name=\"exchange_rates_fragment_rate\">çmimi</string>\n  <string name=\"exchange_rates_fragment_balance\">bilanci</string>\n  <string name=\"exchange_rates_fragment_source\">Çmimi nga %s</string>\n  <string name=\"exchange_rates_options_search\">Kërko kursin e këmbimit</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Nuk keni pranuar asnjë Bitcoin deri më tani</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Nuk keni dërguar asnjë Bitcoin deri me tani</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Si të merrni Bitcoins?\\nKëmbeni me para tradicionale,\\shitni gjëra apo shërbime ose\\nfito duke punuar.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Urime, ju sapo keni pranuar pagesën e parë! E keni &lt;u&gt;ruajtur një kopje rezervë të kuletës suaj tashmë, për ta mbrojutur ne rast humbjeje? </string>\n  <string name=\"wallet_transactions_fragment_coinbase\">të minuara</string>\n  <string name=\"wallet_transactions_fragment_internal\">interne</string>\n  <string name=\"wallet_transactions_options_filter\">Filtro</string>\n  <string name=\"wallet_transactions_options_filter_all\">Të gjitha pagesat</string>\n  <string name=\"wallet_transactions_options_filter_received\">Pagesat e pranuara</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Pagesat e dërguata</string>\n  <string name=\"wallet_options_safety_menu\">Siguria</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Caktoni PIN-in</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Ndryshoni PIN-in</string>\n  <string name=\"wallet_options_safety\">Shënime të sigurisë</string>\n  <string name=\"wallet_options_donate\">Bakshish / Donacion</string>\n  <string name=\"wallet_donate_address_label\">Donacion për Kuletën Bitcoin</string>\n  <string name=\"wallet_low_storage_dialog_title\">Hapësira e diskut në pajisjen tuaj është e ulët!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet përdor memorjen interne për të ruajtur transaksionet dhe blloqet. Nëse nuk ka hapsir të mjaftueshme, nuk do të punoj dhe monedhat tuaja do jenë ne rrezik!\\n\\nDëshironi të hapni Menagjerin e Aplikacioneve dhe të fshini aplikacionet që nuk ju duhen?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Menaxhoni programet</string>\n  <string name=\"wallet_timeskew_dialog_title\">Kontrolloni kohën tuaj!</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Ora juaj është gabim për %d minuta. Ju ndoshta nuk mund të pranoni apo dërgoni Bitcoins për shkak të këtij problemi.\\n\\nJu duhet të kontrolloni dhe korrigjoni orën dhe kohën zonale.</string>\n  <string name=\"wallet_version_dialog_title\">Një verzion i ri është në dispozicion!</string>\n  <string name=\"wallet_version_dialog_msg\">Në këtë verzion janë përmirësuar disa gabime. Për më shumë hollësira kyçuni në %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Nëse nuk e shiheni ndonjë aktualizim, shkaku është se versioni juaj i Androidit nuk është më aktual.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Shkarkoni</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Versioni i Androidit nuk është aktual</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Mundësit janë që në verzionet e ardhshme të Bitcoin Wallet nuk do të mbështes paisjen tuaj. Në disa raste, mund të jetë e vështir që të shpenzohen monedhat në këtë paisje.\\n\\nVetëm në rast se dini cfarë po bëni, është e rekomanduar që të zhvendosni monedhat tuaja në një kulet tjetër.</string>\n  <string name=\"send_coins_activity_title\">Dërgo Bitcoins</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Duke marrë firmat nga %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Marrja e firmës dështoj</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Nënshkrim i gabuar!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">verifikuar nga %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">panjohur</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Paguani tek</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">shënoni adresën ose emrin</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Adresa e Bitcoin e gabuar!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Jeni duke dërguar te vetëvetja!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">kompleks\\nadresa</string>\n  <string name=\"send_coins_fragment_pending\">(%s pret konfirmimin)</string>\n  <string name=\"send_coins_fragment_amount_label\">Shuma për të paguar</string>\n  <string name=\"send_coins_fragment_hint_fee\">Një tarifë e vogël prej %s do të paguhet.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Shuma është tepër e vogël për tu dërguar.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Nuk keni monedha të mjaftueshme. Jeni %s monedha mangu.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Shuma e vogël e pagesave te vogla në kuletën tuaj nuk është e mjaftueshme të jetë e shpenzueshme.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Dërgoni pagesën drejtpërdrejt tek pranuesi.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Pagesa juaj e drejtpërdrejt është zbatuar me sukses.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Pagesa juaj e drejtpërdrejt është refuzuar.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Pagesa e drejtpërdrejt dështoi</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Pagesa juaj prapë do të transmetohet nga rrjeti P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Dërgo</string>\n  <string name=\"send_coins_fragment_button_back\">Mbrapa</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Nuk keni mjaft monedha</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Jeni mangu %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Dëshironi të paguani me të gjitha monedhat që i keni?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Zbrazja e kuletës dështoj</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Duke dekriptuar…</string>\n  <string name=\"send_coins_preparation_msg\">Duke u kyçur…</string>\n  <string name=\"send_coins_sending_msg\">Duke dërguar…</string>\n  <string name=\"send_coins_sent_msg\">Është dërguar!</string>\n  <string name=\"send_coins_failed_msg\">Dështoi!</string>\n  <string name=\"send_coins_error_msg\">Problem gjatë dërgimit të monedhave!</string>\n  <string name=\"send_coins_options_fee_category\">Tarifa</string>\n  <string name=\"send_coins_options_fee_category_economic\">Ekonomike</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioritet</string>\n  <string name=\"send_coins_options_empty\">Kuleta bosh</string>\n  <string name=\"sweep_wallet_activity_title\">Shpenzo kuletën në letër</string>\n  <string name=\"sweep_wallet_fragment_intro\">Jeni duke shpenzuar një kuletë në letër apo kupon. Kjo do t\\'i zhvendos të gjitha monedhat nga kuleta ne letër ne kuletën tuaj në këtë pajisje. Kur transaksioni konfirmohet, letra do të bëhet e pavlefshme dhe nuk duhet të përdoret prap për shkaqe sigurie.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Kuletat në letër përdoren më së shpeshti për \\'cold storage\\'. Disa ATM i printojnë ato në vend që të ju dërgojn monedhat direkt në telefonin tuaj. Ndonjëherë njerëzit përdorin kuleta në letër të para-ngarkuara me monedha (nuk rekomandohet).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Fillo duke skanuar ҫelësin privat e kuletës në letër. Përdor butonin për të startuar kamerën.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Ҫelësi privat është i mbrojtur me fjalëkalim.</string>\n  <string name=\"sweep_wallet_fragment_password\">fjalëkalimi</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">fjalëkalim i gabuar!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Bilanci për tu shpenzuar</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Dekripto</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Shpenzo</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Duke dekriptuar…\\nMerr kohë deri 2 minuta.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Duke ngarkuar bilancin…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Ngarkimi i bilancit dështoi</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Nuk keni mjaft monedha</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Shuma e monedhave në kulet është tepër e vogël për tu shpenzuar.</string>\n  <string name=\"sweep_wallet_options_reload\">Rimbusheni bilancin</string>\n  <string name=\"maintenance_dialog_title\">Rekomandohet mirëmbajtja</string>\n  <string name=\"maintenance_dialog_message\">Ju keni pranuar %1$s në nje adres jo të sigurt. Deshironi t\\'i zhvendosni ketë monedha në një adres të sigurt? Një tarif të vogël prej %2$s duhet të paguhet.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Duke dekriptuar…</string>\n  <string name=\"maintenance_dialog_state_done\">I përfunduar.</string>\n  <string name=\"maintenance_dialog_button_move\">Lëviz</string>\n  <string name=\"request_coins_activity_title\">Kërko Bitcoins</string>\n  <string name=\"request_coins_fragment_amount_label\">Shuma e kërkuar (opsionale)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Prano pagesën përmes Bluetooth për procesim më të sigurt</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Le të skanohet ky kod nga dërguesi.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Ose përdor pajisje me NFC</string>\n  <string name=\"request_coins_clipboard_msg\">Kërkesa për Bitcoin është kompjuar në memorje</string>\n  <string name=\"request_coins_share_dialog_title\">Ndaje kërkesën për Bitcoins</string>\n  <string name=\"request_coins_no_local_app_msg\">Nuk është gjetur asnjë program tjetër për bitcoin</string>\n  <string name=\"request_coins_options_local_app_title\">Kërkes nga program lokal</string>\n  <string name=\"address_book_activity_title\">Libri i adresave</string>\n  <string name=\"address_book_list_receiving_title\">Adresa juaj</string>\n  <string name=\"address_book_list_receiving_random\">Adresat e vjetra</string>\n  <string name=\"address_book_list_sending_title\">Duke dërguar adresat</string>\n  <string name=\"address_book_empty_text\">Nuk ka asnjë shënim në librin e adresave</string>\n  <string name=\"address_book_context_send_title\">Dërgo Bitcoins tek adresa</string>\n  <string name=\"address_book_context_edit_title\">Ndrysho adresën</string>\n  <string name=\"address_book_context_remove_title\">Fshije adresën</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopjo në klipbord</string>\n  <string name=\"address_book_options_scan_title\">Skanoni adresën</string>\n  <string name=\"address_book_options_scan_invalid\">Të dhënat e skanuara janë të pakuptueshme</string>\n  <string name=\"address_book_options_scan_own_address\">Adresa e skanuar është e juaja.</string>\n  <string name=\"address_book_row_message_compromised_key\">Kjo adres mund të jetë e komprometuar. Nuk duhet ta perdorni për të pranuar monedha.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Shto adresën dërguese</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Ndrysho etiketimin e adresës dërguese</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Shto etiketim në adresën tuaj</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Ndrysho etiketën e adresës suaj</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adresa</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etiketa</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Ruaj</string>\n  <string name=\"transaction_row_fee\">Tarifa e rrjetit</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Kjo pages nuk është transmetuar akoma.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Ky transaksion e përforcon kuletën tuaj kunder vjedhjes. &lt;u&gt;Më shumë info.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_received_direct\">Kjo pages është pranuar direkt. Ёshtë rrezik që kjo pages të mos bëhet kurrë e shpenzueshme.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Kjo pages duhet të bëhet e shpenzueshme brenda pak minutave/</string>\n  <string name=\"transaction_row_message_received_dead\">Kjo pages është tërhequr nga dërguesi.</string>\n  <string name=\"transaction_row_message_received_dust\">Kjo shumë e vogël ndoshta kurrë nuk mund të shpenzohet ekonomikisht.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Kjo pages paguan tek shumë kuleta perveҫ tëndes, gjë që e bën aplikacionin të ngadalsohet gjatë kohës. Nëse mundeni, provoni pagesat të cilat ju paguajn vetëm juve.</string>\n  <string name=\"network_monitor_activity_title\">Monitorimi i rrjetit</string>\n  <string name=\"network_monitor_peer_list_title\">Peers</string>\n  <string name=\"network_monitor_block_list_title\">Blloqet</string>\n  <string name=\"block_row_now\">tash</string>\n  <string name=\"peer_list_fragment_empty\">Asnjë peers i konektuar</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Rikthe kuletën</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Jeni duke zëvendësuar kuletën aktuale. Te gjitha monedhat që keni në kuletën aktuale do t\\'i humisni përveҫ nëse keni një kopje rezerv të kuletës aktuale.</string>\n  <string name=\"import_keys_dialog_warning\">Kujdes: Mos ngarkoni ҫelësa privat nga burime të dyshimta! Të tjerët mund të marrin nën kontroll fondet tuaja.</string>\n  <string name=\"import_keys_dialog_button_import\">Rikthe</string>\n  <string name=\"restore_wallet_dialog_success\">Kuleta është rikthyer.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Kuleta juaj është rikthyer me sukses. Tani do të shfaqet bilanci. Kjo merr pak kohë.</string>\n  <string name=\"import_keys_dialog_failure\">Kuleta nuk u rikthye:\\n\\n%s\\n\\nFjalëkalim i gabuar?</string>\n  <string name=\"export_keys_dialog_title\">Krijo kopjen rezervë</string>\n  <string name=\"backup_wallet_dialog_message\">Kuleta juaj do të enkriptohet me fjalëkalimin që caktoni dhe do të ruhet në magazinimin e jashtëm.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Kulaeta juaj është i mbrojtur nga një PIN. Sigurohuni që këtë PIN ta mbani në mend përveç fjalëkalimit të kopjes rezervë!</string>\n  <string name=\"export_keys_dialog_button_export\">Krijo kopje rezervë</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Kopja rezervë e kuletës suaj ndodhet në <tt>%s</tt></p><p><b>Nëse i vetmi vend që kopja juaj rezervë është në pajisjen tuaj, jeni në rrezik që të humbisni të dyjat në të njejtën kohë!</b></p><p>Për çdo rast sigurohuni që mbani në mend fjalëkalimin e kopjes rezervë.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Kuleta juaj nuk mund të krijohet njê kopje rezervë: %s</string>\n  <string name=\"import_export_keys_dialog_password\">fjalëkalimi</string>\n  <string name=\"backup_wallet_dialog_password_again\">prapë</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">mospërputhje</string>\n  <string name=\"import_export_keys_dialog_show\">Trego fjalëkalimin</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Gabim</string>\n  <string name=\"import_keys_intent_filter_action\">Rikthe kuletën</string>\n  <string name=\"encrypt_keys_dialog_title\">Pin-i shpenzues</string>\n  <string name=\"encrypt_keys_dialog_message\">Shpenzimi nga kuleta juaj do të mbrohet me PIN-in qe caktoni.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Kujdes: Mos përdorni numra të zakonshëm (si psh datëlindje) në PIN-in tuaj.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">PIN i vjetër</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">i lehtë</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">mesatar</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">i mirë</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">i fortë</string>\n  <string name=\"encrypt_keys_dialog_show\">Trego PIN-in</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Duke enkriptuar…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Duke dekriptuar…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">I përfunduar.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Na vjen keq</string>\n  <string name=\"scan_camera_problem_dialog_message\">Ka një problem me kamerën, ju duhet ndoshta të ristartoni pajisjen tuaj.</string>\n  <string name=\"input_parser_io_error\">Nuk mund të lexojë: \\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Nuk mund të njoh hyrjen:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Jovalid Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Bitcoin adresë jovalide!\\(Keni ngatërruar mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Nuk mund të verifikohet kërkesa për pages:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Kërkes jo valide për pages:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Transaksion jo valid:\\n%s</string>\n  <string name=\"preferences_activity_title\">Rregullat</string>\n  <string name=\"preferences_category_diagnostics\">Diagnoza</string>\n  <string name=\"preferences_category_labs\">Labs</string>\n  <string name=\"preferences_precision_title\">Njësit dhe preciziteti</string>\n  <string name=\"preferences_precision_summary\">Njësit që shfaqin shumën. Kjo nuk ndikon në përllogaritjet.</string>\n  <string name=\"preferences_trusted_peer_title\">Peers të besueshëm</string>\n  <string name=\"preferences_trusted_peer_summary\">IP apo hostname e një peer për tu konektuar.</string>\n  <string name=\"preferences_trusted_peer_only_title\">Kalo kërkimin e rregullt të peer</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Parandalo konektimin në cilëndo peer përveq në ata të besueshmit.</string>\n  <string name=\"preferences_data_usage_title\">Përdorimi i rrjetit</string>\n  <string name=\"preferences_data_usage_summary\">Shfaq opsionet për shfrytëzim të kufizuar kur përdorni rrjetin mobil (3G/4G).</string>\n  <string name=\"preferences_report_issue_title\">Raporto problem</string>\n  <string name=\"preferences_initiate_reset_title\">Resetoni blockchain</string>\n  <string name=\"preferences_initiate_reset_summary\">Resetoni blockchain, transaksionet dhe bilancin e kuletës. Ky proces merr pak kohë.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Deshironi të resetoni dhe ri-shkarkoni blockchain-in?\\n\\nKy proces përkohësisht do të fsheh bilancin e kuletës dhe heq transaksionet. Të dyjat rikthehen gjatë sinkronizimit të blocchain-it.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Reseto</string>\n  <string name=\"preferences_extended_public_key_title\">Trego extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Shfaq çelësin privat të zgjeruar të kuletës suaj, kështu që mund të importohet në aplikacionet dhe shërbime tjera. Jeni të kujdesshëm: nëse vazhdoni aplikacioni mund të ju rrezikoj privaticitetin.</string>\n  <string name=\"bitmap_fragment_share\">Ndaje…</string>\n  <string name=\"extended_public_key_fragment_title\">Çelësi publik i zgjeruar</string>\n  <string name=\"extended_public_key_fragment_share\">Ndaje extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Raporto problem</string>\n  <string name=\"report_issue_dialog_title_crash\">Është detektuar një dështim i mëhershëm</string>\n  <string name=\"report_issue_dialog_message_issue\">Ju lutem përshkruani problemin saktësisht që të kuptohet mirë.</string>\n  <string name=\"report_issue_dialog_message_crash\">Dëshironi të dërgoni një raport për këtë problem, për të përmirësuar këtë problem në të ardhmen?</string>\n  <string name=\"report_issue_dialog_description\">Përshkrimi i problemit</string>\n  <string name=\"report_issue_dialog_report\">Raporti</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Bashkangjit informacionin e pajisjes</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Bashkangjitni \\'log\\' skedën e aplikacionit</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Bashkangjitni \\'dump\\' skedën e kuletës</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Dërgo raporting duke përdorur…</string>\n  <string name=\"about_title\">Rreth</string>\n  <string name=\"about_version_title\">Verzioni</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">Licenca</string>\n  <string name=\"about_source_title\">Kodi burimor</string>\n  <string name=\"about_category_credits\">Ky program përdor…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_title\">Faqja ne %s</string>\n  <string name=\"about_market_app_summary\">Shqyrtoni apo vlersoni aplikacionin</string>\n  <string name=\"notification_coins_received_msg\">Pranuar %s</string>\n  <string name=\"notification_peers_connected_msg\">%d përdorues të lidhur</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">Në rregull</string>\n  <string name=\"button_dismiss\">Shpërfille</string>\n  <string name=\"button_cancel\">Anulo</string>\n  <string name=\"button_retry\">Provo prapë</string>\n  <string name=\"button_help\">Ndihmë</string>\n  <string name=\"button_add\">Shto</string>\n  <string name=\"button_delete\">Fshije</string>\n  <string name=\"button_set\">Cakto</string>\n  <string name=\"button_remove\">Heq</string>\n  <string name=\"button_edit\">Ndrysho</string>\n  <string name=\"button_copy\">Kopjo</string>\n  <string name=\"button_paste\">Fute</string>\n  <string name=\"button_share\">Shpërndaje</string>\n  <string name=\"button_set_as_default\">Vëndose si të rëdnomtë</string>\n  <string name=\"button_request_coins\">Kërko monedha</string>\n  <string name=\"button_send_coins\">Dërgo monedha</string>\n  <string name=\"button_scan\">Skano</string>\n  <string name=\"button_settings\">Rregullat</string>\n  <string name=\"action_show_qr\">Shfaq kodin QR</string>\n  <string name=\"action_browse\">Shfleto</string>\n  <!--generic strings-->\n  <string name=\"time_today\">sot</string>\n  <string name=\"address_unlabeled\">(paetiketuar)</string>\n  <string name=\"private_key_password\">PIN-i</string>\n  <string name=\"private_key_bad_password\">PIN i gabuar!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O gabim: %s</string>\n  <string name=\"error_parse\">Parse gabim: %s</string>\n  <string name=\"error_http\">HTTP gabim %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Gabim bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sv/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Din plånbok nollställdes!\\nDet kan ta ett tag innan den återställts</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Använd på egen risk. Läs &lt;u&gt;säkerhetsråden&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Du behöver &lt;u&gt;säkerhetskopiera din plånbok&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d timmar efter</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d dagar efter</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d veckor efter</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d månader efter</string>\n  <string name=\"blockchain_state_progress_downloading\">Synkroniserar med nätverket</string>\n  <string name=\"blockchain_state_progress_stalled\">Synkroniseringen har avstannat</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Synkronisering: Lagringsproblem</string>\n  <string name=\"blockchain_state_progress_problem_network\">Synkronisering: Nätverksproblem</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoinadressen kopierades</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">För att skydda din integritet ändras din adress när den tar emot en betalning.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Din enhet är gammal och osäker. Använd den endast för små belopp.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Det här är ett stort belopp att bära omkring på i fickan. Flytta gärna över en del till en säkrare plats.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Saldot är otillgängligt under reprisen.</string>\n  <string name=\"exchange_rates_activity_title\">Växlingskurser</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Kunde inte hitta växlingskurs.</string>\n  <string name=\"exchange_rates_fragment_default\">(standard)</string>\n  <string name=\"exchange_rates_fragment_rate\">kurs</string>\n  <string name=\"exchange_rates_fragment_balance\">saldo</string>\n  <string name=\"exchange_rates_fragment_source\">Pris från %s</string>\n  <string name=\"exchange_rates_options_search\">Sök växlingskurs</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Inga bitcoin har mottagits hittills.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Inga bitcoin har skickats hittills.</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Hur får man tag i bitcoin?\\nKöp för svenska kronor,\\nsälj varor eller tjänster eller\\ntjäna genom att arbeta.</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">Vänligen säkerhetskopiera din plånbok\\ninnan du tar emot några Bitcoin!</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Grattis, du fick din första betalning! Har du redan &lt;u&gt;säkerhetskopierat din plånbok&lt;/u&gt;, för att skydda mot förlust?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">Tips: för att öka säkerheten på din plånbok kan du &lt;u&gt;kryptera din enhet&lt;/u&gt;. Det skyddar också dina andra appar.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">genererade</string>\n  <string name=\"wallet_transactions_fragment_internal\">intern</string>\n  <string name=\"wallet_transactions_options_filter\">Filter</string>\n  <string name=\"wallet_transactions_options_filter_all\">Alla betalningar</string>\n  <string name=\"wallet_transactions_options_filter_received\">Mottagna betalningar</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Skickade betalningar</string>\n  <string name=\"wallet_options_safety_menu\">Säkerhet</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Ställ in PIN-kod</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Ändra PIN-kod</string>\n  <string name=\"wallet_options_safety\">Säkerhetsinfo</string>\n  <string name=\"wallet_options_technical_notes_title\">Tekniska anteckningar</string>\n  <string name=\"wallet_options_donate\">Ge dricks/donera</string>\n  <string name=\"wallet_donate_address_label\">Donera till Bitcoin Wallet</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Säkerhetsvarning</string>\n  <string name=\"wallet_low_storage_dialog_title\">Lagringsutrymme snart slut</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet använder intern lagring för att komma ihåg transaktioner och block. Om lagringsutrymmet tar slut kommer den att sluta fungera och dina bitcoin hamnar i riskzonen!\\n\\nVill du öppna Application Manager för att avinstallera onödiga appar?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Hantera appar</string>\n  <string name=\"wallet_timeskew_dialog_title\">Kontrollera inställningar för datum &amp; tid</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Enhetens tid är fel med %d minuter. Du kan förmodligen inte skicka eller ta emot Bitcoin på grund av detta.\\n\\nDu bör kontrollera och korrigera tiden och tidszonen.</string>\n  <string name=\"wallet_version_dialog_title\">En ny version är tillgänglig!</string>\n  <string name=\"wallet_version_dialog_msg\">Denna version löser viktiga buggar. För mer information, se ändringsloggen på %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Om du inte ser en uppdatering så beror det förmodligen på att din version av Android inte längre stöds.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Ladda ner</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android-versionen är inaktuell</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Chansen är stor att någon av de kommande releaserna av Bitcoin Wallet inte kommer att fungera på din enhet längre. I vissa fall kan det bli svårt att spendera dina tillgångar med den här enheten.\\n\\nSåvida du inte vet vad du gör, rekommenderas att du flyttar dina bitcoin snart.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Problem att öppna inställningar</string>\n  <string name=\"send_coins_activity_title\">Skicka bitcoin</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Hämtar signatur från %s</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Hämtning av signatur misslyckades</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Felaktig signatur!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">Verifierad av: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">okänd</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Betala till</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">skriv adress eller namn</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Ogiltig bitcoinadress!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Du skickar till dig själv!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">Komplex\\nadress</string>\n  <string name=\"send_coins_fragment_pending\">(%s väntar på bekräftelse)</string>\n  <string name=\"send_coins_fragment_amount_label\">Belopp att skicka</string>\n  <string name=\"send_coins_fragment_hint_fee\">En nätverksavgift om %s kommer betalas.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">En prioritetsavgift om %s kommer att betalas. Om du vill ha lägre avgifter, använd endast \\'prioritet\\' om du behöver ha transaktioner bekräftade så snart som möjligt.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Beloppet är för litet för att skickas.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Du saknar tillräckliga medel. Det fattas %s</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Det sammanlagda värdet av små betalningar i din plånbok räcker inte för att kunna skicka transaktionen.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Skicka betalning direkt till betalningsmottagaren.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Din betalning har skickats direkt.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Din betalning avvisades via direktanslutning.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Direktbetalning misslyckades</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Din betalning kommer ändå att sändas via P2P-nätverket.</string>\n  <string name=\"send_coins_fragment_button_send\">Skicka</string>\n  <string name=\"send_coins_fragment_button_back\">Tillbaka</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Signifikant nätverksavgift</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Nätverksavgiften för betalningen (%1$s) är hög i förhållande till beloppet (%2$s). Vill du skicka ändå?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Du saknar tillräckliga medel</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Du saknar %s</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Vill du betala med ditt totala belopp?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Tömning av din plånbok misslyckades</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Dekrypterar…</string>\n  <string name=\"send_coins_preparation_msg\">Signerar…</string>\n  <string name=\"send_coins_sending_msg\">Skickar…</string>\n  <string name=\"send_coins_sent_msg\">Skickat!</string>\n  <string name=\"send_coins_failed_msg\">Misslyckades!</string>\n  <string name=\"send_coins_error_msg\">Problem att skicka bitcoin!</string>\n  <string name=\"send_coins_options_fee_category\">Avgift</string>\n  <string name=\"send_coins_options_fee_category_economic\">Ekonomi</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Prioritet</string>\n  <string name=\"send_coins_options_empty\">Töm plånbok</string>\n  <string name=\"raise_fee_dialog_title\">Höj nätverksavgift</string>\n  <string name=\"raise_fee_dialog_message\">Vill du höja avgiften på den här betalningen med %s? Det kommer göra att betalningen bekräftas snabbare.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Fastställer nätverksavgift…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Nätverksavgiften för den här betalningen kan inte höjas.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Dekrypterar…</string>\n  <string name=\"raise_fee_dialog_state_done\">Klar.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Höj</string>\n  <string name=\"sweep_wallet_activity_title\">Läs av pappersplånbok</string>\n  <string name=\"sweep_wallet_fragment_intro\">Du är på väg att läsa av en pappersplånbok eller kupong. Detta kommer att flytta alla tillgångar från papperet till din plånbok på den här enheten. När transaktionen är bekräftad, kommer papperet att vara värdelöst och bör inte återanvändas av säkerhetsskäl.</string>\n  <string name=\"sweep_wallet_fragment_hint\">En pappersplånbok används oftast för säker långtidsförvaring. Vissa bitcoinbankomater skriver ut en sådan på ett papperskvitto istället för att skicka medel till din mobila enhet direkt. Vissa använder ibland en förladdad pappersplånbok för att byta och skicka medel med varandra (rekommenderas inte).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Börja genom att läsa av pappersplånbokens privata nyckel med din mobilkamera.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Denna privata nyckel är skyddad med ett lösenord.</string>\n  <string name=\"sweep_wallet_fragment_password\">lösenord</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">Fel lösenord!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Summa att läsa av</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Avkryptera</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Läs av</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Avkrypterar…\\nTar upp till 2 minuter.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Läser in saldo…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Inläsning av saldo misslyckades</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Du saknar tillräckliga medel</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Saldot i plånboken är för lågt för att kunna läsas in.</string>\n  <string name=\"sweep_wallet_options_reload\">Ladda om saldo</string>\n  <string name=\"maintenance_dialog_title\">Underhåll rekommenderas</string>\n  <string name=\"maintenance_dialog_message\">Du mottog %1$s till en osäker address. Vill du förflytta beloppet till en säker adress? En liten nätverksavgift på %2$s kommer kosta dig.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Dekrypterar…</string>\n  <string name=\"maintenance_dialog_state_done\">Klar.</string>\n  <string name=\"maintenance_dialog_button_move\">Flytta</string>\n  <string name=\"request_coins_activity_title\">Ta emot bitcoin</string>\n  <string name=\"request_coins_fragment_amount_label\">Begärt belopp (valfritt)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Acceptera betalning via Bluetooth för en mer pålitligt process</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Se till att den här koden skannas av avsändaren.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Eller nudda en NFC-aktiverad enhet.</string>\n  <string name=\"request_coins_clipboard_msg\">Förfrågan om bitcoin kopierades</string>\n  <string name=\"request_coins_share_dialog_title\">Dela en förfrågan om bitcoin…</string>\n  <string name=\"request_coins_no_local_app_msg\">Ingen annan bitcoin-app hittades</string>\n  <string name=\"request_coins_options_local_app_title\">Begäran från lokal app</string>\n  <string name=\"address_book_activity_title\">Adressbok</string>\n  <string name=\"address_book_list_receiving_title\">Dina adresser</string>\n  <string name=\"address_book_list_receiving_random\">Gammla adresser</string>\n  <string name=\"address_book_list_sending_title\">Mottagaradresser</string>\n  <string name=\"address_book_empty_text\">Din adressbok är tom</string>\n  <string name=\"address_book_context_send_title\">Skicka bitcoin till adressen</string>\n  <string name=\"address_book_context_edit_title\">Redigera adress</string>\n  <string name=\"address_book_context_remove_title\">Ta bort adressen</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Kopiera till urklipp</string>\n  <string name=\"address_book_options_scan_title\">Scanna adress</string>\n  <string name=\"address_book_options_scan_invalid\">Avläst data är oigenkännlig</string>\n  <string name=\"address_book_options_scan_own_address\">Den skannade adressen är din egen.</string>\n  <string name=\"address_book_row_message_compromised_key\">Denna adress kanske har komprometterats. Du bör inte använda den för att ta emot bitcoin igen.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Skapa adressetikett</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Redigera adressetikett</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Skapa din adressetikett</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Redigera din adressetikett</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adress</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etikett</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Spara</string>\n  <string name=\"transaction_row_fee\">Nätverksavgift</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Denna betalning har inte skickats ännu.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Den här transaktionen stärker din plånbok mot stöld. &lt;u&gt;Mer info.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Den här transaktionen höjer nätverksavgiften för en tidigare betalning.</string>\n  <string name=\"transaction_row_message_received_direct\">Denna betalning har mottagits direkt. Det finns en risk att den aldrig kommer att kunna användas.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Bekräftelsen på den här betalningen är fördröjd, förmodligen på grund av hög belastning på Bitcoin-nätverket.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Den här betalningen borde bli spenderbar inom några minuter.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">På grund av underhållsarbete i Bitcoin-nätverket, bör du inte lita på den här transaktionen förrän den har bekräftats helt.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Den här betalningen har en ökad risk att inte gå igenom! Vänta gärna på en verifiering.</string>\n  <string name=\"transaction_row_message_received_dead\">Denna betalning har återförts av avsändaren.</string>\n  <string name=\"transaction_row_message_received_dust\">Ett så litet belopp kan förmodligen aldrig spenderas ekonomiskt.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Denna betalning skickas till många olika användare samtidigt, vilket kan göra appen långsam över tid. Om du kan, försök att bara ta emot betalningar som är riktade till dig enbart.</string>\n  <string name=\"transaction_row_message_received_rbf\">Den här betalningen försenades eftersom avsändaren använde en osäker transaktionstyp.</string>\n  <string name=\"network_monitor_activity_title\">Nätverksövervakare</string>\n  <string name=\"network_monitor_peer_list_title\">Peers</string>\n  <string name=\"network_monitor_block_list_title\">Block</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Justering av svårighetsgrad för brytning</string>\n  <string name=\"block_row_mining_reward_adjustment\">Halvering av ersättning för brytning</string>\n  <string name=\"block_row_now\">just nu</string>\n  <string name=\"peer_list_fragment_empty\">Inga peers anslutna</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Återställ plånbok</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Du är på väg att byta ut din nuvarande plånbok. Eventuella tillgångar i din nuvarande plånbok kommer att förloras för alltid om du inte har gjort en separat säkerhetskopia.</string>\n  <string name=\"import_keys_dialog_warning\">Viktigt: Ladda inte privata nycklar från tvivelaktiga källor! Om du gör det kan andra få kontroll över dina tillgångar.</string>\n  <string name=\"import_keys_dialog_button_import\">Återskapa</string>\n  <string name=\"restore_wallet_dialog_success\">Din plånbok återskapades.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Din plånbok har återskapats. Beloppet kommer att beräknas snart. Detta kommer att ta en stund.</string>\n  <string name=\"import_keys_dialog_failure\">Plånboken kunde inte återskapas:\\n\\n%s\\n\\nFelaktigt lösenord?</string>\n  <string name=\"export_keys_dialog_title\">Säkerhetskopiera plånbok</string>\n  <string name=\"backup_wallet_dialog_message\">Din säkerhetskopia kommer att krypteras med ett valt lösenord och lagras på extern plats.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Din plånbok är skyddad av en betalnings-PIN. Se till att du kommer ihåg din PIN-kod tillsammans med lösenordet för säkerhetskopian.</string>\n  <string name=\"export_keys_dialog_button_export\">Säkerhetskopiera</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Din plånbok har säkerhetskopierats till <tt>%s</tt></p><p><b>Om enheten är den enda platsen säkerhetskopian finns på finns det en risk att du förlorar både enheten och säkerhetskopian samtidigt!</b></p><p>I alla fall, se till att du kommer ihåg ditt lösenord till din säkerhetskopia.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Din plånbok kunde in säkerhetskopieras:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">lösenord</string>\n  <string name=\"backup_wallet_dialog_password_again\">igen</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">Felmatchning!</string>\n  <string name=\"import_export_keys_dialog_show\">Visa lösenord</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Fel</string>\n  <string name=\"import_keys_intent_filter_action\">Återställ plånbok</string>\n  <string name=\"encrypt_keys_dialog_title\">Betalnings-PIN</string>\n  <string name=\"encrypt_keys_dialog_message\">Betalningar från din plånbok kommer att skyddas av en vald PIN-kod.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Viktigt: Du behöver komma ihåg din PIN-kod! Använt inte vanliga nummer så som födelsedatum.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Gammal PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">svag</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">rimlig</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">bra</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">stark</string>\n  <string name=\"encrypt_keys_dialog_show\">Visa PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Kryptering…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Dekrypterar…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Klar.</string>\n  <string name=\"scan_camera_problem_dialog_title\">Ursäkta</string>\n  <string name=\"scan_camera_problem_dialog_message\">Kameran har ett problem. Du behöver antagligen starta om enheten.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Kamerarättighet</string>\n  <string name=\"scan_camera_permission_dialog_message\">För att kunna skanna QR-koder, måste du tillåta åtkomst till kameran.</string>\n  <string name=\"input_parser_io_error\">Kan inte läsa av data:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Kan inte känna igen inmatning:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Ogiltig Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Fick en ogiltig bitcoinadress!\\n(Blandar du ihop Mainnet/Testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Kan inte verifiera betalningsförfrågant:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Ogiltig betalningsförffrågan:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Ogiltig transaktion:\\n%s</string>\n  <string name=\"preferences_activity_title\">Inställningar</string>\n  <string name=\"preferences_category_diagnostics\">Diagnostik</string>\n  <string name=\"preferences_category_labs\">Labb</string>\n  <string name=\"preferences_precision_title\">Valör och precision</string>\n  <string name=\"preferences_precision_summary\">Enhet att visa belopp i. Detta påverkar inte beräkningar.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 decimaler</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 decimaler</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 decimaler</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 decimaler</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, inga decimaler</string>\n  <string name=\"preferences_own_name_title\">Ditt namn</string>\n  <string name=\"preferences_own_name_summary\">Skriv ditt namn för att användas vid betalningsmottagande. Gärna kort.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Stäng \\\"skicka bitcoin\\\"-dialogen automatiskt.</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Stänger dialogrutan när en betalning har slutförts.</string>\n  <string name=\"preferences_trusted_peer_title\">Säkra noder</string>\n  <string name=\"preferences_trusted_peer_summary\">IP eller värdnamn hos enskild peer att ansluta till.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Söker…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Okänt värdnamn!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Hoppa över ordinarie Peer-upptäckt</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Förhindrar anslutning till någon peer annat än den peer du litar på.</string>\n  <string name=\"preferences_block_explorer_title\">Block-utforskare</string>\n  <string name=\"preferences_block_explorer_summary\">Extern block-utforskare för att leta efter transaktioner, adresser och block.</string>\n  <string name=\"preferences_data_usage_title\">Dataanvändning</string>\n  <string name=\"preferences_data_usage_summary\">Visa alternativ för att begränsa dataanvändning över mobila nätverk.</string>\n  <string name=\"preferences_remind_balance_title\">Påminnelse om summa</string>\n  <string name=\"preferences_remind_balance_summary\">Efter ett par veckors inaktivitet kommer appen ge en påminnelse om det fortfarande finns ett belopp i plånboken.</string>\n  <string name=\"preferences_show_disclaimer_title\">Visa ansvarsfriskrivning</string>\n  <string name=\"preferences_show_disclaimer_summary\">Läste du verkligen säkerhetsinformationen? Har du redan säkerhetskopierat din plånbok till en säker plats?</string>\n  <string name=\"preferences_report_issue_title\">Rapportera problem</string>\n  <string name=\"preferences_initiate_reset_title\">Återställ blockkedjan</string>\n  <string name=\"preferences_initiate_reset_summary\">Återställer blockkedjan, transaktioner och plånboksbalansen, det tar en stund.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Vill du återställa och återsynkronisera blockkedjan? Detta kommer att tillfälligt dölja plånbokens saldo och radera genomförda transaktioner. Båda dessa kommer att återställas när blockkedjans synkronisering fortsätter.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Återställ</string>\n  <string name=\"preferences_extended_public_key_title\">Visa extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Visa din plånboks publika huvudnyckel så den kan importeras till andra program och tjänster. Men var försiktig: Detta kommer att avslöja dina kontouppgifter för det program som importerar nyckeln.</string>\n  <string name=\"bitmap_fragment_share\">Dela…</string>\n  <string name=\"extended_public_key_fragment_title\">Publik huvudnyckel</string>\n  <string name=\"extended_public_key_fragment_share\">Dela extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Rapportera problem</string>\n  <string name=\"report_issue_dialog_title_crash\">Tidigare krasch upptäckt</string>\n  <string name=\"report_issue_dialog_title_transaction\">Rapportera ett problem med den valda betalningen</string>\n  <string name=\"report_issue_dialog_message_issue\">Vänligen beskriv problemet så exakt att det kan reproduceras. Skriv helst på engelska om möjligt.</string>\n  <string name=\"report_issue_dialog_message_crash\">Vill du skicka en krasch rapport och hjälpa att fixa det här problemet i framtiden?</string>\n  <string name=\"report_issue_dialog_description\">problembeskrivning</string>\n  <string name=\"report_issue_dialog_report\">Rapportera</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Bifoga enhetsinformation</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Bifoga applikationslogg</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Bifoga plånboksdump</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Skicka rapport med…</string>\n  <string name=\"about_title\">Om</string>\n  <string name=\"about_version_title\">Version</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">Licens</string>\n  <string name=\"about_source_title\">Källkod</string>\n  <string name=\"about_category_credits\">Den här appen använder…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, en implementation av Bitcoin-protokollet</string>\n  <string name=\"about_credits_zxing_title\">ZXing, ett bibliotek för bearbetning av QR-koder</string>\n  <string name=\"about_market_app_title\">%s-sida</string>\n  <string name=\"about_market_app_summary\">Recensera eller betygsätt appen</string>\n  <string name=\"about_faq_title\">FAQ</string>\n  <string name=\"about_faq_summary\">Vanligt ställda frågor om appen</string>\n  <string name=\"notification_coins_received_msg\">Mottagit %s</string>\n  <string name=\"notification_peers_connected_msg\">Ansluten till %d noder</string>\n  <string name=\"notification_inactivity_title\">Du har fortfarande bitcoin på den här enheten!</string>\n  <string name=\"notification_inactivity_message\">Kom ihåg att din plånbokssumma på %s kommer att försvinna om du avinstallerar Bitcoin-appen utan att skicka bort den först.</string>\n  <string name=\"notification_inactivity_message_donate\">Om du inte bryr dig om dina bitcoin kan du också donera dem till Bitcoin Wallet-projektet.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Påminn senare</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Påminn mig inte</string>\n  <string name=\"notification_channel_received_name\">Mottagna betalningar</string>\n  <string name=\"notification_channel_ongoing_name\">Bakgrundsaktivitet</string>\n  <string name=\"notification_channel_important_name\">Viktiga varningar</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin-saldo</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Avsluta</string>\n  <string name=\"button_cancel\">Avbryt</string>\n  <string name=\"button_retry\">Försök igen</string>\n  <string name=\"button_help\">Hjälp</string>\n  <string name=\"button_add\">Lägg till</string>\n  <string name=\"button_delete\">Ta bort</string>\n  <string name=\"button_set\">Använd</string>\n  <string name=\"button_remove\">Ta bort</string>\n  <string name=\"button_edit\">Redigera</string>\n  <string name=\"button_copy\">Kopiera</string>\n  <string name=\"button_paste\">Klistra in</string>\n  <string name=\"button_share\">Dela</string>\n  <string name=\"button_set_as_default\">Ange som standard</string>\n  <string name=\"button_request_coins\">Mottag bitcoin</string>\n  <string name=\"button_send_coins\">Skicka bitcoin</string>\n  <string name=\"button_scan\">Skanna</string>\n  <string name=\"button_settings\">Inställningar</string>\n  <string name=\"action_show_qr\">Visa QR-kod</string>\n  <string name=\"action_browse\">Bläddra</string>\n  <!--generic strings-->\n  <string name=\"time_today\">idag</string>\n  <string name=\"address_unlabeled\">(saknar etikett)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">fel PIN!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O error: %s</string>\n  <string name=\"error_parse\">Parse error: %s</string>\n  <string name=\"error_http\">HTTP error %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetoothfel: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sv/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tDen övre halvan av skärmen visar ditt saldo i Bitcoin och en vald valuta.\n\t\t\tKlicka för att gå till listan över valutor, och klicka på en valuta för att sätta den som standard.\n\t\t</p>\n\t\t<p>\n\t\t\tQR-koden till höger innehåller din bitcoin-adress och kan användas för att en annan part ska skanna den.\n\t\t\tKlicka på QR-koden för att få en större version av den.\n\t\t</p>\n\t\t<p>\n\t\t\tBotten av skärmen täcks av din transaktionslista, vilken är tom från början.\n\t\t\tVäntande transaktioner är utgråade tills de är bekräftade.\n\t\t\tKlicka på en post för att lägga till avsändaren eller mottagaren i adressboken.\n\t\t</p>\n\t\t<p>\n\t\t\tDu kan skicka en myntbegäran genom att klicka på knapparna i åtgärdsfältet.\n\t\t\tFler alternativ finns under alternativmenyn.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tMed denna dialog kan du ta emot bitcoin från någon annan (som redan har Bitcoin Wallet installerad på sin telefon).\n\t\t</p>\n\t\t<p>\n\t\t\tFörst anger du hur många bitcoin du vill att de skickar.\n\t\t</p>\n\t\t<p>\n\t\t\tSedan kan den andra personen scanna QR-koden.\n\t\t\tEller så använder du \\\"Dela\\\" knappen i aktivitetslistan för att skicka din uppmaning att skicka bitcoin.\n\t\t\tDen andra personen behöver sedan bara klicka på den Bitcoin-URL du skickat.\n\t\t</p>\n\t\t<p>\n\t\t\tSedan kommer den andra personen att få se en dialogruta där alla fält redan är ifyllda.\n\t\t\tOm han eller hon sedan accapterar transaktionen så skickas bitcoin till dig.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tDu har påbörjat skickandet av bitcoin.\n\t\t\tDu kom hit från huvudskärmen eller genom att klicka på en Bitcoin-URL i din webbläsare.\n\t\t</p>\n\t\t<p>\n\t\t\tAnge först vilken Bitcoin adress du vill skicka till.\n\t\t\tAdressen kan automatiskt fyllas i om den börjar med någon av adresserna i din adressbok.\n\t\t\tDu kan också scanna en QR-kod innehållande en Bitcoin-adress, genom att trycka på QR knappen i aktivitetslistan.\n\t\t</p>\n\t\t<p>\n\t\t\tSedan kan du se hur många bitcoin du för tillfället kan skicka.\n\t\t\tOm det antalet skiljer sig från det som visas på huvudskärmen, så beror det på hittills obekräftade överföringar som du ännu inte får använda.\n\t\t</p>\n\t\t<p>\n\t\t\tSlutligen anger du hur många bitcoin du skicka.\n\t\t</p>\n\t\t<p>\n\t\t\tDu kan skapa en transaktion även om du inte är online.\n\t\t\tDen kommer att skickas nästa gång Bitcoin Wallet startas.\n\t\t\tOm du vill att en transaktion ska hanteras så fort som möjligt, se till att ha bra uppkoppling till internet (exempelvis ett WLAN).\n\t\t</p>\n\t\t<p>\n\t\t\tNotera:\n\t\t\tTransaktioner kan inte stoppas!\n\t\t\tKontrollera alltid adressen du skickar till.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Några ord om säkerhet och bitcoin:</n>\n\t\t</p>\n\t\t<p>\n\t\t\tDina bitcoin i Bitcoin Wallet sparas på din Android telefon.\n\t\t\t<b>Om du tappar bort din telefon, så tappar du bort dina bitcoin.</b>\n\t\t\tPrecis som pengar i din vanliga plånbok.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Innan du avinstallerar Bitcoin Wallet</b> (eller tar bort appens data/rensar din telefon), <b>skicka dina bitcoin till en annan wallet</b>.\n\t\t\tAlla kvarvarande bitcoin kommer att försvinna.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Transaktioner kan inte stoppas</b>.\n\t\t\tEfter att du skickat bitcoin finns det inget sätt att få dem tillbaka, annat än om du vet vem mottagaren är, och han/hon skickar dem tillbaka.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Se till att skydda din telefon!</b>\n\t\t\tInstallera endast appar du helt litar på.\n\t\t\tEn elak app kan försöka stjäla din wallet.\n\t\t</p>\n\t\t<p>\n\t\t\tUtsätt dig inte för onödig risk!\n\t\t\t<b>Använd bara Bitcoin Wallet med mindre belopp</b> för daglig användning.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sw/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Pochi yako mara kwa upya. Sasa, itakuwa upya.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Wacha tu! Matumizi kwa wajibu wako mwenyewe. Upechop maelezo usalama.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Lazima kubamba backup!</string>\n  <string name=\"blockchain_state_progress_hours\">masaa %1$s, %2$d marehemu</string>\n  <string name=\"blockchain_state_progress_days\">siku %1$s, %2$d mwishoni mwa</string>\n  <string name=\"blockchain_state_progress_weeks\">wiki %1$s, %2$d marehemu</string>\n  <string name=\"blockchain_state_progress_months\">miezi %1$s, %2$d marehemu</string>\n  <string name=\"blockchain_state_progress_downloading\">Sambamba na mtandao</string>\n  <string name=\"blockchain_state_progress_stalled\">Sambamba kusimamishwa</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Haitoshi disc nafasi</string>\n  <string name=\"blockchain_state_progress_problem_network\">Hakuna signal wa mtandao</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Mtaani kunakiliwa na clipboard</string>\n  <string name=\"wallet_balance_fragment_too_much\">Ume Sonko na pochi yako! Tafadhali hoja pesa mahala pa usalama.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Mizani ni haipatikani kwa sasa</string>\n  <string name=\"exchange_rates_activity_title\">Viwango vya soko</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Hakuweza kupata viwango vya soko</string>\n  <string name=\"exchange_rates_fragment_default\">(kawaida)</string>\n  <string name=\"exchange_rates_fragment_rate\">viwango</string>\n  <string name=\"exchange_rates_fragment_balance\">mizani</string>\n  <string name=\"exchange_rates_fragment_source\">Bei kutoka %s</string>\n  <string name=\"exchange_rates_options_search\">Kupata viwango vya soko</string>\n  <string name=\"wallet_transactions_options_filter_received\">Kupokea</string>\n  <string name=\"wallet_transactions_options_filter_all\">Wote</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Alimtuma</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Hakuna Bitcoin kupokea hivyo mbali</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Hakuna Bitcoin kutumwa hivyo mbali</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Jinsi ya bamba Bitcoins? Nunua na pesa ya kawaida, na biashara, na kazi.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Pongezi budha! Wewe kupokea pesa yako ya kwanza! Lazima kubamba backup, Huna wanataka kupata kuiba.</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">kupatikana</string>\n  <string name=\"wallet_transactions_fragment_internal\">ndani</string>\n  <string name=\"wallet_options_safety_menu\">Usalama</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Chagua PIN za malipo</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Chenji PIN za malipo</string>\n  <string name=\"wallet_options_safety\">Maelezo usalama</string>\n  <string name=\"wallet_options_donate\">Kuchangia</string>\n  <string name=\"wallet_donate_address_label\">Mchango na pochi yako</string>\n  <string name=\"wallet_low_storage_dialog_title\">Disc yako ni chini</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Pochi ya Bitcoin anatumia disc kurekordi biashara yako. Ni matumizi ya shughuli na vitalu.</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Kudhibiti programu</string>\n  <string name=\"wallet_timeskew_dialog_title\">Cheki wazingira wakati yako!</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Simu yako wakati ni makosa %d minuti. Pengine hawezi kutuma Bitcoin kwa sababu ya tatizo hili. Angalia mipangilio yako majira ya saa.</string>\n  <string name=\"wallet_version_dialog_title\">Toleo jipya ni hapa kwa shusha!</string>\n  <string name=\"wallet_version_dialog_msg\">Hii toleo kunasa makosa makubwa. Kwa maelezo, kuona changelog juu ya %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Kama huwezi kupata toleo jipya, Android yako ni mzee, sana!</string>\n  <string name=\"wallet_version_dialog_button_binary\">Shusha</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android yako ni mzee, sana!</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Matoleo ya pili ya pochi hii si msaada Android yako yoyote zaidi. Katika baadhi ya matukio, matumizi ya pesa itakuwa vigumu. Kama wewe ni uhakika, tafadhali kuchukua pesa yako hivi karibuni.</string>\n  <string name=\"send_coins_activity_title\">Kutuma Bitcoin</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Kupata sahihi ya %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Kupata sahihi alishindwa.</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Sahihi mbaya!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">Kucheki na: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">haijulikani</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Lipa</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">Kutoa anwani au jina</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Bitcoin anwali batili!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">complex\\nanwali</string>\n  <string name=\"send_coins_fragment_pending\">(%s kusubiri kwa ajili ya uthibitisho)</string>\n  <string name=\"send_coins_fragment_amount_label\">Kiasi kulipa</string>\n  <string name=\"send_coins_fragment_hint_fee\">Mtandao ada ndogo ya %s atalipwa.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Kiasi ni ndogo mno kutuma.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Haitoshi mizani. Wewe ni kukosa %s.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Malipo kidogo katika Pochi yako si kuongeza hadi thamani ya kutosha.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Lipa moja kwa moja na mpokeaji.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Wewe mafanikio kulipwa moja kwa moja kwa mpokeaji.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Malipo yako moja kwa moja na mpokeaji ilikataliwa.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Malipo yako moja kwa moja na mpokeaji alishindwa.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Malipo yako moja kwa moja na mpokeaji bado ni kuwa broadcasted na P2P.</string>\n  <string name=\"send_coins_fragment_button_send\">Lipa!</string>\n  <string name=\"send_coins_fragment_button_back\">Rudisha</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Haitoshi usawa.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Haitoshi %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Wacha tu! Unataka kulipa kilakitu?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Kulipa kilakitu alishindwa</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Akieleza siri yako…</string>\n  <string name=\"send_coins_preparation_msg\">Kutiwa saini…</string>\n  <string name=\"send_coins_sending_msg\">Kulipa…</string>\n  <string name=\"send_coins_sent_msg\">Kulipwa!</string>\n  <string name=\"send_coins_failed_msg\">Alisindwa!</string>\n  <string name=\"send_coins_error_msg\">Tatizo katika malipwo!</string>\n  <string name=\"send_coins_options_empty\">Kuwa sota.</string>\n  <string name=\"sweep_wallet_activity_title\">Kulipa kutoka pochi ya karatasi.</string>\n  <string name=\"sweep_wallet_fragment_intro\">Wewe ni kuhusu kulipa kutoka pochi ya karatasi. Hii kufanya za pochi sota. Kwa sababu ya kiusalama, tafadhali usitumie za pochi ya karatasi tena.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Pochi ya karatasi ya kawaida ni kutumika za kuweka pesa. Baadi ya mashine magazeti juu ya karatasi badala ya kulipa wewe moja kwa moja. Wakati mwingine watu kulipa na pochi ya karatasi. Hii haifai.</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Kuanza kwa kutumia kamera yako ya kupata ufunguo wa pochi ya karatasi. Waandishi wa habari kifungo kamera.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Muhimu hii ina siri.</string>\n  <string name=\"sweep_wallet_fragment_password\">siri</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">siri mbaya</string>\n  <string name=\"sweep_wallet_fragment_balance\">Mizani wa kulipa</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Mwanbie siri yako</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Cheki</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Akielezea siri yako. Hii inaweza kuchukua 2 minuti chache.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Kubamba usawa…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Kubamba usawa alishindwa</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Haitoshi usawa</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Haitoshi usawa katika pochi.</string>\n  <string name=\"sweep_wallet_options_reload\">Kubamba usawa tena</string>\n  <string name=\"maintenance_dialog_title\">Matengenezo ilipendekeza</string>\n  <string name=\"maintenance_dialog_message\">Wewe walilipwa %1$s kwa anwani uhaba. Je, ungependa kuchukua pesa hii ya kupata anwani? Mtandao ada ndogo ya %2$s atalipwa.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Akieleza siri yako…</string>\n  <string name=\"maintenance_dialog_state_done\">Sawa!</string>\n  <string name=\"maintenance_dialog_button_move\">Enda</string>\n  <string name=\"request_coins_activity_title\">Kuomba Bitcoin</string>\n  <string name=\"request_coins_fragment_amount_label\">Tafsiri kiasi (hiari)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Kukubali malipo kwa Bluetooth kwa ajili ya usindikaji zaidi ya kuaminika</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Hebu mtumaji kusoma hii muhimu.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Au bomba NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">Malipo ombi kunakiliwa na clipboard.</string>\n  <string name=\"request_coins_share_dialog_title\">Kushiriki ombi malipo na Bitcoin…</string>\n  <string name=\"request_coins_no_local_app_msg\">Hakuna mwingine Bitcoin programu kupatikana</string>\n  <string name=\"request_coins_options_local_app_title\">Ombi kutoka mpango wa ndani</string>\n  <string name=\"address_book_activity_title\">Kitabu cha anwani</string>\n  <string name=\"address_book_list_receiving_title\">Anwani yako</string>\n  <string name=\"address_book_list_sending_title\">Kutuma anwani</string>\n  <string name=\"address_book_empty_text\">Hakuna anwani katika anwani yako ya kitabu</string>\n  <string name=\"address_book_context_send_title\">Lipa ya anwani</string>\n  <string name=\"address_book_context_edit_title\">Mabadiliko ya anwani</string>\n  <string name=\"address_book_context_remove_title\">Kuondoa anwani</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Nakala ya clipbard</string>\n  <string name=\"address_book_options_scan_title\">Bamba anwani</string>\n  <string name=\"address_book_options_scan_invalid\">Habari kutoka kubamba ni haitambuliwi</string>\n  <string name=\"address_book_row_message_compromised_key\">Anwani hii inweza kuwa uhaba. Tafadhali usitumie anwani hii tena.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Angalia anwani</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Mabadiliko ya anwani</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Anwani</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Jina</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Okoa</string>\n  <string name=\"transaction_row_fee\">Ata mtandao</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Malipo hii ni bado alifanya.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Shuguli hii inafanya pochi yako nguvu dhidi ya majambazi. &lt;u&gt;Habari zaidi.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_received_direct\">Malipo hii iliwekwa moja kwa moja na mpokeaji. Kuna hatari kwamba kamwe inakuwa halali.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Malipo hii lazima kuwa halali katika muda mfupi.</string>\n  <string name=\"transaction_row_message_received_dead\">Malipo hii imeluwa kuachwa kwa mtumaji.</string>\n  <string name=\"transaction_row_message_received_dust\">Pesa hii ni ndogo sana. Ni inaweza pengine kamwe nyuki halali.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Hii malipo inalipa Pochi nyingi, ambayo inaweza kupunguza Simu yako chini. kama unaweza, kujaribu kupokea malipo maana tu kwa ajili yenu.</string>\n  <string name=\"network_monitor_activity_title\">Mtandao wa kufuatilia</string>\n  <string name=\"network_monitor_peer_list_title\">Rika</string>\n  <string name=\"network_monitor_block_list_title\">Vitalu</string>\n  <string name=\"block_row_now\">Sasa</string>\n  <string name=\"peer_list_fragment_empty\">Hakuna rika kushikamana</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Kurejesha pochi</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Utakuwa kuchukua pochi yako ya sasa. Pesa yako yote yatapolea isipokuwa kama una backup.</string>\n  <string name=\"import_keys_dialog_warning\">Muhimu! Je, si nakala funguo kutoka vyanzo haijulikani. Si kila mtu ni waaminifu.</string>\n  <string name=\"import_keys_dialog_button_import\">Kurejesha</string>\n  <string name=\"restore_wallet_dialog_success\">Pochi yako ni kurejeshwa.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Pochi yako ni kurejeshwa kwa mafanikio. Pochi yako sasa bamba mizani. hii inachukua muda mfupi.</string>\n  <string name=\"import_keys_dialog_failure\">Pochi hakuweza kurejeshwa:\\n\\n%s\\n\\nSiri mbaya?</string>\n  <string name=\"export_keys_dialog_title\">Fanya backup za pochi yako</string>\n  <string name=\"backup_wallet_dialog_message\">Backup yako itakuwa imeandikwa na siri, na kuhamishwa kwa disc nje.</string>\n  <string name=\"export_keys_dialog_button_export\">Fanya backup</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Umeweka backup ya pochi yako za <tt>%s</tt></p><p><b>Kama una backup yako katika simu yako, una hatari ya kupoleza pesa yako.</b></p><p>Kuhakikisha kwamba unakumbuka siri ya backup.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Backup zza pochi yako alishindwa:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">siri</string>\n  <string name=\"import_export_keys_dialog_show\">Soma siri</string>\n  <string name=\"import_export_keys_dialog_failure_title\">kosa</string>\n  <string name=\"import_keys_intent_filter_action\">Kurejesha pochi</string>\n  <string name=\"encrypt_keys_dialog_title\">PIN za malipo</string>\n  <string name=\"encrypt_keys_dialog_message\">Malipo kwa pochi yako watalindwa na PIN hii.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Onyo! Je, si kutumia namba ya kawaida kama birthdates katika PIN yako.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">PIN mzee</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">dhaifu</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">haki</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">halali</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">nguvu</string>\n  <string name=\"encrypt_keys_dialog_show\">Soma PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Kuzungumzia siri…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Akieleza siri yako…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Sawa!</string>\n  <string name=\"scan_camera_problem_dialog_title\">Pole</string>\n  <string name=\"scan_camera_problem_dialog_message\">Kamera ina tatizo. Pengine haja ya kuanzisha upya simu.</string>\n  <string name=\"input_parser_io_error\">Je, si bamba habari:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Je, si bamba pembejeo:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Wacha tu! Bitcoin URI ni haramu!:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Bitcoin anwali ni haramus!\\n(Je, una Mainnet/Testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Je, si ishara ombi malipo:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Ombi malipo haramu:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Shughuli haramu:\\n%s</string>\n  <string name=\"preferences_activity_title\">Mazingira</string>\n  <string name=\"preferences_category_diagnostics\">Utafiti</string>\n  <string name=\"preferences_category_labs\">Maabara</string>\n  <string name=\"preferences_precision_title\">Dhebebu na usahihi</string>\n  <string name=\"preferences_precision_summary\">Vipimo kitengo. Hii haina kuathiri hesabu.</string>\n  <string name=\"preferences_trusted_peer_title\">Rika nzuri</string>\n  <string name=\"preferences_trusted_peer_summary\">IP au jina la mpangishaji wa rika moja kuunganisha.</string>\n  <string name=\"preferences_trusted_peer_only_title\">Ruka utafiti wa kawaida wa rika</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Kuzuia kuunganisha na wenzao yoyote zaidi ya rika kuaminiwa.</string>\n  <string name=\"preferences_data_usage_title\">Matumizi ya habari</string>\n  <string name=\"preferences_data_usage_summary\">Onyesha chaguo kuzuia matumizi ya data juu ya mitandao ya simu.</string>\n  <string name=\"preferences_report_issue_title\">Ripoti tatizo</string>\n  <string name=\"preferences_initiate_reset_title\">Upya block chain</string>\n  <string name=\"preferences_initiate_reset_summary\">Upya block chain, shughuli, na usalama ya pochi. Bambika itachukua muda mfupi.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Je, ungependa upya na bambika na block chain?\\n\\nHii muda kujificha pochi mizani yako na kuondoa shughuli. Wote itarejea kama block chain kubamba ikiendelea.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Upya</string>\n  <string name=\"preferences_extended_public_key_title\">Soma extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">Mwambie kupanuliwa umma muhimu ya pochi yako, hivyo inaweza kuwa nje katika programu na huduma nyingine. Kuwa makini: kufanya hivyo itakuwa wazi siri yako ya fedha kwa programu hiyo.</string>\n  <string name=\"extended_public_key_fragment_title\">Mwambie kupanuliwa umma muhimu ya pochi yako</string>\n  <string name=\"extended_public_key_fragment_share\">Shiriki extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">Ripoti tatizo</string>\n  <string name=\"report_issue_dialog_title_crash\">Kupatikana ajali uliopita</string>\n  <string name=\"report_issue_dialog_message_issue\">Tafadhali eleza tatizo lako kama just kama unaweza.</string>\n  <string name=\"report_issue_dialog_message_crash\">Je, ungependa kutuma ripoti ya kukwama? Hii inaweza kusaidia kurekebisha tatizo katika siku zijazo.</string>\n  <string name=\"report_issue_dialog_description\">Kuelezea tatizo lako, tafadhali</string>\n  <string name=\"report_issue_dialog_report\">Ripoti</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Habari ya simu</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Taarifa ya logi mpango</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Taarifa ya pochi ajali</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Soma ripoti kutumia…</string>\n  <string name=\"about_title\">Kuhusu</string>\n  <string name=\"about_version_title\">Maelezo</string>\n  <string name=\"about_copyright_title\">Hati miliki</string>\n  <string name=\"about_license_title\">leseni</string>\n  <string name=\"about_source_title\">Source code (chanzo)</string>\n  <string name=\"about_category_credits\">Hii programu anatumia…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_title\">Tovuti ya %s</string>\n  <string name=\"about_market_app_summary\">Mapitio na kiwango programu hii</string>\n  <string name=\"notification_coins_received_msg\">Kupokea %s</string>\n  <string name=\"notification_peers_connected_msg\">%d rika kushikamana</string>\n  <!-- generic buttons -->\n  <string name=\"button_ok\">Sawa</string>\n  <string name=\"button_dismiss\">Umekumfukuza</string>\n  <string name=\"button_cancel\">Umefikiri tena</string>\n  <string name=\"button_retry\">Jaribu tena</string>\n  <string name=\"button_help\">Usaidia</string>\n  <string name=\"button_add\">Adisia</string>\n  <string name=\"button_delete\">Umefuta</string>\n  <string name=\"button_set\">Chagua</string>\n  <string name=\"button_remove\">Ukuondoa</string>\n  <string name=\"button_edit\">Chenji</string>\n  <string name=\"button_copy\">Unakala</string>\n  <string name=\"button_paste\">Umeweka</string>\n  <string name=\"button_share\">Umeshiriki</string>\n  <string name=\"button_set_as_default\">Chagua kuwa kama kawaida</string>\n  <string name=\"button_request_coins\">Ombi pesa</string>\n  <string name=\"button_send_coins\">Lipa pesa</string>\n  <string name=\"button_scan\">Bamba</string>\n  <string name=\"button_settings\">Mazingira</string>\n  <string name=\"action_show_qr\">Soma QR code</string>\n  <string name=\"action_browse\">Vinjari</string>\n  <string name=\"time_today\">leo</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">PIN mbaya</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sw480dp/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <dimen name=\"font_size_tiny\">12sp</dimen>\n    <dimen name=\"font_size_small\">15sp</dimen>\n    <dimen name=\"font_size_normal\">18sp</dimen>\n    <dimen name=\"font_size_large\">24sp</dimen>\n    <dimen name=\"font_size_huge\">34sp</dimen>\n    <dimen name=\"symbol_size_normal\">16sp</dimen>\n    <dimen name=\"wallet_address_qr_size\">80dp</dimen>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sw600dp/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <dimen name=\"font_size_tiny\">13sp</dimen>\n    <dimen name=\"font_size_small\">16sp</dimen>\n    <dimen name=\"font_size_normal\">20sp</dimen>\n    <dimen name=\"font_size_large\">26sp</dimen>\n    <dimen name=\"font_size_huge\">42sp</dimen>\n    <dimen name=\"symbol_size_normal\">17sp</dimen>\n    <dimen name=\"wallet_address_qr_size\">112dp</dimen>\n    <dimen name=\"request_coins_qr_size\">160dp</dimen>\n    <dimen name=\"bitmap_dialog_qr_size\">288dp</dimen>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-sw720dp/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <dimen name=\"font_size_tiny\">14sp</dimen>\n    <dimen name=\"font_size_small\">18sp</dimen>\n    <dimen name=\"font_size_normal\">22sp</dimen>\n    <dimen name=\"font_size_large\">30sp</dimen>\n    <dimen name=\"font_size_huge\">50sp</dimen>\n    <dimen name=\"symbol_size_normal\">19sp</dimen>\n    <dimen name=\"list_entry_padding_horizontal_cram\">8dp</dimen>\n    <dimen name=\"list_entry_padding_horizontal\">16dp</dimen>\n    <dimen name=\"list_entry_padding_horizontal_lax\">22dp</dimen>\n    <dimen name=\"list_entry_padding_vertical_cram\">6dp</dimen>\n    <dimen name=\"list_entry_padding_vertical\">12dp</dimen>\n    <dimen name=\"list_entry_padding_vertical_lax\">16dp</dimen>\n    <dimen name=\"divider_currency_padding\">16dp</dimen>\n    <dimen name=\"wallet_address_qr_size\">128dp</dimen>\n    <dimen name=\"request_coins_qr_size\">192dp</dimen>\n    <dimen name=\"bitmap_dialog_qr_size\">320dp</dimen>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-tr/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Cüzdanınız sıfırlandı,\\nnormale dönüşü biraz vakit alacaktır.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Tüm riski siz üstlenmiş olursunuz. &lt;u&gt;Güvenlik notlarını&lt;/u&gt; okuyunuz.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">&lt;u&gt;Cüzdanınızı yedeklemeniz&lt;/u&gt; gerekmektedir!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d saat geride</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d gün geride</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d hafta geride</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d ay geride</string>\n  <string name=\"blockchain_state_progress_downloading\">Şebeke ile eşleşiliyor</string>\n  <string name=\"blockchain_state_progress_stalled\">Eşleşme durdu</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Eşleşme: Yedekleme sorunu</string>\n  <string name=\"blockchain_state_progress_problem_network\">Eşleşme: Şebeke sorunu</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Bitcoin adresi panoya kopyalandı</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">Gizliliğinizi korumak için bir ödeme aldığında adresiniz değişecektir.</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">Donanımınız eski ve güvensiz. Lütfen sadece küçük işlemler için kullanın.</string>\n  <string name=\"wallet_balance_fragment_too_much\">Bu meblağ cebinizde taşımak için oldukça fazladır. Birazını daha güvenli bir yere aktarınız.</string>\n  <string name=\"wallet_balance_fragment_replaying\">Tekrar sırasında bakiye kullanılamaz</string>\n  <string name=\"exchange_rates_activity_title\">Döviz kurları</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Değişim kuru bulunamadı.</string>\n  <string name=\"exchange_rates_fragment_default\">(varsayılan)</string>\n  <string name=\"exchange_rates_fragment_rate\">oran</string>\n  <string name=\"exchange_rates_fragment_balance\">bakiye</string>\n  <string name=\"exchange_rates_fragment_source\">%s unsurundan fiyat</string>\n  <string name=\"exchange_rates_options_search\">Değişim kuru ara</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Şimdiye kadar hiçbir Bitcoin alınmadı</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Şimdiye kadar hiçbir Bitcoin gönderilmedi</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Nasıl Bitcoin elde edilir?\\nGeleneksel para ile satın alabilir,\\nhizmet veya mal satabilir ya da\\nçalışarak kazanabilirsiniz.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Tebrikler, ilk ödemenizi almış bulunuyorsunuz! Kayba karşı korunmak için &lt;u&gt;cüzdanınızı yedeklediniz mi&lt;/u&gt;?</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">İpucu: cüzdanınızın güvenliğini arttırmak için &lt;u&gt;cihazınızı şifreleyebilirsiniz&lt;/u&gt;. Bu aynı zamanda diğer uygulamaları da koruyacaktır.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Bitcoin ağı bakımdadır. Bakım bitene kadar bitcoin gönderip almanızı tavsiye etmiyoruz. &lt;u&gt;Daha fazla bilgi.&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">oluşturulan</string>\n  <string name=\"wallet_transactions_fragment_internal\">Dahili</string>\n  <string name=\"wallet_transactions_options_filter\">Filtre</string>\n  <string name=\"wallet_transactions_options_filter_all\">Tüm ödemeler</string>\n  <string name=\"wallet_transactions_options_filter_received\">Alınan ödemeler</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Gönderilmiş ödemeler</string>\n  <string name=\"wallet_options_safety_menu\">Güvenlik</string>\n  <string name=\"wallet_options_encrypt_keys_set\">Ödeme PIN\\'i ayarla</string>\n  <string name=\"wallet_options_encrypt_keys_change\">Ödeme PIN\\'i değiştir</string>\n  <string name=\"wallet_options_safety\">Güvenlik notları</string>\n  <string name=\"wallet_options_technical_notes_title\">Teknik notlar</string>\n  <string name=\"wallet_options_donate\">Bağış</string>\n  <string name=\"wallet_donate_address_label\">Bu yazılıma bağış yap</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">Güvenlik uyarısı</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">Cihazınızın Bluetooth bileşeni savunmasızdır. Bu cihazdaki Bitcoins\\'leriniz, onları saklamak için kullandığınız uygulamadan bağımsız olarak tehlikededir!\\n\\nBluetooth\\'u derhal kapatın ve güvenlik düzeltme eki seviyesi \\'%s\\' veya üstünü destekleyen bir Android veya OS güncellemesi için cihazınızın üreticisine danışın.</string>\n  <string name=\"wallet_low_storage_dialog_title\">Dahili depolama alanı düşük!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin cüzdanı muameleleri ve blokları hatırlamak için dahili depolama alanını kullanır. Bu alan yetersiz kalırsa cüzdan çalışmayı durduracak ve Bitcoinleriniz risk altında kalacaktır!\\n\\nKullanılmayan uygulamaları kaldırmak için Uygulama Yöneticisini başlatmak ister misiniz?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Uygulamaları yönet</string>\n  <string name=\"wallet_timeskew_dialog_title\">Tarih &amp; zaman ayarlarını kontrol ediniz</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Cihazınızın saati %d dakika gecikmiş ya da ileridedir. Bu sorun sebebiyle muhtemelen Bitcoin alamayacak ve gönderemeyeceksiniz.\\n\\nSaat, tarih ve zaman dilimi ayarlarını kontrol edip gerekliyse değiştirmeniz gereklidir.</string>\n  <string name=\"wallet_version_dialog_title\">Yeni bir sürüm mevcuttur!</string>\n  <string name=\"wallet_version_dialog_msg\">Bu sürüm önemli hata düzeltmeleri içerir. Detaylar için %s\\'de değişikliklere bakınız.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Eğer bir güncelleme görmüyorsanız, bu muhtemelen sizin Android sürümünüzün artık desteklenmediği anlamına gelir.</string>\n  <string name=\"wallet_version_dialog_button_binary\">İndir</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android sürümü eski</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Gelecek Bitcoin Wallet sürümünün cihazınızı desteklememesi mümkündür. Bazı durumlarda bu cihazla bitcoin harcamak zor olabilir.\\n\\nBitcoinlerinizi güvenli bir yere aktarmanız tavsiye edilir.</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">Ayarları açarken bir sorun oluştu</string>\n  <string name=\"send_coins_activity_title\">Bitcoin gönder</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">%s unsurundan imza alınıyor…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Ödeme talebi getirilemedi</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">Alacaklı (%1$s) uyumsuz bir ödeme protokolü kullanıyor (neden: %2$s).</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Yanlış imza!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">şunun tarafından denetlenmiştir: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">bilinmiyor</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Şuna öde</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">adını veya adresini giriniz</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Geçersiz Bitcoin adresi!</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">Kendinize göndermek üzeresiniz!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">karmaşık\\nadres</string>\n  <string name=\"send_coins_fragment_pending\">(%s teyit bekliyor)</string>\n  <string name=\"send_coins_fragment_amount_label\">Ödenecek miktar</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">%s değerinde ekonomik bir ücret ödenecektir. \\'Ekonomik\\' seçeneğini sadece teyit süresi sizin için önemli değilse kullanın.</string>\n  <string name=\"send_coins_fragment_hint_fee\">%s değerinde ağ ücreti ödenecektir.</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">%s değerinde öncelik ücreti ödenecektir. Eğer düşük bir ücret sizin için önemliyse, \\'öncelik\\' seçeneğini sadece teyidi mümkün olduğu kadar çabuk almak için kullanın.</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">Bu meblağ göndermek için çok düşüktür.</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">Mevcut paralar yeterli değil. Kaçırıyorsun %s. Bu aynı zamanda şebeke ücretinden de olabilir.</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">Cüzdanınızdaki düşük ödemelerin miktarı gönderilebilir değere erişmiyor.</string>\n  <string name=\"send_coins_fragment_hint_replaying\">Şu anda ödeme yapmak mümkün değildir çünkü bir tekrar oynatma sürmektedir.</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Ödemeyi doğrudan alacaklıya gönder.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Ödemeniz başarıyla doğrudan gönderilmiştir.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Ödemeniz doğrudan bağlantı vasıtasıyla reddedilmiştir.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Doğrudan ödeme başarısız oldu</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Ödemeniz yine de P2P ağı üzerinden yayınlanacaktır.</string>\n  <string name=\"send_coins_fragment_button_send\">Gönder</string>\n  <string name=\"send_coins_fragment_button_back\">Geri</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">Önemli şebeke ücreti</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">Bu ödemeye ilişkin şebeke ücreti (%1$s) miktarı ile (%2$s). ilişkili olarak yüksektir. Yine de göndermek istiyor musun ?</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Mevcut para yeterli değil</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">%s eksik.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Mevcut bütün paranızla ödeme yapmak istiyor musunuz?</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">Cüzdanın boşaltılması başarısız oldu</string>\n  <string name=\"send_coins_fragment_state_decrypting\">Şifre çözülüyor…</string>\n  <string name=\"send_coins_preparation_msg\">İmzalanıyor…</string>\n  <string name=\"send_coins_sending_msg\">Gönderiliyor…</string>\n  <string name=\"send_coins_sent_msg\">Gönderildi!</string>\n  <string name=\"send_coins_failed_msg\">Başarısız oldu!</string>\n  <string name=\"send_coins_error_msg\">Bitcoin gönderimi sırasında problem oluştu!</string>\n  <string name=\"send_coins_options_fee_category\">Ücret</string>\n  <string name=\"send_coins_options_fee_category_economic\">Ekonomik</string>\n  <string name=\"send_coins_options_fee_category_normal\">Normal</string>\n  <string name=\"send_coins_options_fee_category_priority\">Öncelikli</string>\n  <string name=\"send_coins_options_empty\">Boş cüzdan</string>\n  <string name=\"raise_fee_dialog_title\">Şebeke ücretini arttır</string>\n  <string name=\"raise_fee_dialog_message\">Bu ödemenin ağ ücretini %s olarak artırmak istiyor musunuz? Bu, ödeme teyidinin daha çabuk oluşmasını sağlayacaktır.</string>\n  <string name=\"raise_fee_dialog_determining_fee\">Ağ ücreti belirleniyor…</string>\n  <string name=\"raise_fee_dialog_cant_raise\">Bu ödemenin ağ ücreti artırılamaz.</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">Şifre çözülüyor…</string>\n  <string name=\"raise_fee_dialog_state_done\">Tamamlandı.</string>\n  <string name=\"raise_fee_dialog_button_raise\">Arttır</string>\n  <string name=\"sweep_wallet_activity_title\">Kâğıt cüzdanı tara</string>\n  <string name=\"sweep_wallet_fragment_intro\">Bir kupon ya da kâğıt cüzdan taramak üzeresiniz. Bunu yapmanız bu kağıttaki tüm bitcoinleri cihazınızdaki cüzdana taşıyacaktır. Muamele teyit edildiğinde kağıdın hiçbir değeri kalmayacaktır ve güvenlik nedenleriyle tekrar kullanılmamalıdır.</string>\n  <string name=\"sweep_wallet_fragment_hint\">Kâğıt cüzdanlar en sık soğuk depolama için kullanılır. Bazı bankamatikler doğrudan mobil cihazınıza bitcoin yollamaktan ziyade bunu kâğıt çıktısına yazarlar. Bazı kişiler de bazen ön yüklü kâğıt cüzdanları para değeri aktarmak için kullanırlar (tavsiye edilmez).</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Kâğıt cüzdanın özel anahtarını tarayarak başlayın. Kameranın etkinleştirme düğmesini kullanın.</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">Özel anahtar bir parola ile korunmuştur.</string>\n  <string name=\"sweep_wallet_fragment_password\">parola</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">yanlış parola!</string>\n  <string name=\"sweep_wallet_fragment_balance\">Taranacak bakiye</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">Şifreyi çöz</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Tara</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">Şifre çözülüyor…\\n 2 dakikaya kadar sürebilir.</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Bakiye yükleniyor…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Cüzdan bakiyesinin yüklenmesi başarısız oldu</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Para kafi değil</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Cüzdandaki Bitcoin miktarı işlenmek için çok düşük.</string>\n  <string name=\"sweep_wallet_options_reload\">Bakiyeyi tekrar yükle</string>\n  <string name=\"maintenance_dialog_title\">Bakım tavsiye edilir</string>\n  <string name=\"maintenance_dialog_message\">Güvensiz adreslere %1$s aldınız. Bu bitcoinleri güvenli adreslere taşımak ister misiniz? %2$s tutarında düşük bir şebeke ücreti ödenecektir.</string>\n  <string name=\"maintenance_dialog_state_decrypting\">Şifre çözülüyor…</string>\n  <string name=\"maintenance_dialog_state_done\">Tamamlandı.</string>\n  <string name=\"maintenance_dialog_button_move\">Taşı</string>\n  <string name=\"request_coins_activity_title\">Bitcoin talebi</string>\n  <string name=\"request_coins_fragment_amount_label\">Talep edilen miktar (seçime dayalı)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Daha güvenilir işleme için ödemeyi Bluetooth vasıtasıyla kabul et</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Bu kodu gönderici tarafından taratın.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Ya da NFC destekli bir cihaz ile dokunun.</string>\n  <string name=\"request_coins_clipboard_msg\">Bitcoin talebi panoya kopyalandı</string>\n  <string name=\"request_coins_share_dialog_title\">Bitcoin talebini yayınla…</string>\n  <string name=\"request_coins_no_local_app_msg\">Başka bir Bitcoin uygulaması bulunamadı</string>\n  <string name=\"request_coins_options_local_app_title\">Yerel uygulamadan talep</string>\n  <string name=\"address_book_activity_title\">Adres defteri</string>\n  <string name=\"address_book_list_receiving_title\">Alım adresleri</string>\n  <string name=\"address_book_list_receiving_random\">Eski adresler</string>\n  <string name=\"address_book_list_sending_title\">Gönderi adresleri</string>\n  <string name=\"address_book_empty_text\">Adres defterinde hiçbir adres yok</string>\n  <string name=\"address_book_context_send_title\">Şu adrese Bitcoin gönder</string>\n  <string name=\"address_book_context_edit_title\">Adresi düzenle</string>\n  <string name=\"address_book_context_remove_title\">Adresi kaldır</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Panoya kopyala</string>\n  <string name=\"address_book_options_scan_title\">Adresi tara</string>\n  <string name=\"address_book_options_scan_invalid\">Taranan veriler tanınamadı</string>\n  <string name=\"address_book_options_scan_own_address\">Taranmış adres sizinkidir.</string>\n  <string name=\"address_book_row_message_compromised_key\">Bu adres tehlikededir. Onu artık bitcoin almak için kullanmamalısınız.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Gönderi adresi ilâve et</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Gönderi adresinin etiketini düzenle</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">Kendi adresinize etiket iliştirin</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">Kendi adresinizin etiketini düzenleyin</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Adres</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Etiket</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Kaydet</string>\n  <string name=\"transaction_row_fee\">Şebeke ücreti</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Bu ödeme henüz aktarılmamıştır.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Bu muamele cüzdanınızın çalınmaya karşı korunmasını güçlendirir. &lt;u&gt;Daha fazla bilgi.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">Bu muamele önceki bir ödemenin şebeke ücretini arttırır.</string>\n  <string name=\"transaction_row_message_received_direct\">Bu ödeme doğrudan alındı. Asla harcanamayacak olması riski vardır.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">Bu ödemenin teyidi muhtemelen Bitcoin şebekesindeki aşırı yükten dolayı gecikmiştir.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Bu ödeme muhtemelen birkaç dakika içinde harcanabilir hâle gelecektir.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">Bitcoin ağındaki bakım nedeniyle, Bu işlem tamamen doğrulanmış olana kadar güvenli değildir.</string>\n  <string name=\"transaction_row_message_received_in_conflict\">Bu ödemede yüksek gönderici tarafından geri alınma riski vardır! Vaktiniz varsa teyit bekleyin.</string>\n  <string name=\"transaction_row_message_received_dead\">Bu ödeme gönderici tarafından iptal edilmiştir.</string>\n  <string name=\"transaction_row_message_received_dust\">Bu düşük meblağ muhtemelen hiçbir koşulda ekonomik olarak harcanamaz.</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">Bu ödeme sizinkiyle beraber birçok cüzdana ödeme yapmaktadır ve bu uygulamanın zamanla yavaşlamasına yol açar. Mümkünse sadece size ödeme yapan ödeme almaya çalışın.</string>\n  <string name=\"transaction_row_message_received_rbf\">Göndericinin güvenlikli olmayan bir muamele türü kullanmasından ötürü bu ödeme gecikmiştir.</string>\n  <string name=\"network_monitor_activity_title\">Şebeke monitörü</string>\n  <string name=\"network_monitor_peer_list_title\">Eşler</string>\n  <string name=\"network_monitor_block_list_title\">Bloklar</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">Oluşturma zorluk ayarı</string>\n  <string name=\"block_row_mining_reward_adjustment\">Oluşturma mükafatı yarılanıyor</string>\n  <string name=\"block_row_now\">şu anda</string>\n  <string name=\"peer_list_fragment_empty\">Hiçbir eş bağlı değil</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">Cüzdanı geri getir</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Güncel cüzdanınızı başkasıyla değiştirmek üzeresiniz. Güncel cüzdanınızdaki Bitcoin\\'ler bir yedeklemeniz yoksa kaybolacaktır.</string>\n  <string name=\"import_keys_dialog_warning\">Önemli: şüpheli kaynaklardan özel anahtar yüklemeyiniz! Bunu yaparsanız başkaları sizin paranızın kontrolünü ele geçirebilir.</string>\n  <string name=\"import_keys_dialog_button_import\">Geri al</string>\n  <string name=\"restore_wallet_dialog_success\">Cüzdan geri getirildi.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Cüzdanınız başarılı bir şekilde geri getirilmiştir. Bundan sonra bakiyesi belirlenecektir. Bu belli bir süre alabilir.</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">Uyarı: Cüzdanınız PIN ile korunmaktadır. Cüzdanınıza erişmeden önce PIN\\'inizin gerekeceğini unutmayınız.</string>\n  <string name=\"import_keys_dialog_failure\">Cüzdan geri alınamadı:\\n\\n%s\\n\\nParola yanlış olmasın?</string>\n  <string name=\"export_keys_dialog_title\">Cüzdanı yedekle</string>\n  <string name=\"backup_wallet_dialog_message\">Yedeklemeniz seçtiğiniz parola ile şifrelenecek ve harici depolama alanına yazılacaktır.</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">Cüzdanınız bir harcama PIN\\'i ile korunmaktadır. Yedekleme parolasına ilâve olarak PIN\\'i hatırlayacağınızdan emin olunuz.</string>\n  <string name=\"export_keys_dialog_button_export\">Yedekle</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Cüzdanınız <tt>%s</tt> konumunda yedeklendi.</p><p><b>Yedeklemenizin bulunduğu tek yer cihazınız ise hem cihazı hem de yedeklemeyi aynı zamanda kaybetme riskini almış olursunuz!</b></p><p>Her durumda yedekleme parolanızı hatırlayacağınızdan emin olunuz.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Cüzdanınız yedeklenemedi:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">parola</string>\n  <string name=\"backup_wallet_dialog_password_again\">tekrar</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">uyumsuzluk!</string>\n  <string name=\"import_export_keys_dialog_show\">Parolayı göster</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Hata</string>\n  <string name=\"import_keys_intent_filter_action\">Cüzdanı geri getir</string>\n  <string name=\"encrypt_keys_dialog_title\">Harcama PIN\\'i</string>\n  <string name=\"encrypt_keys_dialog_message\">Cüzdanınızdan harcama yapmak seçilen PIN ile korunacaktır.</string>\n  <string name=\"encrypt_keys_dialog_warning\">Önemli: PIN kodunuzu hatırlamanız gerekir! Doğum tarihleri gibi genel sayılar kullanmayın.</string>\n  <string name=\"encrypt_keys_dialog_password_old\">Eski PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">zayıf</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">idare eder</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">iyi</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">güçlü</string>\n  <string name=\"encrypt_keys_dialog_show\">PIN\\'i göster</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">Şifreleniyor…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">Şifre çözülüyor…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">Tamamlandı</string>\n  <string name=\"scan_camera_problem_dialog_title\">Üzgünüz</string>\n  <string name=\"scan_camera_problem_dialog_message\">Fotoğraf makinesinde bir problem var. Muhtemelen cihazınızı yeniden başlatmanız gerekiyor.</string>\n  <string name=\"scan_camera_permission_dialog_title\">Kamera müsaadesi</string>\n  <string name=\"scan_camera_permission_dialog_message\">QR kodlarını okumak için kamerayı kullanma müsaadesi vermeniz gerekir.</string>\n  <string name=\"input_parser_io_error\">Veri okunamadı:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Girdi tanınamadı:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Geçersiz Bitcoin URI\\'si:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Geçersiz bitcoin adresi alındı!\\n(esas ağ ile deneme ağı karışmış olmasın?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Ödeme talebi denetlenemedi:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Geçersiz ödeme talebi:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Geçersiz muamele:\\n%s</string>\n  <string name=\"preferences_activity_title\">Ayarlar</string>\n  <string name=\"preferences_category_diagnostics\">Teşhisler</string>\n  <string name=\"preferences_category_labs\">Laboratuvarlar</string>\n  <string name=\"preferences_precision_title\">İsimlendirme ve hassasiyet</string>\n  <string name=\"preferences_precision_summary\">Meblağların gösterileceği ünite. Hesaplalamaları etkilemez.</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 ondalık</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 ondalık</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 ondalık</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2 ondalık</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, ondalıksız</string>\n  <string name=\"preferences_own_name_title\">Kendi isminiz</string>\n  <string name=\"preferences_own_name_summary\">Ödeme taleplerine eklenecek isminiz. Kısa tutmaya çalışın.</string>\n  <string name=\"preferences_send_coins_autoclose_title\">Bitcoin gönderme diyaloğunu otomatik kapat</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">Ödeme yapıldığında gönderme diyaloğu otomatik olarak kapatılacaktır.</string>\n  <string name=\"preferences_trusted_peer_title\">Güvenilen eş</string>\n  <string name=\"preferences_trusted_peer_summary\">Bağlanılacak tek eşin makine ismi ya da IP adresi.</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">Çözümleniyor…</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">Bilinmeyen makine ismi!</string>\n  <string name=\"preferences_trusted_peer_only_title\">Olağan eş aramayı atla</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Güvenilen eş dışındaki eşlere bağlantıları engeller.</string>\n  <string name=\"preferences_block_explorer_title\">Blok kaşifi</string>\n  <string name=\"preferences_block_explorer_summary\">Muameleleri, adresleri ve blokları taramak için harici blok kaşifi.</string>\n  <string name=\"preferences_data_usage_title\">Veri kullanımı</string>\n  <string name=\"preferences_data_usage_summary\">Mobil şebekelerde veri kullanımını kısıtlama seçeneklerini göster.</string>\n  <string name=\"preferences_remind_balance_title\">Bakiye hatırlacısı</string>\n  <string name=\"preferences_remind_balance_summary\">İki hafta kullanılmaz ise, uygulama cüzdanda hâlâ Bitcoin bulunduğunu bildirecektir.</string>\n  <string name=\"preferences_show_disclaimer_title\">Feragatı göster</string>\n  <string name=\"preferences_show_disclaimer_summary\">Gerçekten güvenlik notlarını okudun mu? Zaten cüzdanını güvenli bir yere çektin mi?</string>\n  <string name=\"preferences_report_issue_title\">Sorun rapor et</string>\n  <string name=\"preferences_initiate_reset_title\">Blok zincirini sıfırla</string>\n  <string name=\"preferences_initiate_reset_summary\">Blok zincirini, muameleleri ve cüzdan bakiyesini sıfırla. Yeniden işler olması zaman alacaktır, dolayısıyla sadece neden yaptığınızı biliyorsanız bunu yapın.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Blok zincirini sıfırlayıp tekrar eşleştirmek istiyor musunuz? \\n\\nBu geçici olarak bakiyenizin saklayacak ve muameleleri kaldıracaktır. Bu iki unsur blok zincirinin eşleşmesi ilerledikçe normale dönecektir. İnternet\\'e sağlam bir bağlantınız olduğundan emin olun.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Sıfırla</string>\n  <string name=\"preferences_extended_public_key_title\">extended public key\\'ı göster</string>\n  <string name=\"preferences_extended_public_key_summary\">Cüzdanınızın genişletilmiş kamu anahtarını başka uygulama ve servislere aktarılabilmesi için göster. Dikkatli olun: bunu yapmanız parasal gizliliğinizi o uygulamaya ifşa edecektir.</string>\n  <string name=\"bitmap_fragment_share\">Paylaş…</string>\n  <string name=\"extended_public_key_fragment_title\">Genişletilmiş Kamu Anahtarı</string>\n  <string name=\"extended_public_key_fragment_share\">extended public key\\'ı paylaş…</string>\n  <string name=\"report_issue_dialog_title_issue\">Sorun rapor et</string>\n  <string name=\"report_issue_dialog_title_crash\">Önceki çökme tespit edildi</string>\n  <string name=\"report_issue_dialog_title_transaction\">Seçili ödeme ile ilgili bir problem rapor edin</string>\n  <string name=\"report_issue_dialog_message_issue\">Lütfen probleminizi tekrarlanmasına izin verecek kadar detaylı anlatınız. Mümkünse İngilizce kullanınız.</string>\n  <string name=\"report_issue_dialog_message_crash\">Bu problemin çözülmesine yardım etmek için çökme raporu göndermek ister misiniz?</string>\n  <string name=\"report_issue_dialog_description\">problem açıklaması</string>\n  <string name=\"report_issue_dialog_report\">Rapor et</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Cihaz verileri ilâve et</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Uygulama kütüğünü ilâve et</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Cüzdan dökümü ilâve et</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Raporu şununla gönder…</string>\n  <string name=\"about_title\">Hakkında</string>\n  <string name=\"about_version_title\">Sürüm</string>\n  <string name=\"about_copyright_title\">Telif hakkı</string>\n  <string name=\"about_license_title\">Lisans</string>\n  <string name=\"about_source_title\">Kaynak kodu</string>\n  <string name=\"about_category_credits\">Bu uygulama şunları kullanmaktadır…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, Bitcoin protokolü uygulaması</string>\n  <string name=\"about_credits_zxing_title\">ZXing, QR kodlarını işleme kütüphanesi</string>\n  <string name=\"about_market_app_title\">%s sayfası</string>\n  <string name=\"about_market_app_summary\">Uygulamayı değerlendir veya not ver</string>\n  <string name=\"about_faq_title\">SSS</string>\n  <string name=\"about_faq_summary\">Uygulama hakkında sıkça sorulan sorular</string>\n  <string name=\"notification_coins_received_msg\">%s alındı</string>\n  <string name=\"notification_peers_connected_msg\">%d eş bağlı</string>\n  <string name=\"notification_inactivity_title\">Bu cihazda hâlâ Bitcoinleriniz bulunmaktadır!</string>\n  <string name=\"notification_inactivity_message\">Eğer Bitcoin Cüzdanı uygulamasını Bitcoinlerinizi göndermeden kaldırırsanız %s tutarındaki bakiyeniz kaybolacaktır.</string>\n  <string name=\"notification_inactivity_message_donate\">Bitcoinleriniz ile ilgilenmiyorsanız, onları Bitcoin Cüzdanı projesine bağışlayabilirsiniz.</string>\n  <string name=\"notification_inactivity_action_dismiss\">Sonra hatırlat</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">Hatırlatma</string>\n  <string name=\"notification_channel_received_name\">Alınmış ödemeler</string>\n  <string name=\"notification_channel_ongoing_name\">Arkaplan aktiviteleri</string>\n  <string name=\"notification_channel_important_name\">Önemli uyarılar</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin bakiyesi</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">Tamam</string>\n  <string name=\"button_dismiss\">Reddet</string>\n  <string name=\"button_cancel\">İptal et</string>\n  <string name=\"button_retry\">Tekrar dene</string>\n  <string name=\"button_help\">Yardım</string>\n  <string name=\"button_add\">Ekle</string>\n  <string name=\"button_delete\">Sil</string>\n  <string name=\"button_set\">Ayarla</string>\n  <string name=\"button_remove\">Kaldır</string>\n  <string name=\"button_edit\">Düzenle</string>\n  <string name=\"button_copy\">Kopyala</string>\n  <string name=\"button_paste\">Yapıştır</string>\n  <string name=\"button_share\">Paylaş</string>\n  <string name=\"button_set_as_default\">Varsayılan olarak ayarla</string>\n  <string name=\"button_request_coins\">Bitcoin talep et</string>\n  <string name=\"button_send_coins\">Bitcoin gönder</string>\n  <string name=\"button_scan\">Tara</string>\n  <string name=\"button_settings\">Ayarlar</string>\n  <string name=\"action_show_qr\">QR kodu göster</string>\n  <string name=\"action_browse\">Tara</string>\n  <!--generic strings-->\n  <string name=\"time_today\">bugün</string>\n  <string name=\"address_unlabeled\">(etiketsiz)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">Yanlış PIN!</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">G/Ç hatası: %s</string>\n  <string name=\"error_parse\">Ayrıştırma hatası: %s</string>\n  <string name=\"error_http\">HTTP hatası %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Bluetooth hatası: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-tr/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tEkranın sol üst köşesinde, dengenizi Bitcoins ve bir seçilen ulusal para birimi cinsinden görüntüler.\n\t\t\tUlusal para birimleri listesine gitmek için hafifçe vurun ve varsayılan olarak seçmek için para birimlerinden birine hafifçe dokunun.\n\t\t</p>\n\t\t<p>\n\t\t\tSağ üstteki QR kodu, geçerli bit arkadaşınızın adresini içerir ve bir ödeme yapan kişi tarafından tarama yapmak için kullanılabilir.\n\t\t\tDaha büyük bir sürümünü elde etmek için QR koduna dokunun.\n\t\t</p>\n\t\t<p>\n\t\t\tEkranın alt kısmı işlemler listenizde yer almaktadır.\n\t\t\tBaşında boş olan ve ödemeleri alırken ve gönderirken dolduracak.\n\t\t\tAlınan ödemeler yeşil olarak işaretlenecek ve ödemeler kırmızı renkte gösterilecek.\n\t\t</p>\n\t\t<p>\n\t\t\tEylem çubuğundaki düğmelere dokunarak madeni paralar gönderebilir veya isteyebilirsiniz.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tBu diyaloğu kullanarak başka bir kişiden Bitcoin talep edebilirsiniz (bu kişinin Bitcoin Wallet uygulamasını cihazında kurmuş olması gerekir).\n\t\t</p>\n\t\t<p>\n\t\t\tİlk olarak talep edilen Bitcoin miktarını girebilirsiniz.\n\t\t</p>\n\t\t<p>\n\t\t\tArdından ya diğer kişi tarafından taranacak bir QR code oluşturmanız,\n\t\t\tya da uzaktaki bir kişiye etkinlik çubuğunda paylaş düğmesiyle talebinizi göndermeniz gerekir.\n\t\t\tBu kişinin Bitcoin bağlantısını tıklaması gerekecektir.\n\t\t</p>\n\t\t<p>\n\t\t\tHer durumda diğer kişiye Bitcoin göndermesi için tüm seçenekleri doldurulmuş bir diyalog gösterilecektir.\n\t\t\tKabul ederse tüm yapması gereken muameleyi yollamaktır.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tBitcoin gönderme prosedürünü başlattınız.\n\t\t\tBuraya ya ana ekrandan ya da mobil ağ tarayıcınızda bir Bitcoin bağlantısına tıklayarak geldiniz.\n\t\t</p>\n\t\t<p>\n\t\t\tİlk olarak ödeme yapacağınız Bitcoin adresini girmelisiniz.\n\t\t\tAdres defterinizde bilinen adreslere dayanılarak adres otomatik olarak tamamlanacaktır.\n\t\t\tAyrıca etkinlik çubuğunda QR düğmesine dokunarak Bitcoin adresi ya da talebi içeren QR kodlarını tarayabilirsiniz.\n\t\t</p>\n\t\t<p>\n\t\t\tBunun ardından o anda ne kadar Bitcoin harcayabileceğinizi görüntüleyebilirsiniz.\n\t\t\tVarsa ana ekrandaki bakiye ile farklılıklar henüz teyit edilmemiştir ve dolayısıyla henüz harcanamaz.\n\t\t</p>\n\t\t<p>\n\t\t\tSon olarak ödenecek miktarı ve sunduğunuz ücreti girmeniz gerekir.\n\t\t</p>\n\t\t<p>\n\t\t\tÇevrimdışı olduğunuz sırada bir muamele girebilirsiniz.\n\t\t\tBitcoin Wallet uygulamasının sonraki açılışında gönderilir.\n\t\t\tBir muamelenin mümkün olduğu kadar çabuk işlenmesini istiyorsanız bağlantınızın iyi olduğundan (mesela WLAN ile).\n\t\t</p>\n\t\t<p>\n\t\t\tNot:\n\t\t\tMuameleler geri alınamaz!\n\t\t\tAlıcı adresini daima kontrol ediniz.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Bitcoinlerinizin güvenliği hakkında önemli noktalar:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tBitcoin cüzdanınızdaki Bitcoinler cihazınızda saklanır.\n\t\t\t<b>Cihazınızı kaybederseniz Bitcoinlerinizi de kaybedersiniz.</b>\n\t\t\tTıpkı fiziki cüzdanınızdaki para gibi.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Bitcoin Wallet</b> uygulamasını kaldırmadan önce (ya da uygulama verilerini/cihazınızı sıfırlamadan önce) <b>tüm Bitcoinlerinizi başka bir cüzdana aktarınız</b>.\n\t\t\tKalan tüm Bitcoinler kaybolacaktır.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Muameleler geri alınamaz</b>.\n\t\t\tBitcoinlerinizi yanlış bir adrese yollarsanız, bunları geri almak için alıcıyı tanımanız ve onun geri yollamayı kabul etmeniz dışında hiçbir yol yoktur.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Android cihazınızı güvenli kullanın!</b>\n\t\t\tSadece tamamen güvendiğiniz uygulamaları indiriniz.\n\t\t\tKötücül uygulamalar cüzdanınızı çalmaya çalışabilir.\n\t\t</p>\n\t\t<p>\n\t\t\tRiski sınırlayın!\n\t\t\t<b>Bitcoin Wallet uygulamasını sadece küçük tutarlar için kullanınız</b>.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>Teknik notlar:</b>\n        </p>\n        <p>\n            Bir SPV/hafif cüzdan olarak Bitcoin Wallet As en çok ispatlanmış zinciri takip eder (ki buna bazen \\\"en uzun zincir\\\", \\\"kazanan zincir\\\" veya \\\"Bitcoin blok zinciri\\\" de denir).\n            Sadece gelen ödemeleri alacak ve o zincirde ödeme yapabileceksiniz.\n            Azınlık zincirlerindeki yani daha az ispatlanmış zincirlerdeki Bitcoinler için hiçbir garanti verilemez.\n        </p>\n        <p>\n            Geçmişte azınlık anahtarları daima çok hızlı bir şekilde anlamsız bir hale gelmişlerdir.\n            Eğer her şeye rağmen bir azınlık zincirini takip etmek istiyorsanız, sadece istediğiniz zinciri zorlayacak bir bitcoind uygulamasına bağlanmak için \\\"güvenli eş\\\" işlevini kullanmanız tavsiye edilir.\n            Şayet cüzdanınız ve güvenli eş arasındaki şebeke güvenilir değilse, bu bağlantıyı doğrulamak için bir VPN (sanal özel ağ) kullanın.\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-uk/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">Гаманець був скинутий,\\nвідновлення займе трохи часу</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">Використовуйте на власний страх та ризик. Прочитайте &lt;u&gt;примітки по безпеці&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">Вам необхідно &lt;u&gt;зробити резервну копію вашого гаманця&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, %2$d годин відставання</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, %2$d днів відставання</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, %2$d тиждень відставання</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, %2$d місяців відставання</string>\n  <string name=\"blockchain_state_progress_downloading\">Синхронізація з мережею</string>\n  <string name=\"blockchain_state_progress_stalled\">Синхронізація зависла</string>\n  <string name=\"blockchain_state_progress_problem_storage\">Синхронізація: проблема з сховищем</string>\n  <string name=\"blockchain_state_progress_problem_network\">Синхронізація: проблема з мережею</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">Адреса скопійована в буфер обміну</string>\n  <string name=\"wallet_balance_fragment_replaying\">Під час відтворення баланс недоступний.</string>\n  <string name=\"exchange_rates_activity_title\">Курси валют</string>\n  <string name=\"exchange_rates_fragment_empty_search\">Не вдалося знайти обмінний курс.</string>\n  <string name=\"exchange_rates_fragment_default\">(за замовчуванням)</string>\n  <string name=\"exchange_rates_fragment_rate\">курс</string>\n  <string name=\"exchange_rates_fragment_balance\">баланс</string>\n  <string name=\"exchange_rates_fragment_source\">Ціна отримана з %s</string>\n  <string name=\"exchange_rates_options_search\">Пошук обмінного курсу</string>\n  <string name=\"wallet_transactions_options_filter_received\">Отримано</string>\n  <string name=\"wallet_transactions_options_filter_all\">Все</string>\n  <string name=\"wallet_transactions_options_filter_sent\">Відправлено</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">Ще не отримано Bitcoin-монет</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">Ще не відправлено Bitcoin-монет</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">Як отримати Bitcoin?\\nКупуйте за звичайні гроші,\\nпродавайте товари і послуги\\nабо заробляйте.</string>\n  <string name=\"wallet_transactions_row_warning_backup\">Вітаємо, ви отримали перший платіж! Ви вже &lt;u&gt;зробили резервну копію гаманця&lt;/u&gt;, щоб убезпечитись від втрат?</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">добуто</string>\n  <string name=\"wallet_transactions_fragment_internal\">внутрішній</string>\n  <string name=\"wallet_options_safety_menu\">Безпека</string>\n  <string name=\"wallet_options_safety\">Примітки по безпеці</string>\n  <string name=\"wallet_options_donate\">Пожертвувати</string>\n  <string name=\"wallet_donate_address_label\">Пожертвування для Bitcoin Wallet</string>\n  <string name=\"wallet_low_storage_dialog_title\">Недостатньо внутрішньої пам\\'яті на пристрої!</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet використовує внутрішю пам\\'ять для збереження транзакцій і блоків. Якщо вона закінчиться, додаток перестане працювати, що загрожуватиме вмісту Bitcoin-гаманця!\\n\\nВідкрити «Управління додатками», щоб видалити непотрібні додатки?</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">Керування додатками</string>\n  <string name=\"wallet_timeskew_dialog_title\">Перевірте налаштування часу!</string>\n  <string name=\"wallet_timeskew_dialog_msg\">Час на вашому пристрої відстає на %d хвилин.  Можливо, через це вам не вдасться відправляти или отримувати Bitcoin.\\n\\nПеревірте та виправте час, а також параметри часового поясу.</string>\n  <string name=\"wallet_version_dialog_title\">Доступна нова версія!</string>\n  <string name=\"wallet_version_dialog_msg\">Ця версія виправляє важливі помилки. Деталі на %s.</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">Якщо ви не бачите оновлення, це значить, що ваша версія Android більше не підтримується.</string>\n  <string name=\"wallet_version_dialog_button_binary\">Завантажити</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Версія для Android застаріла</string>\n  <string name=\"wallet_old_sdk_dialog_message\">Ймовірно що одна з майбутніх версій Bitcoin Wallet перестане підтримувати ваш пристрій. В деяких випадках буде складно витратити монети з цього пристрою.\\n\\nЯкщо ви не впевнені в тому що робите, рекомендується як найшвидше вивести монети з пристрою.</string>\n  <string name=\"send_coins_activity_title\">Відправка Bitcoin</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">Отримання підпису %s…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">Помилка при отриманні підпису</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">Неправильний підпис!</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">Перевіряється: %s</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">невідомо</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">Оплатити</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">введіть адресу чи ім\\'я</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">Неправильна Bitcoin адреса!</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">коплекс\\nадресу</string>\n  <string name=\"send_coins_fragment_pending\">(%s очікування підтвердження) </string>\n  <string name=\"send_coins_fragment_amount_label\">Сума платежу</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">Відправити платіж безпосередньо отримувачу.</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">Платіж був успішно відправлений отримувачу.</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">Ваш платіж через пряме підключення був відхилений.</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">Виникла помилка при проведенні прямого платежу</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">Ваш платіж буде транслюватися через P2P-мережі.</string>\n  <string name=\"send_coins_fragment_button_send\">Відправити</string>\n  <string name=\"send_coins_fragment_button_back\">Назад</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">Не вистачає доступних монет</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">Ви впускаєте %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">Ви хочете оплатити всім, що у вас є?</string>\n  <string name=\"send_coins_preparation_msg\">Підписую…</string>\n  <string name=\"send_coins_sending_msg\">Відправка…</string>\n  <string name=\"send_coins_sent_msg\">Відправлено!</string>\n  <string name=\"send_coins_failed_msg\">Не вдалося!</string>\n  <string name=\"send_coins_error_msg\">Проблема з відправкою монет!</string>\n  <string name=\"send_coins_options_empty\">Порожній гаманець</string>\n  <string name=\"sweep_wallet_activity_title\">Відсканувати паперовий гаманець</string>\n  <string name=\"sweep_wallet_fragment_intro\">Ви збираєтесь відсканувати паперовий гаманець або купон. Це перенесе всі монети з паперу у ваш гаманець на цьому пристрої. Коли ця транзакція пройде, паперовий носій буде не дійсним і не повинен повторно використаний з метою безпеки. </string>\n  <string name=\"sweep_wallet_fragment_hint\">Паперові гаманці найчастіше використовуються для холодного зберігання. Деякі банкомати друкують їх на папері, а не посилають монети на мобільний пристрій напряму. Деякі люди використовують попередньо заряджені паперові гаманці щоб передавати монети. (це не рекомендуєтся)</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">Для початку відскануйте приватний ключ надрукований на паперовому гаманці. Використовуйте кнопку «Камера» </string>\n  <string name=\"sweep_wallet_fragment_balance\">Баланс для сканування</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">Сканувати</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">Завантажую баланс…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">Завантаження балансу гаманця пройшло з помилкою</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">Недостньо монет</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">Кількість монет замала для сканування цього гаманця.</string>\n  <string name=\"sweep_wallet_options_reload\">Перезавантажити баланс</string>\n  <string name=\"request_coins_activity_title\">Попросити Bitcoin-монети</string>\n  <string name=\"request_coins_fragment_amount_label\">Запитувана сума (опція)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">Прийом платежів через Bluetooth для надійнішої обробки транзакції</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">Хай відправник відсканує цей код.</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">Або торкніться пристрою з підтримкою NFC.</string>\n  <string name=\"request_coins_clipboard_msg\">Запит отримання Bitcoin-монет скопійований</string>\n  <string name=\"request_coins_share_dialog_title\">Поділитись запитом Bitcoin-монет…</string>\n  <string name=\"request_coins_no_local_app_msg\">Немає жодних інших Bitcoin додатків</string>\n  <string name=\"request_coins_options_local_app_title\">Запит від локального пристрою</string>\n  <string name=\"address_book_activity_title\">Адресна книга</string>\n  <string name=\"address_book_list_receiving_title\">Ваші адреси</string>\n  <string name=\"address_book_list_sending_title\">Адреси відправки</string>\n  <string name=\"address_book_empty_text\">Адресна книга порожня</string>\n  <string name=\"address_book_context_send_title\">Відправити монеты на адресу</string>\n  <string name=\"address_book_context_edit_title\">Змінити адресу</string>\n  <string name=\"address_book_context_remove_title\">Видалити адресу</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">Скопіювати в буфер обміну</string>\n  <string name=\"address_book_options_scan_title\">Сканувати адресу</string>\n  <string name=\"address_book_options_scan_invalid\">Дані сканування невпізнані</string>\n  <string name=\"address_book_row_message_compromised_key\">Ця адреса могла скомпрометуватися. Не використовуйте її більше для отримання коштів.</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">Додати адресу</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">Змінити адресу</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">Адреса</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">Ім\\'я</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">Зберегти</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Цей платіж ще не був переданий в мережу.</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">Ця транзакція захищає ваш гаманець від крадіжки. &lt;u&gt;Детальніше.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_received_direct\">Цей платіж був проведений напряму. Існує ризик того, що ви ніколи не зможете витратити отримані засоби.</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">Цей платіж повинен стати доступним через кілька хвилин.</string>\n  <string name=\"transaction_row_message_received_dead\">Цей платіж був скасований відправником.</string>\n  <string name=\"transaction_row_message_received_dust\">Настільки мала сума, скоріш за все, ніколи не буде витрачена економічно.</string>\n  <string name=\"network_monitor_activity_title\">Мережевий монітор</string>\n  <string name=\"network_monitor_peer_list_title\">Вузли</string>\n  <string name=\"network_monitor_block_list_title\">Блоки</string>\n  <string name=\"peer_list_fragment_empty\">Немає підключень</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;мс</string>\n  <string name=\"import_keys_dialog_title\">Відновити гаманець</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">Ви збираєтесь замінити поточний гаманець. Будь які монети в поточному гаманці будуть втрачені, якщо у вас немає окремої резервної копії.</string>\n  <string name=\"import_keys_dialog_warning\">Важливо: Не завантажуйте приватні ключі із сумнівних джерел! Зловмисники можуть отримати контроль над вашими засобами.</string>\n  <string name=\"import_keys_dialog_button_import\">Відновити</string>\n  <string name=\"restore_wallet_dialog_success\">Гаманець був відновлений.</string>\n  <string name=\"restore_wallet_dialog_success_replay\">Ваш гаманець був успішно відновлений. Його баланс визначиться згодом. Це займе трохи часу.</string>\n  <string name=\"import_keys_dialog_failure\">Гаманець не можливо відновити:\\n\\n%s\\n\\Неправильний пароль?</string>\n  <string name=\"export_keys_dialog_title\">Резервна копія гаманця</string>\n  <string name=\"backup_wallet_dialog_message\">Ваш гаманець буде зашифрований за допомогою пароля і будет записаний на зовнішній накопичувач.</string>\n  <string name=\"export_keys_dialog_button_export\">Резервна копія</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>Створена резервна копія гаманця <tt>%s</tt></p><p><b>Якщо ваш пристрій це єдине місце де зберігається резервна копія, то ви ризикуєте втрати гаманець, втративши пристрій!</b></p><p>В будь якому випадку, впевніться, що ви пам\\'ятаєте пароль від резервної копії.</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">Резервна копія вашого гаманця не була створена:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">пароль</string>\n  <string name=\"import_export_keys_dialog_show\">Показати пароль</string>\n  <string name=\"import_export_keys_dialog_failure_title\">Помилка</string>\n  <string name=\"import_keys_intent_filter_action\">Відновити гаманець</string>\n  <string name=\"scan_camera_problem_dialog_title\">Вибачте</string>\n  <string name=\"scan_camera_problem_dialog_message\">Проблема з камерою. Можливо, вам потрібо перезавантажити пристрій.</string>\n  <string name=\"input_parser_io_error\">Не вдається прочитати дані:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">Не вдається розпізнати вхід:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">Некоректна Bitcoin-адреса:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">Отримано некоректну Bitcoin адесу!\\n(Переплутані mainnet/testnet?)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">Не вдається перевірити запит на оплату:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">Недопустимий запит на оплату:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">Помилкова транзакція:\\n%s</string>\n  <string name=\"preferences_activity_title\">Налаштування</string>\n  <string name=\"preferences_category_diagnostics\">Діагностика</string>\n  <string name=\"preferences_category_labs\">Лабораторія</string>\n  <string name=\"preferences_precision_title\">Деномінація і точність</string>\n  <string name=\"preferences_precision_summary\">Одиниці, в яких показуються суми. Не впливає на вирахування.</string>\n  <string name=\"preferences_trusted_peer_title\">Довірений учасник</string>\n  <string name=\"preferences_trusted_peer_summary\">IP або ім\\'я хоста одного учасника для підключення</string>\n  <string name=\"preferences_trusted_peer_only_title\">Не виконувати звичайне виявлення учасників</string>\n  <string name=\"preferences_trusted_peer_only_summary\">Попереджає підключення до будь яких учасників, окрім довіреного.</string>\n  <string name=\"preferences_data_usage_title\">Використання даних</string>\n  <string name=\"preferences_data_usage_summary\">Показати опції обмеженняя використання даних в мобільних меражах.</string>\n  <string name=\"preferences_report_issue_title\">Повідомити про проблему</string>\n  <string name=\"preferences_initiate_reset_title\">Скинути ланцюжок блоків</string>\n  <string name=\"preferences_initiate_reset_summary\">Скинути ланцюжок блоків, транзакції і баланс гаманця. Повторне завантаження займе деякий час і трафік.</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">Ви дійсно хочете скинути і перезавантажити ланцюжок блоків?\\n\\nЦя дія тимчасово приховає баланс гаманця і видалити транзакції. І те, і інше відновиться під час синхронізації ланцюжка блоків.</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">Скидання</string>\n  <string name=\"report_issue_dialog_title_issue\">Повідомити про проблему</string>\n  <string name=\"report_issue_dialog_title_crash\">Виявлено аварійне завершення</string>\n  <string name=\"report_issue_dialog_message_issue\">Будь ласка, опишіть вашу проблему як найточніше.</string>\n  <string name=\"report_issue_dialog_message_crash\">Хочете відправити звіт про помилку? Цим ви допоможете виправити цю проблему в майбутньому.</string>\n  <string name=\"report_issue_dialog_description\">опис проблеми</string>\n  <string name=\"report_issue_dialog_report\">Звіт</string>\n  <string name=\"report_issue_dialog_collect_device_info\">Додати інформацію про пристрій</string>\n  <string name=\"report_issue_dialog_collect_application_log\">Додати лог додатку</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">Додати дамп пам\\'яті гаманця</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">Відправити звіт використовуючи…</string>\n  <string name=\"about_title\">Про програму</string>\n  <string name=\"about_version_title\">Версія</string>\n  <string name=\"about_copyright_title\">Авторське право</string>\n  <string name=\"about_license_title\">Ліцензія</string>\n  <string name=\"about_source_title\">Початковий код</string>\n  <string name=\"about_category_credits\">Цей додаток використовує…</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s</string>\n  <string name=\"about_credits_zxing_title\">ZXing</string>\n  <string name=\"about_market_app_title\">Сторінка %s</string>\n  <string name=\"about_market_app_summary\">Напишіть відгук або оцініть додаток</string>\n  <string name=\"notification_coins_received_msg\">Отримано %s</string>\n  <string name=\"notification_peers_connected_msg\">підключено %d учасників</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">Відхилити</string>\n  <string name=\"button_cancel\">Відміна</string>\n  <string name=\"button_retry\">Повторити</string>\n  <string name=\"button_help\">Допомога</string>\n  <string name=\"button_add\">Додати</string>\n  <string name=\"button_delete\">Видалити</string>\n  <string name=\"button_edit\">Правка</string>\n  <string name=\"button_copy\">Копіювати</string>\n  <string name=\"button_paste\">Вставити</string>\n  <string name=\"button_share\">Поділитися</string>\n  <string name=\"button_set_as_default\">Встановити за замовчуванням</string>\n  <string name=\"button_request_coins\">Попросити</string>\n  <string name=\"button_send_coins\">Відправити</string>\n  <string name=\"button_scan\">Сканувати</string>\n  <string name=\"button_settings\">Налаштування</string>\n  <string name=\"action_show_qr\">Показати QR код</string>\n  <string name=\"action_browse\">Огляд</string>\n  <string name=\"time_today\">сьогодні</string>\n  <string name=\"address_unlabeled\">(без мітки)</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">Помилка I/O: %s</string>\n  <string name=\"error_parse\">Помилка обробки: %s</string>\n  <string name=\"error_http\">HTTP помилка %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">Помилка Bluetooth: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-uk/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\tУ верхній лівій частині екрану показується Bitcoin-адреса, яку потрібно знати іншим людям для відправки вам Bitcoin-монет.\n\t\t\tТоркніться для зміни адреси.\n\t\t</p>\n\t\t<p>\n\t\t\tQR-код справа містить ту саму адресу у вигляді зображення, яке інші можуть сканувати.\n\t\t\tНатисніть на QR-код щоб його збільшити.\n\t\t</p>\n\t\t<p>\n\t\t\tПо середині екрану показується ваш баланс.\n\t\t\tТрохи нижче можна побачити значення балансу в вибраній локальній валюті.\n\t\t\tЩоб вибрати іншу валюту, натисніть на значення балансу, далі торкніться потрібної.\n\t\t</p>\n\t\t<p>\n\t\t\tНиз екрану містить список ваших транзакцій, на початку він порожній.\n\t\t\tНепідтверджені транзакції мають сірий колір, доки не будуть підтверджені.\n\t\t\tТоркніться одного елемента для додавання відправника або отримувача в контакти.\n\t\t</p>\n\t\t<p>\n\t\t\tВи можете відправляти або просити монети, використовуючи кнопку в панелі дій.\n\t\t\tБільше дій доступно з меню.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tЗ допомогою цього діалогу ви можете попросити монет в іншого користувача Bitcoin Wallet.\n\t\t</p>\n\t\t<p>\n\t\t\tСпершу ви можете ввести суму яку просите, або залиште поле порожнім, щоб суму визначив відправник.\n\t\t</p>\n\t\t<p>\n\t\t\tДалі, відправник сканує показаний на екрані QR-код, або ви відправляєте йому свій запит за допомогою кнопки «поділитись» в панели дій, тоді відправник повинен буде клацнути на отриманий Bitcoin URL.\n\t\t</p>\n\t\t<p>\n\t\t\tВ будь якому випадку перед відправником з\\'явиться діалог відправки монет, в якому всі форми будуть вже заповнені.\n\t\t\tДля виконання транзакції буде достатньо просто її підтвердити.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\tВи ініціювали процес відправки монет.\n\t\t\tВи потрапили сюди з головного вікна, або через Bitcoin URL з вашого браузера.\n\t\t</p>\n\t\t<p>\n\t\t\tСпершу ви вводите Bitcoin-адресу отримувача.\n\t\t\tЦя адреса буде автоматично заповнена з адресної книги.\n\t\t\tТакож ви можете отримати адресу через сканування QR-коду, натиснувши кнопку QR в панелі дій.\n\t\t\tДля цього вам потрібно встановити сканер QR-кодів.\n\t\t</p>\n\t\t<p>\n\t\t\tДалі ви побачите скільки Bitcoin-монет ви можете витратити на даний момент.\n\t\t\tРізниця з балансом в головному вікні обумовлена тим, що деякі платежі ще не підтверджені, і тому отримані кошти поки що не можна витратити.\n\t\t</p>\n\t\t<p>\n\t\t\tВ кінці ви вводите суму платежу.\n\t\t</p>\n\t\t<p>\n\t\t\tВи можете задати транзакцію навіть в офлайні.\n\t\t\tВона буде відправлена при наступному запуску Bitcoin Гаманця.\n\t\t\tЯкщо ви бажаєте, щоб транзакція була проведена як найшвидше, впевніться в наявності стабільного підключення до інтернету (наприклад, за допомогою Wi-Fi).\n\t\t</p>\n\t\t<p>\n\t\t\tУвага:\n\t\t\tТранзакції не можна скасувати!\n\t\t\tОбов\\'язково перевіряйте адрес отримувача.\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>Кілька слів про безпеку ваших Bitcoin-монет:</b>\n\t\t</p>\n\t\t<p>\n\t\t\tМонети в Bitcoin Гаманці зберігаються безпосередньо на пристрої.\n\t\t\t<b>Якщо ви загубите ваш пристрій, ви втратите ваші Bitcoin-монети.</b>\n\t\t\tТак як гроші у фізичному гаманці.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Перш чим видалити Bitcoin Гаманець</b> (або очистити дані додатка, чи всього пристрою), <b>відправте свої монети на інший гаманець</b>.\n\t\t\tВсі Bitcoin-монети які залишаться будуть втрачені.\n\t\t</p>\n\t\t<p>\n\t\t\t<b> Транзакції не можна скасовувати</b>.\n\t\t\tЯкщо ви відправили свої Bitcoin-монети, їх не можна повернути, якщо тільки ви не знаєте отримувача, і він не захоче відправити їх назад.\n\t\t</p>\n\t\t<p>\n\t\t\t<b>Зберігайте ваш Android пристрій в безпеці!</b> Встановлюйте тільки ті додатки, яким повністю довіряєте.\n\t\t\tДеякі додатки можуть спробувати вкрасти ваш гаманець.\n\t\t</p>\n\t\t<p>\n\t\t\tНе ризикуйте!\n\t\t\t<b>Використовуйте Bitcoin Wallet для малих сум</b> для використанняя на протязі дня.\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-v26/drawables.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <drawable name=\"ic_app_color\">@mipmap/ic_app_color_48dp</drawable>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-vi/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n\n\t<string name=\"toast_wallet_reset\">Ví tiền đã được thiết lập lại,\\nsẽ tốn chút ít thời gian để hồi phục lại</string>\n\t<string name=\"wallet_disclaimer_fragment_remind_safety\">Sử dụng với sự cẩn trọng. Đọc &lt;u&gt;ghi chú an toàn&lt;/u&gt;.</string>\n\t<string name=\"blockchain_state_progress_hours\">Còn lại %1$s, %2$d giờ</string>\n\t<string name=\"blockchain_state_progress_days\">Còn lại %1$s, %2$d ngày</string>\n\t<string name=\"blockchain_state_progress_weeks\">Còn lại %1$s, %2$d tuần</string>\n\t<string name=\"blockchain_state_progress_months\">Còn lại %1$s, %2$d tháng</string>\n\t<string name=\"blockchain_state_progress_downloading\">Đồng bộ hóa với mạng lưới</string>\n\t<string name=\"blockchain_state_progress_stalled\">Tiến trình đồng bộ hóa đã ngưng lại</string>\n\t<string name=\"blockchain_state_progress_problem_storage\">Đồng bộ hóa: Gặp vấn đề về dung lượng lưu trữ</string>\n\t<string name=\"blockchain_state_progress_problem_network\">Đồng bộ hóa: Vấn đề về mạng lưới</string>\n\t<string name=\"wallet_address_fragment_clipboard_msg\">Địa chỉ Bitcoin đã được sao chép vào bộ nhớ ảo</string>\n\t<string name=\"wallet_balance_fragment_replaying\">Tính năng cân bằng tài khoản không thể được thao tác trong quá trình replay.</string>\n\t<string name=\"exchange_rates_activity_title\">Tỉ lệ hoán đổi</string>\n\t<string name=\"exchange_rates_fragment_default\">(mặc định)</string>\n\t<string name=\"exchange_rates_fragment_rate\">tỉ lệ</string>\n\t<string name=\"exchange_rates_fragment_balance\">cân bằng</string>\n\t<string name=\"exchange_rates_fragment_source\">Giá được tải về từ %s</string>\n\t<string name=\"wallet_transactions_options_filter_received\">Đã nhận</string>\n\t<string name=\"wallet_transactions_options_filter_all\">Cả hai</string>\n\t<string name=\"wallet_transactions_options_filter_sent\">Đã gửi</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_received\">Hiện vẫn chưa nhận được Bitcoin nào.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_sent\">Hiện vẫn chưa gửi Bitcoin nào.</string>\n\t<string name=\"wallet_transactions_fragment_empty_text_howto\">Làm cách nào để nhận được Bitcoins?\\nSử dụng cho các giao dịch bằng tiền như truyền thống,\\nbán các sản phẩm hoặc dịch vụ hoặc\\ndùng cho việc nhận thanh toán.</string>\n\t<string name=\"wallet_transactions_row_warning_backup\">Chúc mừng, bạn đã nhận được phần thanh toán đầu tiên của mình! Bạn đã &lt;u&gt;sao lưu ví tiền của mình&lt;/u&gt;, để tránh việc thất thoát hay chưa?</string>\n\t<string name=\"wallet_transactions_fragment_coinbase\">đã khai thác</string>\n\t<string name=\"wallet_options_safety\">Ghi chú an toàn</string>\n\t<string name=\"wallet_options_donate\">Gợi ý / Ủng hộ</string>\n\t<string name=\"wallet_donate_address_label\">Ủng hộ </string>\n\t<string name=\"wallet_low_storage_dialog_title\">Khoảng không gian lưu trữ ở thiết bị hiện rất thấp!</string>\n\t<string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet sử dụng bộ phận lưu trữ là thẻ nhớ để ghi lại các giao dịch và block. Nếu phần dung lượng này quá ít, thì quá trình lưu trữ này sẽ dừng lại và lượng Bitcoin bạn đang dùng có thể gặp rủi ro!\\n\\nBạn có muốn mở phần Application Manage để gỡ bỏ các ứng dụng không cần thiết không?</string>\n\t<string name=\"wallet_low_storage_dialog_button_apps\">Quản lý ứng dụng</string>\n\t<string name=\"wallet_timeskew_dialog_title\">Kiểm tra thiết lập về múi giờ của bạn!</string>\n\t<string name=\"wallet_timeskew_dialog_msg\">Thiết bị của bạn đã tắt trong %d phút. Có thể đây là lý do bạn không thể gửi hoặc nhận Bitcoin.\\n\\nXin vui lòng kiểm tra lại thời gian của bạn và các thiết lập liên quan đến múi giờ.</string>\n\t<string name=\"wallet_version_dialog_title\">Hiện đã có một phiên bản mới!</string>\n\t<string name=\"wallet_version_dialog_msg\">Phiên bản này sửa các lỗi quan trọng mà chương trình gặp phải. Để biết thêm chi tiết, xem phần nhật trình thay đổi trên %s.</string>\n\t<string name=\"wallet_version_dialog_button_binary\">Tải về</string>\n\t<string name=\"wallet_old_sdk_dialog_title\">Phiên bản Android này đã quá cũ</string>\n\t<string name=\"wallet_old_sdk_dialog_message\">Các thay đổi được áp dụng trong phiên bản phát hành sắp tới của Bitcoin Wallet sẽ không hỗ trợ thiết bị có dạng như của bạn nữa, bạn sẽ gặp phải khó khăn khi gửi các coin trên thiết bị này.\\n\\nTrừ khi bạn biết chắc việc mình đang làm, chúng tôi khuyên bạn nên rút hết toàn bộ các coin của mình càng nhanh càng tốt.</string>\n\t<string name=\"send_coins_activity_title\">Gửi Bitcoin</string>\n\t<string name=\"send_coins_fragment_receiving_address_label\">Trả cho</string>\n\t<string name=\"send_coins_fragment_receiving_address_hint\">loại địa chỉ hoặc tên</string>\n\t<string name=\"send_coins_fragment_receiving_address_error\">Địa chỉ Bitcoin không hợp lệ!</string>\n\t<string name=\"send_coins_fragment_pending\">(%s đợi xác nhận)</string>\n\t<string name=\"send_coins_fragment_amount_label\">Số lượng chi trả</string>\n\t<string name=\"send_coins_fragment_button_send\">Gửi</string>\n\t<string name=\"send_coins_fragment_button_back\">Quay lại</string>\n\t<string name=\"send_coins_preparation_msg\">Đang đăng nhập…</string>\n\t<string name=\"send_coins_sending_msg\">Đang gửi</string>\n\t<string name=\"send_coins_sent_msg\">Đã gửi!</string>\n\t<string name=\"send_coins_failed_msg\">Thất bại!</string>\n\t<string name=\"send_coins_error_msg\">Xảy ra vấn đề khi gửi coin!</string>\n\t<string name=\"request_coins_activity_title\">Yêu cầu Bitcoin</string>\n\t<string name=\"request_coins_fragment_amount_label\">Số lượng đã yêu cầu (tùy chọn)</string>\n\t<string name=\"request_coins_fragment_initiate_request_qr\">Đã nhận được mã này được quét từ người gửi.</string>\n\t<string name=\"request_coins_fragment_initiate_request_nfc\">Hoặc chạm vào phần NFC để bật thiết bị.</string>\n\t<string name=\"request_coins_clipboard_msg\">Yêu cầu Bitcoin đã được sao chép vào bộ nhớ ảo</string>\n\t<string name=\"request_coins_share_dialog_title\">Chia sẻ yêu cầu về Bitcoin…</string>\n\t<string name=\"request_coins_options_local_app_title\">Gửi yêu cầu từ ứng dụng tại thiết bị</string>\n\t<string name=\"address_book_activity_title\">Sổ địa chỉ</string>\n\t<string name=\"address_book_list_receiving_title\">Địa chỉ của bạn</string>\n\t<string name=\"address_book_list_sending_title\">Các địa chỉ gửi đi</string>\n\t<string name=\"address_book_empty_text\">Không có dòng thông tin nào trong sổ địa chỉ</string>\n\t<string name=\"address_book_context_send_title\">Gửi Bitcoin đến địa chỉ</string>\n\t<string name=\"address_book_context_edit_title\">Chỉnh sửa địa chỉ</string>\n\t<string name=\"address_book_context_remove_title\">Loại bỏ địa chỉ</string>\n\t<string name=\"address_book_context_copy_to_clipboard_title\">Sao chép vào bộ nhớ ảo</string>\n\t<string name=\"address_book_options_scan_title\">Quét địa chỉ</string>\n\t<string name=\"edit_address_book_entry_dialog_title_add\">Thêm địa chỉ</string>\n\t<string name=\"edit_address_book_entry_dialog_title_edit\">Chỉnh sửa địa chỉ</string>\n\t<string name=\"edit_address_book_entry_dialog_address_label\">Địa chỉ</string>\n\t<string name=\"edit_address_book_entry_dialog_label_label\">Tên</string>\n\t<string name=\"edit_address_book_entry_dialog_button_edit\">Lưu</string>\n\t<string name=\"transaction_row_confidence_message_sent_unbroadcasted\">Phần chi trả này vẫn chưa được thực hiện.</string>\n\t<string name=\"transaction_row_message_received_unconfirmed_unlocked\">Phần chi trả này nên trở thành dạng có thể gửi đi trong vài phút nữa.</string>\n\t<string name=\"transaction_row_message_received_dead\">Phần chi trả này đã được chuyển ngược về phía người gửi.</string>\n\t<string name=\"transaction_row_message_received_dust\">Số lượng nhỏ này có thể không mang tính kinh tế cho lắm khi dành cho chi tiêu.</string>\n\t<string name=\"network_monitor_activity_title\">Giám sát mạng</string>\n\t<string name=\"network_monitor_peer_list_title\">Ngang hàn</string>\n\t<string name=\"network_monitor_block_list_title\">Block</string>\n\t<string name=\"peer_list_fragment_empty\">Không có mạng ngang hàng nào kết nối</string>\n\t<string name=\"peer_list_row_ping_time\">⇆ %d phần nghìn giây</string>\n\t<string name=\"import_keys_dialog_title\">Nhập dữ liệu là các khóa cá nhân</string>\n\t<string name=\"import_keys_dialog_button_import\">Nhập dữ liệu</string>\n\t<string name=\"import_keys_dialog_failure\">Khóa cá nhân không thể được nhập vào:\\n\\n%s\\n\\nDo sai mật khẩu?</string>\n\t<string name=\"export_keys_dialog_title\">Xuất dữ liệu từ các khóa cá nhân</string>\n\t<string name=\"backup_wallet_dialog_message\">Các khóa cá nhân của bạn sẽ được mã hóa với một mật khẩu do bạn chọn và sau đó ghi dữ liệu mã hóa vào thẻ nhớ.</string>\n\t<string name=\"export_keys_dialog_button_export\">Xuất dữ liệu</string>\n\t<string name=\"export_keys_dialog_success\">Khóa cá nhân đã được xuất đến\\n\\n%s\\n\\nGiữ các khóa này ở nơi an toàn cũng ghi nhớ mật khẩu bạn đã đặt!</string>\n\t<string name=\"export_keys_dialog_failure\">Khóa cá nhân của bạn vẫn chưa được xuất dữ liệu:\\n%s</string>\n\t<string name=\"import_export_keys_dialog_password\">mật khẩu</string>\n\t<string name=\"import_export_keys_dialog_show\">Hiển thị mật khẩu</string>\n\t<string name=\"import_export_keys_dialog_failure_title\">Lỗi</string>\n\t<string name=\"import_keys_intent_filter_action\">Nhập dữ liệu từ khóa Bitcoin</string>\n\t<string name=\"scan_camera_problem_dialog_title\">Rất tiếc</string>\n\t<string name=\"scan_camera_problem_dialog_message\">Phần camera gặp vấn đề. Bạn nên khởi động lại thiết bị này.</string>\n\t<string name=\"input_parser_invalid_bitcoin_uri\">Bitcoin URI không hợp lệ:\\n%s</string>\n\t<string name=\"input_parser_invalid_address\">Đã nhận được địa chỉ bitcoin không hợp lệ!\\n(Nhầm lẫn giữa Mainnet/Testnet?)</string>\n\t<string name=\"preferences_activity_title\">Thiết lập</string>\n\t<string name=\"preferences_category_diagnostics\">Chẩn đoán</string>\n\t<string name=\"preferences_category_labs\">Thí nghiệm</string>\n\t<string name=\"preferences_trusted_peer_title\">Kết nối ngang hàng đáng tin</string>\n\t<string name=\"preferences_trusted_peer_summary\">Địa chỉ IP hoặc hostname của kết nối ngang hàng để kết nối đến.</string>\n\t<string name=\"preferences_trusted_peer_only_title\">Bỏ qua việc tìm kiếm kết nối ngang hàng thông thường</string>\n\t<string name=\"preferences_trusted_peer_only_summary\">Ngăn chặn kết nối đến bất kỳ mạng ngang hàng nào trừ danh sách được tin tưởng.</string>\n\t<string name=\"preferences_report_issue_title\">Báo cáo về lỗi</string>\n\t<string name=\"preferences_initiate_reset_title\">Thiết đặt lại block chain</string>\n\t<string name=\"preferences_initiate_reset_summary\">Thiết đặt lại</string>\n\t<string name=\"preferences_initiate_reset_dialog_message\">Bạn có muốn thiết đặt lại và replay đối với block chain?\\n\\nĐiều này sẽ tạm thời ẩn đi trạng thái cân bằng ví tiền của bạn và loại bỏ các giao dịch. Cả hai phần này sẽ phục hồi trong tiến trình đồng bộ hóa block chain.</string>\n\t<string name=\"preferences_initiate_reset_dialog_positive\">Thiết đặt lại</string>\n\t<string name=\"report_issue_dialog_title_issue\">Báo cáo về lỗi</string>\n\t<string name=\"report_issue_dialog_title_crash\">Nhận dạng được lần tự động tắt trước đó</string>\n\t<string name=\"report_issue_dialog_message_issue\">Xin vui lòng miêu tả về lỗi mà bạn gặp phải để chúng tôi có thể giúp bạn giải quyết vấn đề gặp phải</string>\n\t<string name=\"report_issue_dialog_message_crash\">Bạn có muốn gửi đi báo cáo về lỗi gặp phải hay không, hãy giúp chúng tôi giải quyết các vấn đề tương tự?</string>\n\t<string name=\"report_issue_dialog_description\">mô tả về lỗi</string>\n\t<string name=\"report_issue_dialog_report\">Báo cáo</string>\n\t<string name=\"report_issue_dialog_collect_device_info\">Thông tin chỉ thị về thiết bị</string>\n\t<string name=\"report_issue_dialog_collect_application_log\">Nhật trình chỉ thị của ứng dụng</string>\n\t<string name=\"report_issue_dialog_collect_wallet_dump\">Các lỗi mà ví tiền gặp phải</string>\n\t<string name=\"report_issue_dialog_mail_intent_chooser\">Gửi báo cáo sử dụng…</string>\n\t<string name=\"about_title\">Thông tin</string>\n\t<string name=\"about_license_title\">Giấy phép</string>\n\t<string name=\"about_credits_bitcoinj_title\">Ứng dụng này đang sử dụng bitcoinj %s</string>\n\t<string name=\"about_credits_zxing_title\">Ứng dụng này sử dụng ZXing</string>\n\t<string name=\"about_market_app_title\">Trang web của ứng dụng trên %s</string>\n\t<string name=\"notification_coins_received_msg\">đã nhận %s</string>\n\t<string name=\"notification_peers_connected_msg\">%d mạng ngang hàng đã kết nối</string>\n\t<!-- generic buttons -->\n\t<string name=\"button_ok\">Đồng ý</string>\n\t<string name=\"button_dismiss\">Bỏ qua</string>\n\t<string name=\"button_cancel\">Hủy bỏ</string>\n\t<string name=\"button_help\">Trợ giúp</string>\n\t<string name=\"button_add\">Thêm</string>\n\t<string name=\"button_delete\">Xóa</string>\n\t<string name=\"button_edit\">Chỉnh sửa</string>\n\t<string name=\"button_copy\">Sao chép</string>\n\t<string name=\"button_paste\">Dán</string>\n\t<string name=\"button_share\">Chia sẻ</string>\n\t<string name=\"button_set_as_default\">Đặt làm mặc định</string>\n\t<string name=\"button_request_coins\">Yêu cầu coin</string>\n\t<string name=\"button_send_coins\">Gửi coin</string>\n\t<string name=\"button_scan\">Quét</string>\n\t<string name=\"button_settings\">Thiết lập</string>\n\t<string name=\"action_show_qr\">Hiển thị mã QR</string>\n\t<string name=\"time_today\">hôm nay</string>\n\t<string name=\"address_unlabeled\">(chưa có nhãn)</string>\n\n</resources>\n"
  },
  {
    "path": "wallet/res/values-w1000dp/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <dimen name=\"card_margin_horizontal\">20dp</dimen>\n    <dimen name=\"exchange_rate_pane_width\">448dp</dimen>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-w400dp/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <dimen name=\"card_margin_horizontal\">12dp</dimen>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-w640dp/layouts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <item name=\"address_book_two_panes\" type=\"bool\">true</item>\n    <item name=\"network_monitor_two_panes\" type=\"bool\">true</item>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-w720dp/layouts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <item name=\"wallet_content\" type=\"layout\">@layout/wallet_activity_twopanes</item>\n    <item name=\"show_exchange_rates_option\" type=\"bool\">false</item>\n    <item name=\"wallet_actions_top\" type=\"bool\">true</item>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-zh/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">您的钱包已被重置!\\n需要一些时间来恢复。</string>\n  <string name=\"toast_start_external_document_failed\">没有安装网页浏览器来打开外部文档。</string>\n  <string name=\"toast_start_storage_provider_selector_failed\">没有安装合适的云存储服务提供商。\\n你需要类似于“Nextcloud”或“Google Drive\\\"的云存储服务。</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">使用时请您自担风险。请务必阅读 &lt;u&gt;安全提示&lt;/u&gt;.</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">你需要 &lt;u&gt;备份你的钱包&lt;/u&gt;!</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s, 落后%2$d 小时</string>\n  <string name=\"blockchain_state_progress_days\">%1$s, 落后%2$d 天</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s, 落后%2$d 星期</string>\n  <string name=\"blockchain_state_progress_months\">%1$s, 落后%2$d 月</string>\n  <string name=\"blockchain_state_progress_downloading\">与网络同步</string>\n  <string name=\"blockchain_state_progress_stalled\">同步已停滞</string>\n  <string name=\"blockchain_state_progress_problem_storage\">同步出现问题: 存储空间低</string>\n  <string name=\"blockchain_state_progress_problem_network\">同步出现问题: 没有网络连接</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">比特币地址已复制到了剪贴板</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">为了保护你的隐私，当发生接收交易后，你的地址将会更换。</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">您的设备过旧并且可能不安全，请仅将其用于小额支付。</string>\n  <string name=\"wallet_balance_fragment_too_much\">该金额太庞大了，在您的口袋中随身携带存在安全风险。请将一部分资金转移到一个安全的地方。</string>\n  <string name=\"wallet_balance_fragment_replaying\">重放 (replay) 过程中无法显示余额。</string>\n  <string name=\"exchange_rates_activity_title\">汇率</string>\n  <string name=\"exchange_rates_fragment_empty_search\">汇率未找到。</string>\n  <string name=\"exchange_rates_fragment_default\">(默认)</string>\n  <string name=\"exchange_rates_fragment_rate\">汇率</string>\n  <string name=\"exchange_rates_fragment_balance\">余额</string>\n  <string name=\"exchange_rates_fragment_source\">价格来自 %s</string>\n  <string name=\"exchange_rates_options_search\">搜索汇率</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">尚未收到比特币。</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">尚未发送比特币。</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">如何获得比特币？\\n用传统货币进行交易，\\n出售商品或服务，或者\\n通过劳动赚取。</string>\n  <string name=\"wallet_transactions_fragment_empty_remind_backup\">在接收比特币之前\\n请务必备份您的钱包！</string>\n  <string name=\"wallet_transactions_row_warning_backup\">恭喜，您收到了第一笔付款！您是否已经 &lt;u&gt;备份了您的钱包&lt;/u&gt;，以避免损失？</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">提示: 为增加钱包的安全性, 你可以&lt;u&gt;加密你的设备&lt;/u&gt;. 这同样能保护其他应用的数据.</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">比特币网络正在维护中。在维护完成之前，我们建议您不要收发比特币。&lt;u&gt;详细信息。&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">挖矿所的</string>\n  <string name=\"wallet_transactions_fragment_internal\">内部</string>\n  <string name=\"wallet_transactions_options_filter\">过滤器</string>\n  <string name=\"wallet_transactions_options_filter_all\">所有交易</string>\n  <string name=\"wallet_transactions_options_filter_received\">收入</string>\n  <string name=\"wallet_transactions_options_filter_sent\">支出</string>\n  <string name=\"wallet_options_request_legacy\">用旧式地址索取比特币</string>\n  <string name=\"wallet_options_safety_menu\">安全</string>\n  <string name=\"wallet_options_encrypt_keys_set\">设置支付 PIN 码</string>\n  <string name=\"wallet_options_encrypt_keys_change\">更改支付 PIN 码</string>\n  <string name=\"wallet_options_safety\">安全须知</string>\n  <string name=\"wallet_options_technical_notes_title\">技术手册</string>\n  <string name=\"wallet_options_donate\">技巧 / 捐助</string>\n  <string name=\"wallet_donate_address_label\">向比特币钱包 (Bitcoin Wallet) 捐款</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_title\">安全警告</string>\n  <string name=\"alert_dialogs_fragment_insecure_bluetooth_message\">您的设备的蓝牙模块是不可靠的。无论您使用何种应用来保存比特币，它们的安全都会受到威胁！\\n\\n我们建议您立即关闭蓝牙开关，并且检查Android的系统更新（安全补丁等级“%s”或者更高）。</string>\n  <string name=\"wallet_low_storage_dialog_title\">内部设备存储空间不足！</string>\n  <string name=\"wallet_low_storage_dialog_msg\">比特币钱包使用内部存储设备来记录交易和区块。如果存储空间不足，它将会停止工作，并且您的比特币将存在风险！\\n您是否想要打开应用程序管理器，以卸载掉一些不需要的应用程序？</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">管理应用程序</string>\n  <string name=\"wallet_timeskew_dialog_title\">检查日期 &amp; 时间设置</string>\n  <string name=\"wallet_timeskew_dialog_msg\">您的设备时间已关闭 %d 分钟。由于这个问题您可能无法发送或接收比特币。\\n\\n您应检查，如果必须更正您的日期、时间和时区设置。</string>\n  <string name=\"wallet_version_dialog_title\">有新的版本可用！</string>\n  <string name=\"wallet_version_dialog_msg\">这个版本修正了重要的错误。详情请看%s上的改动日志。</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">如果你没有看到更新，这可能意味您的 Android 版本已经不被支持了。</string>\n  <string name=\"wallet_version_dialog_button_binary\">下载</string>\n  <string name=\"wallet_old_sdk_dialog_title\">您的 Android 版本已过时</string>\n  <string name=\"wallet_old_sdk_dialog_message\">下一个版本的比特币钱包程序很有可能不再支持您当前的设备。这将导致在某些情况下您无法在该设备上支付比特币。\\n除非您知道自己在做什么，否则强烈建议您尽快转移您存储在该设备上的比特币。</string>\n  <string name=\"alert_dialogs_fragment_settings_failed_title\">无法打开设置</string>\n  <string name=\"send_coins_activity_title\">发送比特币</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">正在从 %s 读取签名…</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">获取支付请求失败</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_message\">收款人(%1$s)正在使用不兼容的支付协议(原因：%2$s)</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">签名错误！</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">已由 %s 验证</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">未知</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">支付给</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">输入地址或名称</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">无效的比特币地址！</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">你正在向自己发送比特币！</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">复杂\\n地址</string>\n  <string name=\"send_coins_fragment_pending\">(%s 正在等待确认)</string>\n  <string name=\"send_coins_fragment_amount_label\">要支付的金额</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">将会收取%s的普通手续费。重要提示：仅当您不关心交易确认时间长短的时候才选择“普通手续费”。</string>\n  <string name=\"send_coins_fragment_hint_fee\">将会支付 %s 微小的网络费用。</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">将会收取%s的优先手续费。重要提示：“优先手续费”将会产生更多的手续费，仅当您需要交易被快速确认的时候使用它。</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">该金额太小了，无法支付。</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">余额不足，还需%s。这也有可能是额外的区块链网络手续费造成的。</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">您钱包中的微小付款金额无法达到可支付的金额。</string>\n  <string name=\"send_coins_fragment_hint_replaying\">现在不能进行支付，因为重放正在进行当中。</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">直接向收款人付款。</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">您的直接付款已经成功发送。</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">您的直接付款已被拒绝。</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">直接付款失败</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">您的付款将将会继续通过 P2P 网络进行广播。</string>\n  <string name=\"send_coins_fragment_button_send\">发送</string>\n  <string name=\"send_coins_fragment_button_back\">返回</string>\n  <string name=\"send_coins_fragment_significant_fee_title\">显著的网络费用</string>\n  <string name=\"send_coins_fragment_significant_fee_message\">这笔付款（%1$s）的网络费用对于金额（%2$s）来说很高。您仍然要继续么？</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">比特币余额不足</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">你还缺少 %s.</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">您想要用您拥有的所有比特币进行支付吗？</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">清空钱包失败</string>\n  <string name=\"send_coins_fragment_state_decrypting\">正在解密…</string>\n  <string name=\"send_coins_preparation_msg\">正在签名…</string>\n  <string name=\"send_coins_sending_msg\">正在发送…</string>\n  <string name=\"send_coins_sent_msg\">已发送！</string>\n  <string name=\"send_coins_failed_msg\">失败！</string>\n  <string name=\"send_coins_error_msg\">支付比特币时出现了问题！</string>\n  <string name=\"send_coins_options_fee_category\">费用</string>\n  <string name=\"send_coins_options_fee_category_economic\">节省</string>\n  <string name=\"send_coins_options_fee_category_normal\">正常</string>\n  <string name=\"send_coins_options_fee_category_priority\">优先级</string>\n  <string name=\"send_coins_options_empty\">清空钱包</string>\n  <string name=\"raise_fee_dialog_title\">提高网络费用</string>\n  <string name=\"raise_fee_dialog_message\">您要提高 %s 的此付款的网络费用吗？它将使支付更快地确认。</string>\n  <string name=\"raise_fee_dialog_determining_fee\">正在确定网络费用...</string>\n  <string name=\"raise_fee_dialog_cant_raise\">不能提高此付款的网络费用。</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">正在解密…</string>\n  <string name=\"raise_fee_dialog_state_done\">已完成。</string>\n  <string name=\"raise_fee_dialog_button_raise\">提升</string>\n  <string name=\"sweep_wallet_activity_title\">交换纸钱包上的比特币</string>\n  <string name=\"sweep_wallet_fragment_intro\">您将要扫描纸质的钱包或者coupon。这会将纸钱上的所有比特币转移到您的当前设备上。当交易被确认后，那张纸将会分文不值，而且将不能作为安全措施重新使用该纸钱包。</string>\n  <string name=\"sweep_wallet_fragment_hint\">纸钱包常常用于进行冷存储。一些 ATM 机经常会将比特币打印在纸上，而不是直接发送到您的移动设备上。人们有时候会使用已经预付的 (pre-charged) 纸钱包来互相转移金额（不推荐）。</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">该操作将从扫描纸钱包上的私钥开始。请使用界面上的相机按钮。</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">该私钥受密码保护。</string>\n  <string name=\"sweep_wallet_fragment_password\">密码</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">密码错误！</string>\n  <string name=\"sweep_wallet_fragment_balance\">要交换的金额</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">解密</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">交换</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">正在解密…\\n需要花费2分钟左右。</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">正在载入金额…</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">载入钱包金额失败</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_connection\">您和Electrum网络的链接不良。</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_empty\">纸钱包是空的。</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">比特币不足</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">该钱包上的比特币金额太小，无法交换。</string>\n  <string name=\"sweep_wallet_options_reload\">重新载入金额</string>\n  <string name=\"maintenance_dialog_title\">建议进行维护</string>\n  <string name=\"maintenance_dialog_message\">您收到了 %1$s 到不安全的比特币地址。您想将这些比特币转移到安全的地址吗？您需要支付 %2$s 的小额网络费用。</string>\n  <string name=\"maintenance_dialog_state_decrypting\">正在解密…</string>\n  <string name=\"maintenance_dialog_state_done\">已完成。</string>\n  <string name=\"maintenance_dialog_button_move\">转移</string>\n  <string name=\"request_coins_activity_title\">索取比特币</string>\n  <string name=\"request_coins_fragment_amount_label\">需要索取的数量（可选）</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">通过蓝牙接受支付，以确保支付更加可靠</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">请比特币发送者扫描该二维码。</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">或者靠近并轻敲已启用NFC的设备。</string>\n  <string name=\"request_coins_clipboard_msg\">索取比特币的请求已复制到剪贴板</string>\n  <string name=\"request_coins_share_dialog_title\">分享索取比特币的请求…</string>\n  <string name=\"request_coins_no_local_app_msg\">未找到其它比特币应用程序</string>\n  <string name=\"request_coins_options_local_app_title\">从本地应用程序索取</string>\n  <string name=\"address_book_activity_title\">地址簿</string>\n  <string name=\"address_book_list_receiving_title\">您的比特币地址</string>\n  <string name=\"address_book_list_receiving_random\">历史地址</string>\n  <string name=\"address_book_list_sending_title\">发送的地址</string>\n  <string name=\"address_book_empty_text\">地址薄中无记录</string>\n  <string name=\"address_book_context_send_title\">将比特币发送到地址</string>\n  <string name=\"address_book_context_edit_title\">编辑地址</string>\n  <string name=\"address_book_context_remove_title\">移除地址</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">复制到剪贴板</string>\n  <string name=\"address_book_options_scan_title\">掃描地址</string>\n  <string name=\"address_book_options_scan_invalid\">无法识别扫描的数据</string>\n  <string name=\"address_book_options_scan_own_address\">扫描的地址是你自己</string>\n  <string name=\"address_book_row_current_address\">这是您当前的收款地址。</string>\n  <string name=\"address_book_row_message_compromised_key\">这个地址可能已被盗用。你不应该再使用它来接收比特币了。</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">添加发送地址</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">编辑发送地址标签</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">为地址添加标签</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">编辑地址标签</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">地址</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">标签</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">保存</string>\n  <string name=\"transaction_row_fee\">网络费用</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">此项支付尚未传输。</string>\n  <string name=\"transaction_row_confidence_message_received_successful\">这笔付款已记入您的钱包。</string>\n  <string name=\"transaction_row_confidence_message_sent_successful\">您的付款已成功完成。已送至收款人手中。</string>\n  <string name=\"transaction_row_confidence_message_received_failed\">这笔付款失败了。</string>\n  <string name=\"transaction_row_confidence_message_sent_failed\">您的付款已经失败。</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">该项交易能加强您的钱包安全性，防止被盗。&lt;u&gt;更多信息.&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">此交易会提高先前付款的网络费用。</string>\n  <string name=\"transaction_row_message_received_direct\">此项付款已经被直接接收。这存在所获取的比特币可能永远无法使用的风险。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">此付款的确认被延迟，可能是由于比特币网络的过载。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">此项付款所获得的比特币将在几分钟之后可以使用。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">由于比特币网络正处于维护状态，这笔交易在被完全确认前不可信。</string>\n  <string name=\"transaction_row_message_received_in_conflict\">这种付款被发送者收回的风险增加！如果可以，等待确认。</string>\n  <string name=\"transaction_row_message_received_dead\">此项付款已被付款人撤销。</string>\n  <string name=\"transaction_row_message_received_dust\">如此小的金额，在经济意义上可能永远也无法花费。</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">此项付款除了支付给您以外，还支付给很多其它的钱包，这导致程序运行时间变慢，如果可能，请尝试仅接收支付给您一个人的付款。</string>\n  <string name=\"transaction_row_message_received_rbf\">此付款被延迟，因为发件人使用不安全的交易类型。</string>\n  <string name=\"network_monitor_activity_title\">网络监视器</string>\n  <string name=\"network_monitor_peer_list_title\">Peers</string>\n  <string name=\"network_monitor_block_list_title\">区块</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">挖掘难度调整</string>\n  <string name=\"block_row_mining_reward_adjustment\">挖矿奖励减半</string>\n  <string name=\"block_row_now\">刚刚</string>\n  <string name=\"peer_list_fragment_empty\">没有已连接的peer</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d&#x2009;ms</string>\n  <string name=\"import_keys_dialog_title\">恢复钱包</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">您将要替换掉当前的钱包。当前钱包中的所有比特币将会丢失，除非您已经对其单独做了备份。</string>\n  <string name=\"import_keys_dialog_warning\">重要提示：请不要添加不明来历的私匙！如果你这样做，其他人可能可以控制你的资金。</string>\n  <string name=\"import_keys_dialog_button_import\">恢复</string>\n  <string name=\"restore_wallet_dialog_success\">钱包已恢复。</string>\n  <string name=\"restore_wallet_dialog_success_replay\">您的钱包已经成功恢复。下一步将会确定您的余额，这将会花费一些时间。</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">警告：您的钱包由一个支付PIN码保护。在您使用这个钱包收款前，请确认您还记得这个PIN码。</string>\n  <string name=\"import_keys_dialog_failure\">无法恢复钱包：\\n\\n%s\\n\\n是否输入了错误的密码？</string>\n  <string name=\"export_keys_dialog_title\">备份钱包</string>\n  <string name=\"backup_wallet_dialog_message\">您的备份将会使用选定的密码进行加密，然后放置在外部存储设备上。</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">您的钱包受支付PIN码保护。除了备份密码以外，请确保您记住该PIN码！</string>\n  <string name=\"export_keys_dialog_button_export\">备份</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>您的钱包已经被备份至<tt>%s</tt></p><p><b>如果您只把备份放在这台设备上，您就暴露在所有备份丢失的风险中！</p><p>无论在什么情况下，您都要确保您还记得备份的密码。</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">无法备份钱包：\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">密码</string>\n  <string name=\"backup_wallet_dialog_password_again\">确认密码</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">密码不正确</string>\n  <string name=\"import_export_keys_dialog_show\">显示密码</string>\n  <string name=\"import_export_keys_dialog_failure_title\">错误</string>\n  <string name=\"import_keys_intent_filter_action\">恢复钱包</string>\n  <string name=\"encrypt_keys_dialog_title\">支付PIN码</string>\n  <string name=\"encrypt_keys_dialog_message\">从您的钱包对外付款将会受到该PIN码的保护。</string>\n  <string name=\"encrypt_keys_dialog_warning\">重要提示：您需要记住您的PIN！ 不要使用通用数字（如生日）。</string>\n  <string name=\"encrypt_keys_dialog_password_old\">旧 PIN</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">弱</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">一般</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">好</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">强</string>\n  <string name=\"encrypt_keys_dialog_show\">显示 PIN</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">正在加密…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">正在解密…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">已完成。</string>\n  <string name=\"scan_camera_problem_dialog_title\">抱歉</string>\n  <string name=\"scan_camera_problem_dialog_message\">相机出现了问题。您可能需要重启设备。</string>\n  <string name=\"scan_camera_permission_dialog_title\">Camera授权</string>\n  <string name=\"scan_camera_permission_dialog_message\">为了扫描QR码，您需要授予使用相机的权限。</string>\n  <string name=\"input_parser_io_error\">无法读取数据：\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">如法识别输入：\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">无效的比特币URL：\\n%s</string>\n  <string name=\"input_parser_invalid_address\">出现了无效的比特币地址！\\n（混淆了mainnet/testnet？）</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">无法核实付款请求：\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">无效的付款请求：\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">无效的交易：\\n%s</string>\n  <string name=\"preferences_activity_title\">设置</string>\n  <string name=\"preferences_category_general\">通用</string>\n  <string name=\"preferences_category_privacy\">隐私控制</string>\n  <string name=\"preferences_category_merchants\">商户</string>\n  <string name=\"preferences_category_diagnostics\">诊断</string>\n  <string name=\"preferences_category_labs\">实验</string>\n  <string name=\"preferences_precision_title\">面值和精度</string>\n  <string name=\"preferences_precision_summary\">金额的显示单位，不会影响计算。</string>\n  <string name=\"preferences_precision_labels_8\">BTC, 8 位小数</string>\n  <string name=\"preferences_precision_labels_6\">BTC, 6 位小数</string>\n  <string name=\"preferences_precision_labels_4\">BTC, 4 位小数</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC, 2位小数</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC, 没有小数位</string>\n  <string name=\"preferences_own_name_title\">你的名字</string>\n  <string name=\"preferences_own_name_summary\">在你向你的顾客提供的支付请求上添加你或者你的公司的名称。</string>\n  <string name=\"preferences_own_name_dialog_message\">尽量简洁。</string>\n  <string name=\"preferences_send_coins_autoclose_title\">自动关闭支付对话框</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">付款后，发送对话框将自动关闭。</string>\n  <string name=\"preferences_sync_mode_title\">数据流量消耗与隐私的权衡</string>\n  <string name=\"preferences_sync_mode_summary\">在与网络同步时，是选择低数据流量消耗，还是选择更好的隐私性。</string>\n  <string name=\"preferences_sync_mode_labels_connection_filter\"><![CDATA[<b>低数据流量消耗:</b> 使用网络过滤器，这样就只会读取与您的钱包相关的交易。这样每月大约将会使用500MB，但是与此同时会把过滤器数据在网络上公开。]]></string>\n  <string name=\"preferences_sync_mode_labels_full\"><![CDATA[<b>更好的隐私性:</b> 将不会向网络公开透露与您的钱包相关的任何信息。请注意，因为需要下载所有的交易信息，所以这样的话每月将会产生大约10G的巨额流量。请在选择此项前检查您的数据流量套餐额度。]]></string>\n  <string name=\"preferences_trusted_peer_title\">受信任的peer</string>\n  <string name=\"preferences_trusted_peer_summary\">要连接的单个peer的IP地址或主机名称。</string>\n  <string name=\"preferences_trusted_peer_dialog_message\">请输入有效的IP地址或主机名。如果你已经设置完毕Tor，你也可以使用在线地址。</string>\n  <string name=\"preferences_trusted_peer_dialog_message_multiple\">您可以指定多个受信任的节点，用空格分隔它们即可。</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">正在解析...</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">未知的主机名！</string>\n  <string name=\"preferences_trusted_peer_only_title\">跳过常规peer发现</string>\n  <string name=\"preferences_trusted_peer_only_summary\">除了受信任peer外，防止连接到任何其它的peer。</string>\n  <string name=\"preferences_block_explorer_title\">区块链浏览器</string>\n  <string name=\"preferences_block_explorer_summary\">第三方区块链浏览网站用于浏览交易记录，钱包地址和区块记录。</string>\n  <string name=\"preferences_data_usage_title\">数据流量消耗</string>\n  <string name=\"preferences_data_usage_summary\">显示限制移动网络数据流量消耗的选项。</string>\n  <string name=\"preferences_notifications_title\">通知</string>\n  <string name=\"preferences_notifications_summary\">显示选项，可禁用或启用各种通知。</string>\n  <string name=\"preferences_remind_balance_title\">余额提示</string>\n  <string name=\"preferences_remind_balance_summary\">如果几个星期后都没有被使用，并且钱包里有余额，应用程序将发出通知。</string>\n  <string name=\"preferences_show_disclaimer_title\">显示声明</string>\n  <string name=\"preferences_show_disclaimer_summary\">您真的已经读过安全须知了吗？您已经把钱包备份到安全的位置了吗？</string>\n  <string name=\"preferences_bluetooth_address_title\">蓝牙地址</string>\n  <string name=\"preferences_bluetooth_address_summary\">手动配置你自己的蓝牙地址，这样你就可以在没有网络连接时收款。</string>\n  <string name=\"preferences_bluetooth_address_dialog_message\">不幸的是Android会阻止自动检测您设备的蓝牙地址。您需要在Android蓝牙设置中找到它后，把它输入到这里。\\n\\n请在输入时确保每一个字符都准确无误，冒号可以省略，大小写都可以。</string>\n  <string name=\"preferences_report_issue_title\">报告问题</string>\n  <string name=\"preferences_initiate_reset_title\">重置区块链</string>\n  <string name=\"preferences_initiate_reset_summary\">重置区块链、交易和余额，这会耗费一段时间。</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">您是否想要重置并重新同步区块链？\\n\\n这将暂时隐藏您的钱包余额并删除交易记录。在同步过程之后钱包余额和交易记录将会恢复。</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">重置</string>\n  <string name=\"preferences_extended_public_key_title\">显示扩展公钥</string>\n  <string name=\"preferences_extended_public_key_summary\">查看你钱包的公钥，这将允许你将其导入至其它应用和服务中。\n小心：这样做将会把你的经济隐私泄露给那个应用。</string>\n  <string name=\"bitmap_fragment_share\">分享</string>\n  <string name=\"extended_public_key_fragment_title\">扩展公钥</string>\n  <string name=\"extended_public_key_fragment_share\">分享扩展公钥</string>\n  <string name=\"report_issue_dialog_title_issue\">报告问题</string>\n  <string name=\"report_issue_dialog_title_crash\">检测到了之前的一次奔溃</string>\n  <string name=\"report_issue_dialog_title_transaction\">使用这笔付款报告问题</string>\n  <string name=\"report_issue_dialog_message_issue\">请正确描述您的问题，以便转达。</string>\n  <string name=\"report_issue_dialog_message_crash\">你想发送崩溃报告，在未来帮助解决这个问题？</string>\n  <string name=\"report_issue_dialog_description\">问题描述</string>\n  <string name=\"report_issue_dialog_report\">报告</string>\n  <string name=\"report_issue_dialog_collect_device_info\">附加设备信息</string>\n  <string name=\"report_issue_dialog_collect_application_log\">附加应用程序日志</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">附加钱包 dump 信息</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">发送报告使用…</string>\n  <string name=\"about_title\">关于</string>\n  <string name=\"about_version_title\">版本</string>\n  <string name=\"about_version_apk_hash_title\">APK安装包的SHA256散列值</string>\n  <string name=\"about_copyright_title\">Copyright</string>\n  <string name=\"about_license_title\">许可协议</string>\n  <string name=\"about_source_title\">源代码</string>\n  <string name=\"about_category_credits\">此应用正在使用...</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, 一个比特币协议库</string>\n  <string name=\"about_credits_zxing_title\">ZXing，一个QR码处理库</string>\n  <string name=\"about_credits_bouncycastle_title\">Bouncy Castle，一个密码学函数库</string>\n  <string name=\"about_credits_okhttp_title\">OkHttp，一个HTTP客户端函数库</string>\n  <string name=\"about_credits_moshi_title\">Moshi，一个JSON函数库</string>\n  <string name=\"about_credits_guava_title\">Guava，实用助手的一个集合</string>\n  <string name=\"about_credits_slf4j_title\">SLF4J，一个日志框架</string>\n  <string name=\"about_market_app_title\">%s页</string>\n  <string name=\"about_market_app_summary\">评价这个应用</string>\n  <string name=\"about_faq_title\">常见问题</string>\n  <string name=\"about_faq_summary\">关于这个应用程序的常见问题</string>\n  <string name=\"notification_coins_received_msg\">收到了 %s</string>\n  <string name=\"notification_connectivity_syncing_message\">与网络同步...</string>\n  <string name=\"notification_connectivity_syncing_trusted_peer\">与受信任的节点同步...</string>\n  <string name=\"notification_peers_connected_msg\">%d 个已连接的peer </string>\n  <string name=\"notification_peer_connected\">已连接</string>\n  <string name=\"notification_peer_not_connected\">未连接</string>\n  <string name=\"notification_inactivity_title\">你在这台设备上已获得比特币！</string>\n  <string name=\"notification_inactivity_message\">请牢记，如果在卸载比特币钱包之前，你没有先将它们发送到别处，你的%s余额将会丢失。</string>\n  <string name=\"notification_inactivity_message_donate\">如果你不在乎你的比特币，你可以将他们捐赠给比特币钱包项目。</string>\n  <string name=\"notification_inactivity_action_dismiss\">稍后提醒我</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">不用提醒我</string>\n  <string name=\"notification_bluetooth_service_listening\">蓝牙收款已就绪</string>\n  <string name=\"notification_channel_received_name\">已收到付款</string>\n  <string name=\"notification_channel_ongoing_name\">后台活动</string>\n  <string name=\"notification_channel_important_name\">重要警告</string>\n  <string name=\"appwidget_wallet_balance_title\">比特币余额</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">确定</string>\n  <string name=\"button_dismiss\">忽略</string>\n  <string name=\"button_cancel\">取消</string>\n  <string name=\"button_retry\">重试</string>\n  <string name=\"button_help\">帮助</string>\n  <string name=\"button_add\">添加</string>\n  <string name=\"button_delete\">删除</string>\n  <string name=\"button_set\">设置</string>\n  <string name=\"button_remove\">移除</string>\n  <string name=\"button_edit\">编辑</string>\n  <string name=\"button_copy\">复制</string>\n  <string name=\"button_paste\">粘贴</string>\n  <string name=\"button_share\">分享</string>\n  <string name=\"button_set_as_default\">设为默认</string>\n  <string name=\"button_request_coins\">索取比特币</string>\n  <string name=\"button_send_coins\">发送比特币</string>\n  <string name=\"button_scan\">扫描</string>\n  <string name=\"button_settings\">设置</string>\n  <string name=\"action_show_qr\">显示二维码</string>\n  <string name=\"action_browse\">浏览</string>\n  <!--generic strings-->\n  <string name=\"time_today\">今天</string>\n  <string name=\"address_unlabeled\">(无标签)</string>\n  <string name=\"private_key_password\">PIN</string>\n  <string name=\"private_key_bad_password\">错误的 PIN！</string>\n  <string name=\"qr_code\">二维码</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O 错误: %s</string>\n  <string name=\"error_parse\">解析错误: %s</string>\n  <string name=\"error_http\">HTTP 错误 %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">蓝牙连接错误：%1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-zh/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\t屏幕的左上部分显示您的比特币余额和一个选定的本国货币。\n\t\t\t点击即可转到本国货币列表，然后点击其中一种货币将其选为默认货币。\n\t\t</p>\n\t\t<p>\n\t\t\t右边的QR码包含您的比特币地址，可以用于另一方的扫描。\n\t\t\t点击QR码以获得更大的版本。\n\t\t</p>\n\t\t<p>\n\t\t\t屏幕底部由您的事务列表覆盖，开始时为空。\n\t\t\t待确认的交易将被清除，直到确认为止。\n\t\t\t点击一个条目将发件人或接收者地址添加到地址簿。\n\t\t</p>\n\t\t<p>\n\t\t\t您可以通过点击操作栏中的按钮发送或接受货币。\n\t\t\t更多选项在选项菜单中可用。\n\t\t</p>\n\t]]>\n    </string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\t使用该对话框，您可以向其他人申请获得比特币，前提是他/她已经安装了比特币钱包。\n\t\t</p>\n\t\t<p>\n\t\t\t首先，您可以输入想要获得的比特币金额。\n\t\t</p>\n\t\t<p>\n\t\t\t然后，您可以让对方扫描生成的二维码，\n\t\t\t或者您可以使用操作栏中的“分享”按钮向对方发送您的收取比特币请求。\n\t\t\t对方需要点击您的比特币URL.\n\t\t</p>\n\t\t<p>\n\t\t\t以上任何一种情况下，对方将看到一个发送比特币的对话框，对话框中的所有字段都已经填好了。\n\t\t\t如果对方同意，他/她需要做的只是发送该项支付。\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\t您已经发起了一项发送比特币的交易。\n\t\t\t您可能是通过主屏幕来到该界面的，或者是在您的移动浏览器中点击了一个比特币URL。\n\t\t</p>\n\t\t<p>\n\t\t\t首先，您需要输入接收方的比特币地址。\n\t\t\t如果您的地址簿中有已知的比特币地址，则该地址字段在您输入时将会自动填充完成。\n\t\t\t您也可以通过按下二维码按钮，来扫描包含比特币地址或者比特币索取请求的的二维码。\n\t\t</p>\n\t\t<p>\n\t\t\t下一步，您可以看到目前您可以发送多少比特币。\n\t\t\t该金额与主屏幕上的余额之间的任何差额都表示此时尚未确认，因此不能用于支付。\n\t\t</p>\n\t\t<p>\n\t\t\t最后，您需要输入需要支付的金额。\n\t\t</p>\n\t\t<p>\n\t\t\t在断网情况下，您仍然可以支付。\n\t\t\t它在下次“比特币钱包”重启时被发送。\n\t\t\t如果您想要付款交易被尽快处理，请确保您拥有可靠的网络连接（比如，通过WLAN连接）。\n\t\t</p>\n\t\t<p>\n\t\t\t注意：\n\t\t\t付款交易是不可逆的！\n\t\t\t请总是检查收款方的比特币地址。\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t关于比特币钱包的<b>重要安全提醒</b>\n\t\t</p>\n\t\t<p>\n\t\t\t比特币保存在您设备中的钱包里。\n\t\t\t<b>如果您不幸遗失了手机，那么钱包也就随之丢失了。</b>\n\t\t\t就像您在大街上丢了自己的钱包一样。\n\t\t</p>\n\t\t<p>\n\t\t\t这意味着，您一定要<b>备份您的钱包</b>！\n\t\t\t请使用程序自带的备份工具备份钱包，不要使用第三方工具。\n\t\t\t请安全保管您的备份文件，并牢记备份密码。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>在您卸载比特币客户端</b> （或清除应用程序数据，或恢复出厂设置）之前,<b>请务必将钱包里的比特币转移到其它钱包中</b>。\n\t\t\t任何未转移的比特币都将丢失。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>交易本身是不可逆的。</b>.\n\t\t\t如果您倒霉的给一个未知的地址发送了比特币，那么没有任何办法可以将它们收回，除非您知道是谁收到了，而且他愿意将天上掉的馅饼还给您。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>请保管好您的Android设备！</b>\n\t\t\t不要root您的设备；\n\t\t\t只安装您完全了解且信任的程序，\n\t\t\t恶意程序可能会试图窃取您的钱包，就像在公交车上如果不盯好自己的钱包那么小偷就可能会帮您保管。\n\t\t</p>\n\t\t<p>\n\t\t\t降低风险策略之一：\n\t\t\t<b>只在手机钱包中保留少量的可供日常使用的比特币</b>。\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>技术注释：</b>\n\t\t</p>\n\t\t<p>\n\t\t\t作为一个简易支付验证（Simplified Payment Verification）的轻钱包，Bitcoin Wallet遵循拥有最多工作量证明的链（也被称为最长链，优势链或者比特币区块链）。\n\t\t\t你将只允许在该链上进行支付。\n\t\t\t在具有少量工作量证明的区块的链上比特币的安全性将无法得到保障。\n\t\t</p>\n\t\t<p>\n\t\t\t以往情况下，具有少量工作量证明的链很快就变得无效。\n\t\t\t然而，如果你仍要坚持使用较少工作量证明的链，建议你使用\\\"trusted peer\\\"功能来连接至bitcoind来强制执行你的操作。\n\t\t\t如果您的钱包和可信的节点之间的网络不可信，建议使用VPN来验证连接。\n\t\t</p>\n\t]]>\n\t</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-zh-rTW/strings.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"toast_wallet_reset\">錢包重置了！\\n恢復需要花一點時間。</string>\n  <string name=\"wallet_disclaimer_fragment_remind_safety\">使用注意安全風險，請詳讀&lt;u&gt;安全提示&lt;/u&gt;。</string>\n  <string name=\"wallet_disclaimer_fragment_remind_backup\">你必須要&lt;u&gt;備份你的錢包&lt;/u&gt;！</string>\n  <string name=\"blockchain_state_progress_hours\">%1$s，落後 %2$d 小時</string>\n  <string name=\"blockchain_state_progress_days\">%1$s，落後 %2$d 天</string>\n  <string name=\"blockchain_state_progress_weeks\">%1$s，落後 %2$d 個禮拜</string>\n  <string name=\"blockchain_state_progress_months\">%1$s，落後 %2$d 個月</string>\n  <string name=\"blockchain_state_progress_downloading\">與網路同步中</string>\n  <string name=\"blockchain_state_progress_stalled\">同步停滯</string>\n  <string name=\"blockchain_state_progress_problem_storage\">同步中: 儲存有問題</string>\n  <string name=\"blockchain_state_progress_problem_network\">同步中: 網路有問題</string>\n  <string name=\"wallet_address_fragment_clipboard_msg\">已經把 Bitcoin 位址複製到剪貼簿中</string>\n  <string name=\"wallet_address_dialog_fragment_hint\">為了保障你的隱私，一旦收到付款後，收款位址就會改變。</string>\n  <string name=\"wallet_balance_fragment_insecure_device\">你的設備太老舊了，並且不安全。請放一點點錢來使用就好。</string>\n  <string name=\"wallet_balance_fragment_too_much\">在口袋裡放這麼多錢好像不是很好。建議拿一些出來到比較安全的地方。</string>\n  <string name=\"wallet_balance_fragment_replaying\">在重播時無法顯示餘額</string>\n  <string name=\"exchange_rates_activity_title\">匯率</string>\n  <string name=\"exchange_rates_fragment_empty_search\">無法找到匯率資料。</string>\n  <string name=\"exchange_rates_fragment_default\">(預設值)</string>\n  <string name=\"exchange_rates_fragment_rate\">匯率</string>\n  <string name=\"exchange_rates_fragment_balance\">餘額</string>\n  <string name=\"exchange_rates_fragment_source\">報價來源 %s</string>\n  <string name=\"exchange_rates_options_search\">搜尋匯率</string>\n  <string name=\"wallet_transactions_fragment_empty_text_received\">還沒收過 Bitcoin。</string>\n  <string name=\"wallet_transactions_fragment_empty_text_sent\">還沒付過 Bitcoin。</string>\n  <string name=\"wallet_transactions_fragment_empty_text_howto\">如何取得 Bitcoin?\\n可以用傳統貨幣購買、\\n販賣貨物或服務、\\n或是以工作賺取。</string>\n  <string name=\"wallet_transactions_row_warning_backup\">恭喜你收到第一筆付款！你是否已經&lt;u&gt;備份好你的錢包&lt;/u&gt;來防止遺失了呢？</string>\n  <string name=\"wallet_transactions_row_warning_storage_encryption\">提示: 為了讓錢包更安全，你可以&lt;u&gt;將設備加密&lt;/u&gt;。同時也可以保護其他應用程式的資料。</string>\n  <string name=\"wallet_transactions_row_warning_chain_forking\">Bitcoin 網路正在進行維護工作。建議暫時不要付款或是收款，直到維護完成為止。&lt;u&gt;更多資訊。&lt;/u&gt;</string>\n  <string name=\"wallet_transactions_fragment_coinbase\">開採出來</string>\n  <string name=\"wallet_transactions_fragment_internal\">內部</string>\n  <string name=\"wallet_transactions_options_filter\">過濾</string>\n  <string name=\"wallet_transactions_options_filter_all\">全部款項</string>\n  <string name=\"wallet_transactions_options_filter_received\">接受款項</string>\n  <string name=\"wallet_transactions_options_filter_sent\">付出款項</string>\n  <string name=\"wallet_options_safety_menu\">安全</string>\n  <string name=\"wallet_options_encrypt_keys_set\">設定轉出 PIN 碼</string>\n  <string name=\"wallet_options_encrypt_keys_change\">修改轉出 PIN 碼</string>\n  <string name=\"wallet_options_safety\">安全提示</string>\n  <string name=\"wallet_options_technical_notes_title\">技術說明</string>\n  <string name=\"wallet_options_donate\">小費或捐贈</string>\n  <string name=\"wallet_donate_address_label\">捐贈給 Bitcoin Wallet</string>\n  <string name=\"wallet_low_storage_dialog_title\">設備的內部儲存空間太少了！</string>\n  <string name=\"wallet_low_storage_dialog_msg\">Bitcoin Wallet 使用內部儲存空間來紀錄交易和區塊。如果空間不足，它將會停止運作而且你的錢會有危險！\\n\\n是否要開啟應用程式管理員來移除不需要的應用程式呢？</string>\n  <string name=\"wallet_low_storage_dialog_button_apps\">管理應用程式</string>\n  <string name=\"wallet_timeskew_dialog_title\">檢查時間日期設定</string>\n  <string name=\"wallet_timeskew_dialog_msg\">設備的時間差了約 %d 分鐘，可能會因此沒辦法付或是收 Bitcoin。\\n\\n請檢查並修正時間、日期、以及時區的設定。</string>\n  <string name=\"wallet_version_dialog_title\">有新版程式了！</string>\n  <string name=\"wallet_version_dialog_msg\">這個版本修正了重大錯誤。詳情請見 %s 上的改版紀錄。</string>\n  <string name=\"wallet_version_dialog_msg_deprecated\">如果看不到任何程式更新，有可能你的 Android 版本已經不再支援了。</string>\n  <string name=\"wallet_version_dialog_button_binary\">下載</string>\n  <string name=\"wallet_old_sdk_dialog_title\">Android 版本太舊</string>\n  <string name=\"wallet_old_sdk_dialog_message\">接下來某個版本的 Bitcoin Wallet 可能就開始不再支援你的設備了。在這個設備上付款可能會變得很困難。\\n\\n建議你馬上把錢轉到其他地方去，除非你還知道其他處理方式。</string>\n  <string name=\"send_coins_activity_title\">Bitcoin 付款</string>\n  <string name=\"send_coins_fragment_request_payment_request_progress\">正在從 %s 讀取簽章...</string>\n  <string name=\"send_coins_fragment_request_payment_request_failed_title\">讀取簽章失敗了</string>\n  <string name=\"send_coins_fragment_request_payment_request_wrong_signature\">簽章不對！</string>\n  <string name=\"send_coins_fragment_payee_verified_by\">由 %s 驗證</string>\n  <string name=\"send_coins_fragment_payee_verified_by_unknown\">不明</string>\n  <string name=\"send_coins_fragment_receiving_address_label\">付給</string>\n  <string name=\"send_coins_fragment_receiving_address_hint\">輸入位址或是名稱</string>\n  <string name=\"send_coins_fragment_receiving_address_error\">無效的 Bitcoin 位址！</string>\n  <string name=\"send_coins_fragment_receiving_address_own\">你就要付錢給自己！</string>\n  <string name=\"send_coins_fragment_receiving_address_complex\">複雜的\\n位址</string>\n  <string name=\"send_coins_fragment_pending\">(%s 等待確認中)</string>\n  <string name=\"send_coins_fragment_amount_label\">付款金額</string>\n  <string name=\"send_coins_fragment_hint_fee_economic\">將付出節省型的手續費 %s。請只有在交易延遲確認也無所謂時，才選用「節省」。</string>\n  <string name=\"send_coins_fragment_hint_fee\">將付出網路手續費 %s。</string>\n  <string name=\"send_coins_fragment_hint_fee_priority\">將付出高優先權的手續費 %s。如果你在意手續費的話，只有在希望交易盡快確認時，才選用「優先」。</string>\n  <string name=\"send_coins_fragment_hint_dusty_send\">金額太少而無法傳送。</string>\n  <string name=\"send_coins_fragment_hint_insufficient_money\">餘額不足，還少 %s 。</string>\n  <string name=\"send_coins_fragment_hint_empty_wallet_failed\">錢包裡的零錢加總起來不夠付。</string>\n  <string name=\"send_coins_fragment_hint_replaying\">目前重播還在進行中，因此無法付款。</string>\n  <string name=\"send_coins_fragment_direct_payment_enable\">直接付款給收款人。</string>\n  <string name=\"send_coins_fragment_direct_payment_ack\">付款已經直接傳送成功了。</string>\n  <string name=\"send_coins_fragment_direct_payment_nack\">直接連線的付款被拒絕了。</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_title\">直接付款失敗了</string>\n  <string name=\"send_coins_fragment_direct_payment_failed_msg\">付款還是會透過對等(P2P)網路廣播出去。</string>\n  <string name=\"send_coins_fragment_button_send\">付款</string>\n  <string name=\"send_coins_fragment_button_back\">上一步</string>\n  <string name=\"send_coins_fragment_insufficient_money_title\">餘額不足</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg1\">你還少了 %s。</string>\n  <string name=\"send_coins_fragment_insufficient_money_msg2\">你要把全部的錢都付出去嗎？</string>\n  <string name=\"send_coins_fragment_empty_wallet_failed_title\">清空錢包失敗了</string>\n  <string name=\"send_coins_fragment_state_decrypting\">正在解密中…</string>\n  <string name=\"send_coins_preparation_msg\">正在簽署…</string>\n  <string name=\"send_coins_sending_msg\">正在付款…</string>\n  <string name=\"send_coins_sent_msg\">付款成功！</string>\n  <string name=\"send_coins_failed_msg\">失敗了！</string>\n  <string name=\"send_coins_error_msg\">付款發生問題了！</string>\n  <string name=\"send_coins_options_fee_category\">手續費</string>\n  <string name=\"send_coins_options_fee_category_economic\">節省</string>\n  <string name=\"send_coins_options_fee_category_normal\">普通</string>\n  <string name=\"send_coins_options_fee_category_priority\">優先</string>\n  <string name=\"send_coins_options_empty\">清空錢包</string>\n  <string name=\"raise_fee_dialog_title\">提高網路手續費</string>\n  <string name=\"raise_fee_dialog_message\">你想要把這筆付款的網路手續費提高 %s 嗎？可以讓它快一點被確認。</string>\n  <string name=\"raise_fee_dialog_determining_fee\">正在判斷網路手續費...</string>\n  <string name=\"raise_fee_dialog_cant_raise\">這筆付款的網路手續費不能再提高了。</string>\n  <string name=\"raise_fee_dialog_state_decrypting\">正在解密中...</string>\n  <string name=\"raise_fee_dialog_state_done\">完成。</string>\n  <string name=\"raise_fee_dialog_button_raise\">提高</string>\n  <string name=\"sweep_wallet_activity_title\">兌現紙錢包</string>\n  <string name=\"sweep_wallet_fragment_intro\">要兌現紙錢包或是點卷了。這會把紙錢包裡的錢幣，全部轉到目前設備的錢包裡。當交易完成確認後，該紙錢包就沒有價值了，同時為了安全，請不要再使用。</string>\n  <string name=\"sweep_wallet_fragment_hint\">紙錢包通常用來做冷儲存(離線儲存)。比如說，有些 Bitcoin 提款機會印出紙錢包，而不是直接把錢轉帳到你的行動設備。有時候使用者也會用預付的紙錢包方式來傳遞 bitcoin(不過不建議)。</string>\n  <string name=\"sweep_wallet_fragment_wallet_unknown\">要從掃描紙錢包的私鑰開始，請使用相機的動作按鈕。</string>\n  <string name=\"sweep_wallet_fragment_encrypted\">私鑰有密碼保護。</string>\n  <string name=\"sweep_wallet_fragment_password\">密碼</string>\n  <string name=\"sweep_wallet_fragment_bad_password\">密碼不對！</string>\n  <string name=\"sweep_wallet_fragment_balance\">兌現金額</string>\n  <string name=\"sweep_wallet_fragment_button_decrypt\">解密</string>\n  <string name=\"sweep_wallet_fragment_button_sweep\">兌現</string>\n  <string name=\"sweep_wallet_fragment_decrypt_progress\">正在解密中...\\n最多要 2 分鐘。</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_progress\">正在載入餘額...</string>\n  <string name=\"sweep_wallet_fragment_request_wallet_balance_failed_title\">載入錢包的餘額失敗了</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_title\">錢不夠</string>\n  <string name=\"sweep_wallet_fragment_insufficient_money_msg\">這個錢包裡的剩餘金額太少了，無法兌現。</string>\n  <string name=\"sweep_wallet_options_reload\">重新載入餘額</string>\n  <string name=\"maintenance_dialog_title\">建議進行維護作業</string>\n  <string name=\"maintenance_dialog_message\">從不安全的位址收到了 %1$s。你想要把這些錢轉移到安全的位址去嗎？需要花一點(%2$s)網路手續費。</string>\n  <string name=\"maintenance_dialog_state_decrypting\">正在解密中…</string>\n  <string name=\"maintenance_dialog_state_done\">完成了。</string>\n  <string name=\"maintenance_dialog_button_move\">移轉</string>\n  <string name=\"request_coins_activity_title\">Bitcoin 請款</string>\n  <string name=\"request_coins_fragment_amount_label\">請款金額(可不填)</string>\n  <string name=\"request_coins_fragment_accept_bluetooth_payment\">用過程比較可靠的藍芽收款。</string>\n  <string name=\"request_coins_fragment_initiate_request_qr\">請付款人掃描QR二維條碼。</string>\n  <string name=\"request_coins_fragment_initiate_request_nfc\">或是跟有 NFC 功能的設備碰觸一下。</string>\n  <string name=\"request_coins_clipboard_msg\">已經把 Bitcoin 請款資料複製到剪貼簿</string>\n  <string name=\"request_coins_share_dialog_title\">分享 Bitcoin 請款資料…</string>\n  <string name=\"request_coins_no_local_app_msg\">找不到其他的 Bitcoin 應用程式</string>\n  <string name=\"request_coins_options_local_app_title\">本機其他應用程式的請款</string>\n  <string name=\"address_book_activity_title\">位址簿</string>\n  <string name=\"address_book_list_receiving_title\">你的位址</string>\n  <string name=\"address_book_list_receiving_random\">舊位址</string>\n  <string name=\"address_book_list_sending_title\">付款到該位址</string>\n  <string name=\"address_book_empty_text\">位址簿無資料</string>\n  <string name=\"address_book_context_send_title\">付款到該位址</string>\n  <string name=\"address_book_context_edit_title\">編輯位址</string>\n  <string name=\"address_book_context_remove_title\">移除位址</string>\n  <string name=\"address_book_context_copy_to_clipboard_title\">複製到剪貼簿</string>\n  <string name=\"address_book_options_scan_title\">掃描位址</string>\n  <string name=\"address_book_options_scan_invalid\">掃描資料無法辨識</string>\n  <string name=\"address_book_options_scan_own_address\">掃描進來的位址是你自己的。</string>\n  <string name=\"address_book_row_message_compromised_key\">這個位址可能已經外洩了，你不應該繼續用它收款。</string>\n  <string name=\"edit_address_book_entry_dialog_title_add\">新增付款位址</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit\">編輯付款位址的標籤</string>\n  <string name=\"edit_address_book_entry_dialog_title_add_receive\">給你的位址加標籤</string>\n  <string name=\"edit_address_book_entry_dialog_title_edit_receive\">編輯你的位址的標籤</string>\n  <string name=\"edit_address_book_entry_dialog_address_label\">位址</string>\n  <string name=\"edit_address_book_entry_dialog_label_label\">標籤</string>\n  <string name=\"edit_address_book_entry_dialog_button_edit\">儲存</string>\n  <string name=\"transaction_row_fee\">網路手續費</string>\n  <string name=\"transaction_row_confidence_message_sent_unbroadcasted\">付款尚未傳輸。</string>\n  <string name=\"transaction_row_message_purpose_key_rotation\">這筆交易會增強你的錢包的防竊力。&lt;u&gt;更多資訊。&lt;/u&gt;</string>\n  <string name=\"transaction_row_message_purpose_raise_fee\">這筆交易會增加前一筆付款的網路手續費。</string>\n  <string name=\"transaction_row_message_received_direct\">這筆付款被直接接收了，這類付款可能存在無法花用的風險。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_delayed\">這筆付款確認的時間將會被延遲，可能是因為 Bitcoin 網路超過負荷量了。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_unlocked\">這筆付款應該在幾分鐘之後就可以花用。</string>\n  <string name=\"transaction_row_message_received_unconfirmed_chain_forking\">由於 Bitcoin 網路正在維護狀態，這筆交易到完全確認之前都不該被信賴。</string>\n  <string name=\"transaction_row_message_received_in_conflict\">這筆款項被付款人撤銷的風險比較高！如果可以的話，最好是等待它確認完畢。</string>\n  <string name=\"transaction_row_message_received_dead\">這筆付款被付款人撤銷了。</string>\n  <string name=\"transaction_row_message_received_dust\">這麼小的金額可能花起來不划算。</string>\n  <string name=\"transaction_row_message_received_pay_to_many\">這筆付款因為同時付給這個錢包和其他錢包，會讓這個應用程式越跑越慢。如果可以的話，請付款人只付給你就好。</string>\n  <string name=\"transaction_row_message_received_rbf\">由於付款人用一種不安全的交易類型，使得該筆交易被延後了。</string>\n  <string name=\"network_monitor_activity_title\">網路監視器</string>\n  <string name=\"network_monitor_peer_list_title\">節點</string>\n  <string name=\"network_monitor_block_list_title\">區塊</string>\n  <string name=\"block_row_mining_difficulty_adjustment\">採礦難度調整值</string>\n  <string name=\"block_row_mining_reward_adjustment\">採礦報酬減半</string>\n  <string name=\"block_row_now\">剛剛</string>\n  <string name=\"peer_list_fragment_empty\">沒有節點連線</string>\n  <string name=\"peer_list_row_ping_time\">⇆ %d 毫秒</string>\n  <string name=\"import_keys_dialog_title\">復原錢包</string>\n  <string name=\"restore_wallet_dialog_replace_warning\">將要替換目前的錢包。如果沒有另外的備份，目前錢包裡的所有錢幣就不能用了。</string>\n  <string name=\"import_keys_dialog_warning\">重要事項: 不要載入可疑來源的私鑰！可能會導致你的錢包反被控制。</string>\n  <string name=\"import_keys_dialog_button_import\">復原</string>\n  <string name=\"restore_wallet_dialog_success\">錢包已經復原了。</string>\n  <string name=\"restore_wallet_dialog_success_replay\">錢包復原成功。接下來要計算錢包餘額，會花一點時間。</string>\n  <string name=\"restore_wallet_dialog_success_encrypted\">警告：錢包現在有轉出 PIN 碼的保護。要收款前，請確定你還記得 PIN 碼。</string>\n  <string name=\"import_keys_dialog_failure\">沒辦法將錢包復原:\\n\\n%s\\n\\n密碼錯了嗎？</string>\n  <string name=\"export_keys_dialog_title\">備份錢包</string>\n  <string name=\"backup_wallet_dialog_message\">錢包的備份將會用指定的密碼加密，並且寫到外部儲存設備去。</string>\n  <string name=\"backup_wallet_dialog_warning_encrypted\">錢包現在有轉出 PIN 碼的保護。請確定你能記住 PIN 碼和備份密碼！</string>\n  <string name=\"export_keys_dialog_button_export\">備份</string>\n  <string name=\"export_keys_dialog_success\"><![CDATA[<p>你的錢包已經備份到 <tt>%s</tt> 了</p><p><b>如果備份留在設備裡面，設備丟掉時備份也會一起不見！</b></p><p>無論如何，請記得你的備份密碼。</p>]]></string>\n  <string name=\"export_keys_dialog_failure\">沒辦法備份錢包:\\n%s</string>\n  <string name=\"import_export_keys_dialog_password\">密碼</string>\n  <string name=\"backup_wallet_dialog_password_again\">再打一次</string>\n  <string name=\"backup_wallet_dialog_password_mismatch\">不一樣！</string>\n  <string name=\"import_export_keys_dialog_show\">顯示密碼</string>\n  <string name=\"import_export_keys_dialog_failure_title\">錯誤</string>\n  <string name=\"import_keys_intent_filter_action\">復原錢包</string>\n  <string name=\"encrypt_keys_dialog_title\">轉出 PIN 碼</string>\n  <string name=\"encrypt_keys_dialog_message\">錢包轉出受到 PIN 碼保護。</string>\n  <string name=\"encrypt_keys_dialog_warning\">重要事項: 記好你的 PIN 碼！不要用普遍使用的數字(比如說生日)。</string>\n  <string name=\"encrypt_keys_dialog_password_old\">舊 PIN 碼</string>\n  <string name=\"encrypt_keys_dialog_password_strength_weak\">弱</string>\n  <string name=\"encrypt_keys_dialog_password_strength_fair\">還好</string>\n  <string name=\"encrypt_keys_dialog_password_strength_good\">好</string>\n  <string name=\"encrypt_keys_dialog_password_strength_strong\">強</string>\n  <string name=\"encrypt_keys_dialog_show\">顯示 PIN 碼</string>\n  <string name=\"encrypt_keys_dialog_state_encrypting\">正在加密中…</string>\n  <string name=\"encrypt_keys_dialog_state_decrypting\">正在解密中…</string>\n  <string name=\"encrypt_keys_dialog_state_done\">完成了。</string>\n  <string name=\"scan_camera_problem_dialog_title\">抱歉</string>\n  <string name=\"scan_camera_problem_dialog_message\">相機有問題，你可能需要重新啟動設備</string>\n  <string name=\"scan_camera_permission_dialog_title\">相機權限</string>\n  <string name=\"scan_camera_permission_dialog_message\">為了要可以掃描代碼，你必須要授權給程式使用相機。</string>\n  <string name=\"input_parser_io_error\">無法讀取資料:\\n%s</string>\n  <string name=\"input_parser_cannot_classify\">輸入沒辦法辨識:\\n%s</string>\n  <string name=\"input_parser_invalid_bitcoin_uri\">無效的 Bitcoin URI:\\n%s</string>\n  <string name=\"input_parser_invalid_address\">發現無效的 Bitcoin 位址！\\n(mainnet 和 testnet 搞混了嗎？)</string>\n  <string name=\"input_parser_unverifyable_paymentrequest\">沒辦法驗證請款資料:\\n%s</string>\n  <string name=\"input_parser_invalid_paymentrequest\">無效的請款資料:\\n%s</string>\n  <string name=\"input_parser_invalid_transaction\">無效的交易:\\n%s</string>\n  <string name=\"preferences_activity_title\">設定</string>\n  <string name=\"preferences_category_diagnostics\">診斷</string>\n  <string name=\"preferences_category_labs\">實驗室功能</string>\n  <string name=\"preferences_precision_title\">顯示單位與位數</string>\n  <string name=\"preferences_precision_summary\">改變顯示單位，但不影響計算。</string>\n  <string name=\"preferences_precision_labels_8\">BTC，小數 8 位</string>\n  <string name=\"preferences_precision_labels_6\">BTC，小數 6 位</string>\n  <string name=\"preferences_precision_labels_4\">BTC，小數 4 位</string>\n  <string name=\"preferences_precision_labels_2_3\">mBTC，小數 2 位</string>\n  <string name=\"preferences_precision_labels_0_6\">µBTC，沒有小數</string>\n  <string name=\"preferences_own_name_title\">本名</string>\n  <string name=\"preferences_own_name_summary\">你自己的名字，用來放到請款資料中。請盡量簡短。</string>\n  <string name=\"preferences_send_coins_autoclose_title\">自動關閉付款對話框</string>\n  <string name=\"preferences_send_coins_autoclose_summary\">付款完成後會自動關掉付款對話框。</string>\n  <string name=\"preferences_trusted_peer_title\">信任節點</string>\n  <string name=\"preferences_trusted_peer_summary\">一個要連線過去的節點位址或主機名稱。</string>\n  <string name=\"preferences_trusted_peer_resolve_progress\">正在解析域名...</string>\n  <string name=\"preferences_trusted_peer_resolve_unknown_host\">找不到該名稱的主機！</string>\n  <string name=\"preferences_trusted_peer_only_title\">跳過正規的節點探索程序</string>\n  <string name=\"preferences_trusted_peer_only_summary\">禁止和信任節點外的其他節點連線。</string>\n  <string name=\"preferences_block_explorer_title\">區塊探索網站</string>\n  <string name=\"preferences_block_explorer_summary\">用來瀏覽交易資料、位址、以及區塊的外部區塊探索網站</string>\n  <string name=\"preferences_data_usage_title\">資料使用量</string>\n  <string name=\"preferences_data_usage_summary\">顯示限制行動網路資料使用量的選項</string>\n  <string name=\"preferences_remind_balance_title\">餘額提醒</string>\n  <string name=\"preferences_remind_balance_summary\">這個應用程式在兩個禮拜沒被使用後，會提醒你錢包裡面是否還有錢。</string>\n  <string name=\"preferences_show_disclaimer_title\">顯示免責提示</string>\n  <string name=\"preferences_show_disclaimer_summary\">像是：確定看過安全提示了嗎？已經把錢包備份到安全的地方了嗎？</string>\n  <string name=\"preferences_report_issue_title\">問題回報</string>\n  <string name=\"preferences_initiate_reset_title\">重置區塊鏈</string>\n  <string name=\"preferences_initiate_reset_summary\">重置區塊鏈、交易資料、以及錢包餘額。重算會花一點時間，所以只有在你知道為什麼要做時才做。</string>\n  <string name=\"preferences_initiate_reset_dialog_message\">確定要重置且重算區塊鏈嗎？\\n\\n錢包餘額會暫時隱藏起來，交易也會不見。但是都會隨著區塊鏈同步的進展漸漸恢復。請先確認有穩定的網際網路連線。</string>\n  <string name=\"preferences_initiate_reset_dialog_positive\">重設</string>\n  <string name=\"preferences_extended_public_key_title\">顯示 extended public key</string>\n  <string name=\"preferences_extended_public_key_summary\">顯示錢包的延伸公鑰，來匯入到其他的應用程式或網路服務去。請小心: 這會暴露你的財務隱私給該程式或服務。</string>\n  <string name=\"bitmap_fragment_share\">分享...</string>\n  <string name=\"extended_public_key_fragment_title\">延伸公鑰</string>\n  <string name=\"extended_public_key_fragment_share\">分享 extended public key…</string>\n  <string name=\"report_issue_dialog_title_issue\">問題回報</string>\n  <string name=\"report_issue_dialog_title_crash\">發現前次當機</string>\n  <string name=\"report_issue_dialog_title_transaction\">回報關於選定付款交易的問題</string>\n  <string name=\"report_issue_dialog_message_issue\">請精確描述問題，特別是讓它再次發生的步驟。如果可以的話請用英文。</string>\n  <string name=\"report_issue_dialog_message_crash\">你是否要寄送當機報告來幫忙解決問題呢？</string>\n  <string name=\"report_issue_dialog_description\">問題描述</string>\n  <string name=\"report_issue_dialog_report\">回報</string>\n  <string name=\"report_issue_dialog_collect_device_info\">附上設備資訊</string>\n  <string name=\"report_issue_dialog_collect_application_log\">附上應用程式日誌</string>\n  <string name=\"report_issue_dialog_collect_wallet_dump\">附上錢包傾印資料</string>\n  <string name=\"report_issue_dialog_mail_intent_chooser\">用其他方式寄送回報…</string>\n  <string name=\"about_title\">關於</string>\n  <string name=\"about_version_title\">版本</string>\n  <string name=\"about_copyright_title\">著作權</string>\n  <string name=\"about_license_title\">授權</string>\n  <string name=\"about_source_title\">程式碼</string>\n  <string name=\"about_category_credits\">這個應用程式使用了...</string>\n  <string name=\"about_credits_bitcoinj_title\">bitcoinj %s, 一個 Bitcoin 通訊協定的實作</string>\n  <string name=\"about_credits_zxing_title\">ZXing, 一個處理 QR 代碼的程式庫</string>\n  <string name=\"about_market_app_title\">%s 商店頁面</string>\n  <string name=\"about_market_app_summary\">給這個應用程式評論或評分</string>\n  <string name=\"about_faq_title\">常見問答</string>\n  <string name=\"about_faq_summary\">關於這個應用程式的常見問題</string>\n  <string name=\"notification_coins_received_msg\">收到 %s</string>\n  <string name=\"notification_peers_connected_msg\">%d 個節點連線</string>\n  <string name=\"notification_inactivity_title\">這個設備上還有 Bitcoin 喔！</string>\n  <string name=\"notification_inactivity_message\">請記住：如果你沒有把錢先送走，就移除掉 Bitcoin Wallet 應用程式的話，餘額 %s 就會不見了。</string>\n  <string name=\"notification_inactivity_message_donate\">如果你不在意這些錢的話，也可以捐獻給 Bitcoin Wallet 專案。</string>\n  <string name=\"notification_inactivity_action_dismiss\">以後再提醒我</string>\n  <string name=\"notification_inactivity_action_dismiss_forever\">別再提醒我</string>\n  <string name=\"notification_channel_received_name\">收到款項</string>\n  <string name=\"notification_channel_ongoing_name\">背景作業</string>\n  <string name=\"notification_channel_important_name\">重要警示</string>\n  <string name=\"appwidget_wallet_balance_title\">Bitcoin 餘額</string>\n  <!--generic buttons-->\n  <string name=\"button_ok\">OK</string>\n  <string name=\"button_dismiss\">取消</string>\n  <string name=\"button_cancel\">取消</string>\n  <string name=\"button_retry\">重試</string>\n  <string name=\"button_help\">求助</string>\n  <string name=\"button_add\">新增</string>\n  <string name=\"button_delete\">刪除</string>\n  <string name=\"button_set\">設定</string>\n  <string name=\"button_remove\">移除</string>\n  <string name=\"button_edit\">編輯</string>\n  <string name=\"button_copy\">複製</string>\n  <string name=\"button_paste\">貼上</string>\n  <string name=\"button_share\">分享</string>\n  <string name=\"button_set_as_default\">設為預設值</string>\n  <string name=\"button_request_coins\">請款</string>\n  <string name=\"button_send_coins\">付款</string>\n  <string name=\"button_scan\">掃描</string>\n  <string name=\"button_settings\">設定</string>\n  <string name=\"action_show_qr\">顯示 QR 二維條碼</string>\n  <string name=\"action_browse\">瀏覽</string>\n  <!--generic strings-->\n  <string name=\"time_today\">今天</string>\n  <string name=\"address_unlabeled\">(無標籤)</string>\n  <string name=\"private_key_password\">PIN 碼</string>\n  <string name=\"private_key_bad_password\">PIN 碼不對！</string>\n  <!--generic error messages-->\n  <string name=\"error_io\">I/O 發生錯誤: %s</string>\n  <string name=\"error_parse\">解析發生錯誤 : %s</string>\n  <string name=\"error_http\">HTTP 錯誤 %1$s:\\n%2$s</string>\n  <string name=\"error_bluetooth\">藍芽發生錯誤: %1$s</string>\n</resources>\n"
  },
  {
    "path": "wallet/res/values-zh-rTW/strings_help.xml",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<resources>\n  <string name=\"help_wallet\">\n<![CDATA[\n\t\t<p>\n\t\t\t畫面的左上方是錢包餘額，分別以 Bitcoin 和選定的法定貨幣顯示。\n\t\t\t點一下會看到所有法定貨幣的列表，然後可以點某個貨幣來把它設定為預設值。\n\t\t</p>\n\t\t<p>\n\t\t\t畫面右邊的 QR 條碼是你目前的 bitcoin 位址，可以給要付款給你的人掃描。\n\t\t\t點一下可以把它放大顯示。\n\t\t</p>\n\t\t<p>\n\t\t\t畫面的下方是交易列表。\n\t\t\t剛開始的時候是一片空白，然後會隨著收款及付款而逐漸填滿。\n\t\t\t收款交易以綠色顯示，付款交易則是以紅色顯示。\n\t\t</p>\n\t\t<p>\n\t\t\t點一下動作欄上的按鈕來付款或是請款。\n\t\t\t選單中有更多的選項。\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_request_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\t你可以用這個畫面向其他人請款。\n\t\t\t付款的人也必須要已經安裝了一個 Bitcoin 錢包應用程式。\n\t\t</p>\n\t\t<p>\n\t\t\t首先，輸入請款金額。\n\t\t</p>\n\t\t<p>\n\t\t\t再來，你可以請付款人掃描產生的 QR 條碼，\n\t\t\t或是如果付款人不在旁邊，可以用動作欄上的分享按鈕，來傳送請款資料給他/她。\n\t\t\t如果雙方的手機都開啟了 NFC ，也可以讓兩隻手機感應傳送資料。\n\t\t</p>\n\t\t<p>\n\t\t\t無論用哪種方式，付款人都應該會看到資料已經填好的付款畫面。\n\t\t\t只要確認無誤，點選付款就能完成交易了。\n\t\t</p>\n\t]]>\n</string>\n  <string name=\"help_send_coins\">\n<![CDATA[\n\t\t<p>\n\t\t\t你準備要用 Bitcoin 付款了。\n\t\t</p>\n\t\t<p>\n\t\t\t首先，輸入要付款過去的目標 Bitcoin 位址。\n\t\t\t如果位址簿中已經有該位址，app 就會自動填寫。\n\t\t\t你也可以掃描請款人 Bitcoin 位址的 QR 條碼，只要點一下相機按鈕即可。\n\t\t</p>\n\t\t<p>\n\t\t\t接下來，輸入付款金額。\n\t\t</p>\n\t\t<p>\n\t\t\t最後要輸入正確的付款 PIN 碼，如果之前有設定的話。\n\t\t</p>\n\t\t<p>\n\t\t\t離線時也可以進行付款。\n\t\t\t但是要在連線後 Bitcoin Wallet 再啟動時才會送出去。\n\t\t\t如果希望交易盡快完成，請確定網路狀況良好，比如說使用無線網路。\n\t\t</p>\n\t\t<p>\n\t\t\t請注意:\n\t\t\t交易付款是無法取消的！\n\t\t\t請再三確認付款位址正確。\n\t\t</p>\n\t]]>\n\t</string>\n  <string name=\"help_safety\">\n<![CDATA[\n\t\t<p>\n\t\t\t<b>重要安全注意事項:</b>\n\t\t</p>\n\t\t<p>\n\t\t\t這些 Bitcoin 就存放在這台設備上。\n\t\t\t<b>如果弄丟了這台設備，同時也就失去了這些錢。</b>\n\t\t</p>\n\t\t<p>\n\t\t\t也就是說你應該要<b>備份錢包</b>！\n\t\t\t請使用 app 內建的備份功能來做備份，不要用其他的第三方備份軟體。\n\t\t\t並請確保備份資料的安全，以及牢記你的備份密碼。\n\t\t</p>\n\t\t<p>\n\t\t\t要<b>移除 app 之前</b>(或是要清除 app 資料、清空設備等)，<b>請先把錢轉到其他 Bitcoin 錢包</b>。\n\t\t\t不然剩餘的錢就會都沒了。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>交易付款是無法取消的</b>。\n\t\t\t如果你付款到不知道哪裡去，幾乎沒辦法再拿回來。\n\t\t</p>\n\t\t<p>\n\t\t\t<b>用安全的方式使用設備！</b>\n\t\t\t不要 root 你的設備。\n\t\t\t只有在應用程式你能完全信任時才安裝。\n\t\t\t惡意的應用程式可能會試圖偷取你的錢包。\n\t\t</p>\n\t\t<p>\n\t\t\t小心謹慎！\n\t\t\t錢包裡只放足夠日常使用的<b>合理金額</b>。\n\t\t</p>\n\t]]>\n</string>\n  <string name=\"help_technical_notes\">\n<![CDATA[\n        <p>\n            <b>技術說明:</b>\n        </p>\n        <p>\n            作為一個 SPV (輕量)型的錢包，Bitcoin 錢包總是使用擁有最多勞力證明(PoW; proof-of-work)的區塊鏈，有時候也稱為「最長區塊鏈」、「贏家區塊鏈」、或者就是「Bitcoin 區塊鏈」。\n            你只會在該區塊鏈上收款，也只能從該區塊鏈付款。\n            任何在弱勢區塊鏈上的行為都沒有保障，「弱勢」指的就是那些勞力證明較少的區塊鏈。\n        </p>\n        <p>\n            在過去，弱勢區塊鏈總是很快就被忽略。\n            但是如果你決定無論如何都要使用弱勢區塊鏈，建議你使用「信任節點」的功能，來限定 Bitcoin 錢包只連線到特定的節點，也就是那些工作在你個人偏好區塊鏈的 bitcoind 實作軟體。\n            如果你的錢包和信賴節點間的網路連線不能被信任的話，可以用 VPN 連線來驗證。\n        </p>\n    ]]>\n    </string>\n</resources>\n"
  },
  {
    "path": "wallet/res/xml/file_provider.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<paths>\n    <files-path\n        name=\"log\"\n        path=\"log/\" />\n    <cache-path\n        name=\"report\"\n        path=\"report/\" />\n</paths>\n"
  },
  {
    "path": "wallet/res/xml/network_security_config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<network-security-config>\n    <!-- We need to allow cleartext because the BIP70 payment protocol doesn't\n         mandate encryption. It has its own authentication via embedded signatures. -->\n    <base-config cleartextTrafficPermitted=\"true\">\n        <trust-anchors>\n            <certificates src=\"system\" />\n        </trust-anchors>\n    </base-config>\n\n    <!-- Domains we need to communicate to securely. -->\n    <domain-config cleartextTrafficPermitted=\"false\">\n        <!-- Our own domain to fetch new version notifications from. -->\n        <domain includeSubdomains=\"true\">wallet.schildbach.de</domain>\n        <!-- Various domains to fetch exchange rates from. -->\n        <domain includeSubdomains=\"true\">coingecko.com</domain>\n        <domain includeSubdomains=\"true\">bitcoinaverage.com</domain>\n\n        <trust-anchors>\n            <certificates src=\"system\" />\n        </trust-anchors>\n    </domain-config>\n</network-security-config>\n"
  },
  {
    "path": "wallet/res/xml/preference_about.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <Preference\n        android:key=\"about_version\"\n        android:title=\"@string/about_version_title\" />\n    <Preference\n        android:key=\"about_copyright\"\n        android:summary=\"© 2011-2020, the Bitcoin Wallet developers\\n© 2013-2020, the Dogecoin Wallet developers\"\n        android:title=\"@string/about_copyright_title\" />\n    <Preference\n        android:key=\"about_license\"\n        android:summary=\"https://www.gnu.org/licenses/gpl-3.0.txt\"\n        android:title=\"@string/about_license_title\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:data=\"https://www.gnu.org/licenses/gpl-3.0.txt\" />\n    </Preference>\n    <Preference\n        android:key=\"about_license\"\n        android:summary=\"https://github.com/langerhans/dogecoin-wallet-new/wiki/PrivacyPolicy\"\n        android:title=\"@string/about_privacy_title\" >\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:data=\"https://github.com/langerhans/dogecoin-wallet-new/wiki/PrivacyPolicy\" />\n    </Preference>\n    <Preference\n        android:key=\"about_source\"\n        android:summary=\"https://github.com/langerhans/dogecoin-wallet-new\"\n        android:title=\"@string/about_source_title\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:data=\"https://github.com/langerhans/dogecoin-wallet-new\" />\n    </Preference>\n    <Preference\n        android:enabled=\"false\"\n        android:key=\"about_market_app\"\n        android:summary=\"@string/about_market_app_summary\"\n        android:title=\"@string/about_market_app_title\" />\n    <Preference\n        android:key=\"about_twitter\"\n        android:summary=\"\\@langer_hans\"\n        android:title=\"Twitter\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:data=\"https://twitter.com/langer_hans\" />\n    </Preference>\n\n    <PreferenceCategory\n        android:title=\"@string/about_category_credits\">\n\n        <Preference\n            android:key=\"about_credits_bitcoinj\"\n            android:summary=\"https://github.com/dogecoin/libdohj\">\n            <intent\n                android:action=\"android.intent.action.VIEW\"\n                android:data=\"https://github.com/dogecoin/libdohj\" />\n        </Preference>\n        <Preference\n            android:key=\"about_credits_zxing\"\n            android:summary=\"https://github.com/zxing/zxing\"\n            android:title=\"@string/about_credits_zxing_title\">\n            <intent\n                android:action=\"android.intent.action.VIEW\"\n                android:data=\"https://github.com/zxing/zxing\" />\n        </Preference>\n        <Preference\n            android:key=\"about_credits_bouncycastle\"\n            android:summary=\"https://bouncycastle.org\"\n            android:title=\"@string/about_credits_bouncycastle_title\">\n            <intent\n                android:action=\"android.intent.action.VIEW\"\n                android:data=\"https://bouncycastle.org\" />\n        </Preference>\n        <Preference\n            android:key=\"about_credits_okhttp\"\n            android:summary=\"https://github.com/square/okhttp\"\n            android:title=\"@string/about_credits_okhttp_title\">\n            <intent\n                android:action=\"android.intent.action.VIEW\"\n                android:data=\"https://github.com/square/okhttp\" />\n        </Preference>\n        <Preference\n            android:key=\"about_credits_moshi\"\n            android:summary=\"https://github.com/square/moshi\"\n            android:title=\"@string/about_credits_moshi_title\">\n            <intent\n                android:action=\"android.intent.action.VIEW\"\n                android:data=\"https://github.com/square/moshi\" />\n        </Preference>\n        <Preference\n            android:key=\"about_credits_guava\"\n            android:summary=\"https://github.com/google/guava\"\n            android:title=\"@string/about_credits_guava_title\">\n            <intent\n                android:action=\"android.intent.action.VIEW\"\n                android:data=\"https://github.com/google/guava\" />\n        </Preference>\n        <Preference\n            android:key=\"about_credits_slf4j\"\n            android:summary=\"https://github.com/qos-ch/slf4j\"\n            android:title=\"@string/about_credits_slf4j_title\">\n            <intent\n                android:action=\"android.intent.action.VIEW\"\n                android:data=\"https://github.com/qos-ch/slf4j\" />\n        </Preference>\n    </PreferenceCategory>\n</PreferenceScreen>\n"
  },
  {
    "path": "wallet/res/xml/preference_diagnostics.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <Preference\n        android:key=\"extended_public_key\"\n        android:summary=\"@string/preferences_extended_public_key_summary\"\n        android:title=\"@string/preferences_extended_public_key_title\" />\n    <Preference\n        android:key=\"initiate_reset\"\n        android:summary=\"@string/preferences_initiate_reset_summary\"\n        android:title=\"@string/preferences_initiate_reset_title\" />\n</PreferenceScreen>\n"
  },
  {
    "path": "wallet/res/xml/preference_headers.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<preference-headers\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <header\n        android:fragment=\"de.schildbach.wallet.ui.preference.SettingsFragment\"\n        android:title=\"@string/preferences_activity_title\" />\n    <header\n        android:fragment=\"de.schildbach.wallet.ui.preference.DiagnosticsFragment\"\n        android:title=\"@string/preferences_category_diagnostics\" />\n    <header\n        android:fragment=\"de.schildbach.wallet.ui.preference.AboutFragment\"\n        android:title=\"@string/about_title\" />\n</preference-headers>\n"
  },
  {
    "path": "wallet/res/xml/preference_settings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<PreferenceScreen\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <PreferenceCategory\n        android:title=\"@string/preferences_category_general\">\n\n        <ListPreference\n            android:key=\"btc_precision\"\n            android:title=\"@string/preferences_precision_title\"\n            android:summary=\"@string/preferences_precision_summary\"\n            android:defaultValue=\"4\"\n            android:entries=\"@array/preferences_precision_labels\"\n            android:entryValues=\"@array/preferences_precision_values\" />\n\n        <CheckBoxPreference\n            android:key=\"send_coins_autoclose\"\n            android:title=\"@string/preferences_send_coins_autoclose_title\"\n            android:summary=\"@string/preferences_send_coins_autoclose_summary\"\n            android:defaultValue=\"true\" />\n\n        <CheckBoxPreference\n            android:key=\"remind_balance\"\n            android:title=\"@string/preferences_remind_balance_title\"\n            android:summary=\"@string/preferences_remind_balance_summary\"\n            android:defaultValue=\"true\" />\n\n        <CheckBoxPreference\n            android:key=\"disclaimer\"\n            android:title=\"@string/preferences_show_disclaimer_title\"\n            android:summary=\"@string/preferences_show_disclaimer_summary\"\n            android:defaultValue=\"true\" />\n\n        <Preference\n            android:key=\"data_usage\"\n            android:title=\"@string/preferences_data_usage_title\"\n            android:summary=\"@string/preferences_data_usage_summary\">\n            <intent\n                android:targetClass=\"com.android.settings.Settings$DataUsageSummaryActivity\"\n                android:targetPackage=\"com.android.settings\" />\n        </Preference>\n\n        <Preference\n            android:key=\"notifications\"\n            android:title=\"@string/preferences_notifications_title\"\n            android:summary=\"@string/preferences_notifications_summary\" />\n    </PreferenceCategory>\n\n    <PreferenceCategory\n        android:title=\"@string/preferences_category_privacy\">\n\n        <ListPreference\n            android:key=\"sync_mode\"\n            android:title=\"@string/preferences_sync_mode_title\"\n            android:summary=\"@string/preferences_sync_mode_summary\"\n            android:defaultValue=\"CONNECTION_FILTER\" />\n\n        <EditTextPreference\n            android:key=\"trusted_peer\"\n            android:title=\"@string/preferences_trusted_peer_title\"\n            android:summary=\"@string/preferences_trusted_peer_summary\"\n            android:inputType=\"textMultiLine|textNoSuggestions\" />\n\n        <CheckBoxPreference\n            android:key=\"trusted_peer_only\"\n            android:title=\"@string/preferences_trusted_peer_only_title\"\n            android:summary=\"@string/preferences_trusted_peer_only_summary\"\n            android:defaultValue=\"false\" />\n\n        <ListPreference\n            android:key=\"block_explorer\"\n            android:title=\"@string/preferences_block_explorer_title\"\n            android:summary=\"@string/preferences_block_explorer_summary\"\n            android:entries=\"@array/preferences_block_explorer_labels\"\n            android:entryValues=\"@array/preferences_block_explorer_values\" />\n    </PreferenceCategory>\n\n    <PreferenceCategory\n        android:title=\"@string/preferences_category_merchants\">\n\n        <EditTextPreference\n            android:key=\"own_name\"\n            android:title=\"@string/preferences_own_name_title\"\n            android:summary=\"@string/preferences_own_name_summary\"\n            android:dialogMessage=\"@string/preferences_own_name_dialog_message\"\n            android:inputType=\"text\"\n            android:maxLength=\"32\" />\n\n        <EditTextPreference\n            android:key=\"bluetooth_address\"\n            android:title=\"@string/preferences_bluetooth_address_title\"\n            android:summary=\"@string/preferences_bluetooth_address_summary\"\n            android:dialogMessage=\"@string/preferences_bluetooth_address_dialog_message\"\n            android:inputType=\"text|textNoSuggestions\" />\n    </PreferenceCategory>\n</PreferenceScreen>\n"
  },
  {
    "path": "wallet/res/xml/shortcuts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shortcuts\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:targetApi=\"25\">\n\n    <shortcut\n        android:icon=\"@drawable/shortcut_scan_qr\"\n        android:shortcutId=\"scan_qr\"\n        android:shortcutShortLabel=\"@string/button_scan\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:targetClass=\"de.schildbach.wallet.ui.SendCoinsQrActivity\"\n            android:targetPackage=\"de.langerhans.wallet_test\" />\n    </shortcut>\n    <shortcut\n        android:icon=\"@drawable/shortcut_send_coins\"\n        android:shortcutId=\"send_coins\"\n        android:shortcutShortLabel=\"@string/button_send_coins\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:targetClass=\"de.schildbach.wallet.ui.send.SendCoinsActivity\"\n            android:targetPackage=\"de.langerhans.wallet_test\" />\n    </shortcut>\n    <shortcut\n        android:icon=\"@drawable/shortcut_request_coins\"\n        android:shortcutId=\"request_coins\"\n        android:shortcutShortLabel=\"@string/button_request_coins\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:targetClass=\"de.schildbach.wallet.ui.RequestCoinsActivity\"\n            android:targetPackage=\"de.langerhans.wallet_test\" />\n    </shortcut>\n</shortcuts>\n"
  },
  {
    "path": "wallet/res/xml/wallet_balance_widget.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<appwidget-provider\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:initialLayout=\"@layout/wallet_balance_widget_content\"\n    android:minHeight=\"54dp\"\n    android:minResizeWidth=\"132dp\"\n    android:minWidth=\"294dp\"\n    android:previewImage=\"@drawable/widget_preview\"\n    android:resizeMode=\"horizontal\"\n    android:updatePeriodMillis=\"1800000\" />\n"
  },
  {
    "path": "wallet/res-prod/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- foreground -->\n    <color name=\"fg_on_dark_bg_network_significant\">#ffffcc99</color>\n    <color name=\"fg_on_dark_bg_network_insignificant\">#ffddaa77</color>\n    <color name=\"fg_network_significant\">#ff894b00</color>\n    <color name=\"fg_network_significant_darkdefault\">#ffffcc99</color>\n    <color name=\"fg_network_less_significant\">#cc894b00</color>\n    <color name=\"fg_network_less_significant_darkdefault\">#ccffcc99</color>\n    <color name=\"fg_shortcut\">#ffddaa77</color>\n\n    <!-- app icon -->\n    <color name=\"appicon_gradient_start\">#f9b949</color>\n    <color name=\"appicon_gradient_end\">#f7931a</color>\n</resources>\n"
  },
  {
    "path": "wallet/res-prod/values/values.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"app_name\">Dogecoin Wallet</string>\n    <string name=\"app_name_short\">Dogecoin</string>\n\n    <string-array name=\"preferences_block_explorer_values\">\n        <item>https://sochain.com/%s/DOGE/</item>\n        <item>https://live.blockcypher.com/doge/%s/</item>\n    </string-array>\n    <string-array name=\"preferences_block_explorer_labels\">\n        <item>SoChain</item>\n        <item>BlockCypher</item>\n    </string-array>\n</resources>\n"
  },
  {
    "path": "wallet/res-prod/values-night/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- foreground -->\n    <color name=\"fg_network_significant\">#ffffcc99</color>\n    <color name=\"fg_network_less_significant\">#ccffcc99</color>\n</resources>\n"
  },
  {
    "path": "wallet/res-prod/values-notnight-v29/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- foreground -->\n    <color name=\"fg_network_significant_darkdefault\">#ff894b00</color>\n    <color name=\"fg_network_less_significant_darkdefault\">#cc894b00</color>\n</resources>\n"
  },
  {
    "path": "wallet/res-prod/xml/shortcuts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shortcuts\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:targetApi=\"25\">\n\n    <shortcut\n        android:icon=\"@drawable/shortcut_scan_qr\"\n        android:shortcutId=\"scan_qr\"\n        android:shortcutShortLabel=\"@string/button_scan\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:targetClass=\"de.schildbach.wallet.ui.SendCoinsQrActivity\"\n            android:targetPackage=\"de.langerhans.wallet\" />\n    </shortcut>\n    <shortcut\n        android:icon=\"@drawable/shortcut_send_coins\"\n        android:shortcutId=\"send_coins\"\n        android:shortcutShortLabel=\"@string/button_send_coins\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:targetClass=\"de.schildbach.wallet.ui.send.SendCoinsActivity\"\n            android:targetPackage=\"de.langerhans.wallet\" />\n    </shortcut>\n    <shortcut\n        android:icon=\"@drawable/shortcut_request_coins\"\n        android:shortcutId=\"request_coins\"\n        android:shortcutShortLabel=\"@string/button_request_coins\">\n        <intent\n            android:action=\"android.intent.action.VIEW\"\n            android:targetClass=\"de.schildbach.wallet.ui.RequestCoinsActivity\"\n            android:targetPackage=\"de.langerhans.wallet\" />\n    </shortcut>\n</shortcuts>\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/Configuration.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet;\n\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.content.res.Resources;\nimport android.net.Uri;\nimport android.text.format.DateUtils;\nimport com.google.common.base.Splitter;\nimport com.google.common.base.Strings;\nimport com.google.common.net.HostAndPort;\nimport de.schildbach.wallet.util.Formats;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Currency;\nimport java.util.HashSet;\nimport java.util.Locale;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Configuration {\n    public final int lastVersionCode;\n\n    private final SharedPreferences prefs;\n    private final Resources res;\n\n    public static final String PREFS_KEY_BTC_PRECISION = \"btc_precision\";\n    public static final String PREFS_KEY_OWN_NAME = \"own_name\";\n    public static final String PREFS_KEY_SEND_COINS_AUTOCLOSE = \"send_coins_autoclose\";\n    public static final String PREFS_KEY_EXCHANGE_CURRENCY = \"exchange_currency\";\n    public static final String PREFS_KEY_SYNC_MODE = \"sync_mode\";\n    public static final String PREFS_KEY_TRUSTED_PEERS = \"trusted_peer\";\n    public static final String PREFS_KEY_TRUSTED_PEERS_ONLY = \"trusted_peer_only\";\n    public static final String PREFS_KEY_BLOCK_EXPLORER = \"block_explorer\";\n    public static final String PREFS_KEY_DATA_USAGE = \"data_usage\";\n    public static final String PREFS_KEY_NOTIFICATIONS = \"notifications\";\n    public static final String PREFS_KEY_REMIND_BALANCE = \"remind_balance\";\n    public static final String PREFS_KEY_DISCLAIMER = \"disclaimer\";\n    public static final String PREFS_KEY_BLUETOOTH_ADDRESS = \"bluetooth_address\";\n\n    private static final String PREFS_KEY_LAST_VERSION = \"last_version\";\n    private static final String PREFS_KEY_LAST_USED = \"last_used\";\n    private static final String PREFS_KEY_BEST_CHAIN_HEIGHT_EVER = \"best_chain_height_ever\";\n    private static final String PREFS_KEY_LAST_EXCHANGE_DIRECTION = \"last_exchange_direction\";\n    private static final String PREFS_KEY_CHANGE_LOG_VERSION = \"change_log_version\";\n    public static final String PREFS_KEY_REMIND_BACKUP = \"remind_backup\";\n    private static final String PREFS_KEY_LAST_BACKUP = \"last_backup\";\n    private static final String PREFS_KEY_LAST_RESTORE = \"last_restore\";\n    private static final String PREFS_KEY_LAST_ENCRYPT_KEYS = \"last_encrypt_keys\";\n    private static final String PREFS_KEY_LAST_BLOCKCHAIN_RESET = \"last_blockchain_reset\";\n    private static final String PREFS_KEY_LAST_BLUETOOTH_ADDRESS = \"last_bluetooth_address\";\n\n    private static final int PREFS_DEFAULT_BTC_SHIFT = 0;\n    private static final int PREFS_DEFAULT_BTC_PRECISION = 4;\n\n    private static final Logger log = LoggerFactory.getLogger(Configuration.class);\n\n    public Configuration(final SharedPreferences prefs, final Resources res) {\n        this.prefs = prefs;\n        this.res = res;\n\n        this.lastVersionCode = prefs.getInt(PREFS_KEY_LAST_VERSION, 0);\n    }\n\n    private int getBtcPrecision() {\n        final String precision = prefs.getString(PREFS_KEY_BTC_PRECISION, null);\n        if (precision != null)\n            return precision.charAt(0) - '0';\n        else\n            return PREFS_DEFAULT_BTC_PRECISION;\n    }\n\n    public int getBtcShift() {\n        final String precision = prefs.getString(PREFS_KEY_BTC_PRECISION, null);\n        if (precision != null)\n            return precision.length() == 3 ? precision.charAt(2) - '0' : 0;\n        else\n            return PREFS_DEFAULT_BTC_SHIFT;\n    }\n\n    public Coin getBtcBase() {\n        final int shift = getBtcShift();\n        if (shift == 0)\n            return Coin.COIN;\n        else if (shift == 3)\n            return Coin.MILLICOIN;\n        else if (shift == 6)\n            return Coin.MICROCOIN;\n        else\n            throw new IllegalStateException(\"cannot handle shift: \" + shift);\n    }\n\n    public MonetaryFormat getFormat() {\n        final int shift = getBtcShift();\n        final int minPrecision = shift <= 3 ? 2 : 0;\n        final int decimalRepetitions = (getBtcPrecision() - minPrecision) / 2;\n        return new MonetaryFormat()\n                .shift(shift)\n                .minDecimals(minPrecision)\n                .repeatOptionalDecimals(2, decimalRepetitions)\n                .code(0, \"DOGE\")\n                .code(3, \"mDOGE\")\n                .code(6, \"µDOGE\");\n    }\n\n    public MonetaryFormat getMaxPrecisionFormat() {\n        final int shift = getBtcShift();\n        if (shift == 0)\n            return new MonetaryFormat().shift(0).minDecimals(2).optionalDecimals(2, 2, 2);\n        else if (shift == 3)\n            return new MonetaryFormat().shift(3).minDecimals(2).optionalDecimals(2, 1);\n        else\n            return new MonetaryFormat().shift(6).minDecimals(0).optionalDecimals(2);\n    }\n\n    public String getOwnName() {\n        return Strings.emptyToNull(prefs.getString(PREFS_KEY_OWN_NAME, \"\").trim());\n    }\n\n    public boolean getSendCoinsAutoclose() {\n        return prefs.getBoolean(PREFS_KEY_SEND_COINS_AUTOCLOSE, true);\n    }\n\n    public SyncMode getSyncMode() {\n        return SyncMode.valueOf(prefs.getString(PREFS_KEY_SYNC_MODE, SyncMode.CONNECTION_FILTER.name()));\n    }\n\n    public enum SyncMode {\n        CONNECTION_FILTER,\n        FULL\n    }\n\n    public Set<HostAndPort> getTrustedPeers() {\n        final String trustedPeersStr = prefs.getString(PREFS_KEY_TRUSTED_PEERS, \"\");\n        final Set<HostAndPort> trustedPeers = new HashSet<>();\n        for (final String trustedPeer :\n                Splitter.on(Formats.PATTERN_WHITESPACE).trimResults().omitEmptyStrings().split(trustedPeersStr)) {\n            try {\n                trustedPeers.add(HostAndPort.fromString(trustedPeer));\n            } catch (final IllegalArgumentException x) {\n                log.info(\"cannot parse: {}\", trustedPeer);\n            }\n        }\n        return trustedPeers;\n    }\n\n    public boolean getTrustedPeersOnly() {\n        return prefs.getBoolean(PREFS_KEY_TRUSTED_PEERS_ONLY, false);\n    }\n\n    public boolean isTrustedPeersOnly() {\n        return getTrustedPeers() != null && getTrustedPeersOnly();\n    }\n\n    public String getBlockExplorer() {\n        return prefs.getString(PREFS_KEY_BLOCK_EXPLORER,\n                res.getStringArray(R.array.preferences_block_explorer_values)[0]);\n    }\n\n    public boolean remindBalance() {\n        return prefs.getBoolean(PREFS_KEY_REMIND_BALANCE, true);\n    }\n\n    public void setRemindBalance(final boolean remindBalance) {\n        prefs.edit().putBoolean(PREFS_KEY_REMIND_BALANCE, remindBalance).apply();\n    }\n\n    public boolean remindBackup() {\n        return prefs.getBoolean(PREFS_KEY_REMIND_BACKUP, true);\n    }\n\n    public long getLastBackupTime() {\n        return prefs.getLong(PREFS_KEY_LAST_BACKUP, 0);\n    }\n\n    public void armBackupReminder() {\n        prefs.edit().putBoolean(PREFS_KEY_REMIND_BACKUP, true).apply();\n    }\n\n    public void disarmBackupReminder() {\n        prefs.edit().putBoolean(PREFS_KEY_REMIND_BACKUP, false)\n                .putLong(PREFS_KEY_LAST_BACKUP, System.currentTimeMillis()).apply();\n    }\n\n    public long getLastRestoreTime() {\n        return prefs.getLong(PREFS_KEY_LAST_RESTORE, 0);\n    }\n\n    public void updateLastRestoreTime() {\n        prefs.edit().putLong(PREFS_KEY_LAST_RESTORE, System.currentTimeMillis()).apply();\n    }\n\n    public long getLastEncryptKeysTime() {\n        return prefs.getLong(PREFS_KEY_LAST_ENCRYPT_KEYS, 0);\n    }\n\n    public void updateLastEncryptKeysTime() {\n        prefs.edit().putLong(PREFS_KEY_LAST_ENCRYPT_KEYS, System.currentTimeMillis()).apply();\n    }\n\n    public long getLastBlockchainResetTime() {\n        return prefs.getLong(PREFS_KEY_LAST_BLOCKCHAIN_RESET, 0);\n    }\n\n    public void updateLastBlockchainResetTime() {\n        prefs.edit().putLong(PREFS_KEY_LAST_BLOCKCHAIN_RESET, System.currentTimeMillis()).apply();\n    }\n\n    public boolean getDisclaimerEnabled() {\n        return prefs.getBoolean(PREFS_KEY_DISCLAIMER, true);\n    }\n\n    private String defaultCurrencyCode() {\n        try {\n            return Currency.getInstance(Locale.getDefault()).getCurrencyCode();\n        } catch (final IllegalArgumentException x) {\n            return null;\n        }\n    }\n\n    public String getExchangeCurrencyCode() {\n        return prefs.getString(PREFS_KEY_EXCHANGE_CURRENCY, defaultCurrencyCode());\n    }\n\n    public void setExchangeCurrencyCode(final String exchangeCurrencyCode) {\n        prefs.edit().putString(PREFS_KEY_EXCHANGE_CURRENCY, exchangeCurrencyCode).apply();\n    }\n\n    public boolean versionCodeCrossed(final int currentVersionCode, final int triggeringVersionCode) {\n        final boolean wasBelow = lastVersionCode < triggeringVersionCode;\n        final boolean wasUsedBefore = lastVersionCode > 0;\n        final boolean isNowAbove = currentVersionCode >= triggeringVersionCode;\n\n        return wasUsedBefore && wasBelow && isNowAbove;\n    }\n\n    public void updateLastVersionCode(final int currentVersionCode) {\n        prefs.edit().putInt(PREFS_KEY_LAST_VERSION, currentVersionCode).apply();\n\n        if (currentVersionCode > lastVersionCode)\n            log.info(\"detected app upgrade: \" + lastVersionCode + \" -> \" + currentVersionCode);\n        else if (currentVersionCode < lastVersionCode)\n            log.warn(\"detected app downgrade: \" + lastVersionCode + \" -> \" + currentVersionCode);\n    }\n\n    public boolean hasBeenUsed() {\n        return prefs.contains(PREFS_KEY_LAST_USED);\n    }\n\n    public long getLastUsedAgo() {\n        final long now = System.currentTimeMillis();\n\n        return now - prefs.getLong(PREFS_KEY_LAST_USED, 0);\n    }\n\n    public void touchLastUsed() {\n        final long prefsLastUsed = prefs.getLong(PREFS_KEY_LAST_USED, 0);\n        final long now = System.currentTimeMillis();\n        prefs.edit().putLong(PREFS_KEY_LAST_USED, now).apply();\n\n        log.info(\"just being used - last used {} minutes ago\", (now - prefsLastUsed) / DateUtils.MINUTE_IN_MILLIS);\n    }\n\n    public int getBestChainHeightEver() {\n        return prefs.getInt(PREFS_KEY_BEST_CHAIN_HEIGHT_EVER, 0);\n    }\n\n    public void maybeIncrementBestChainHeightEver(final int bestChainHeightEver) {\n        if (bestChainHeightEver > getBestChainHeightEver())\n            prefs.edit().putInt(PREFS_KEY_BEST_CHAIN_HEIGHT_EVER, bestChainHeightEver).apply();\n    }\n\n    public void resetBestChainHeightEver() {\n        prefs.edit().remove(PREFS_KEY_BEST_CHAIN_HEIGHT_EVER).apply();\n    }\n\n    public boolean getLastExchangeDirection() {\n        return prefs.getBoolean(PREFS_KEY_LAST_EXCHANGE_DIRECTION, true);\n    }\n\n    public void setLastExchangeDirection(final boolean exchangeDirection) {\n        prefs.edit().putBoolean(PREFS_KEY_LAST_EXCHANGE_DIRECTION, exchangeDirection).apply();\n    }\n\n    public boolean changeLogVersionCodeCrossed(final int currentVersionCode, final int triggeringVersionCode) {\n        final int changeLogVersion = prefs.getInt(PREFS_KEY_CHANGE_LOG_VERSION, 0);\n\n        final boolean wasBelow = changeLogVersion < triggeringVersionCode;\n        final boolean wasUsedBefore = changeLogVersion > 0;\n        final boolean isNowAbove = currentVersionCode >= triggeringVersionCode;\n\n        prefs.edit().putInt(PREFS_KEY_CHANGE_LOG_VERSION, currentVersionCode).apply();\n\n        return /* wasUsedBefore && */wasBelow && isNowAbove;\n    }\n\n    public String getLastBluetoothAddress() {\n        return prefs.getString(PREFS_KEY_LAST_BLUETOOTH_ADDRESS, null);\n    }\n\n    public void updateLastBluetoothAddress(final String bluetoothAddress) {\n        if (bluetoothAddress != null)\n            prefs.edit().putString(PREFS_KEY_LAST_BLUETOOTH_ADDRESS, bluetoothAddress).apply();\n    }\n\n    public String getBluetoothAddress() {\n        return prefs.getString(PREFS_KEY_BLUETOOTH_ADDRESS, null);\n    }\n\n    public void setBluetoothAddress(final String bluetoothAddress) {\n        prefs.edit().putString(PREFS_KEY_BLUETOOTH_ADDRESS, bluetoothAddress).apply();\n    }\n\n    public void registerOnSharedPreferenceChangeListener(final OnSharedPreferenceChangeListener listener) {\n        prefs.registerOnSharedPreferenceChangeListener(listener);\n    }\n\n    public void unregisterOnSharedPreferenceChangeListener(final OnSharedPreferenceChangeListener listener) {\n        prefs.unregisterOnSharedPreferenceChangeListener(listener);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/Constants.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet;\n\nimport android.os.Build;\nimport android.text.format.DateUtils;\nimport com.google.common.io.BaseEncoding;\nimport okhttp3.HttpUrl;\nimport okhttp3.OkHttpClient;\nimport okhttp3.logging.HttpLoggingInterceptor;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Context;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.params.MainNetParams;\nimport org.bitcoinj.params.TestNet3Params;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.libdohj.params.AbstractDogecoinParams;\nimport org.libdohj.params.DogecoinMainNetParams;\nimport org.libdohj.params.DogecoinTestNet3Params;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.concurrent.TimeUnit;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class Constants {\n\n    /** Network this wallet is on (e.g. testnet or mainnet). */\n    public static final NetworkParameters NETWORK_PARAMETERS =\n            !BuildConfig.FLAVOR.equals(\"prod\") ? DogecoinTestNet3Params.get() : DogecoinMainNetParams.get();\n\n    /** Bitcoinj global context. */\n    public static final Context CONTEXT = new Context(NETWORK_PARAMETERS);\n\n    /**\n     * The type of Bitcoin addresses used for the initial wallet: {@link Script.ScriptType#P2PKH} for classic\n     * Base58, {@link Script.ScriptType#P2WPKH} for segwit Bech32.\n     */\n    public static final Script.ScriptType DEFAULT_OUTPUT_SCRIPT_TYPE = Script.ScriptType.P2PKH;\n\n    /**\n     * The type of Bitcoin addresses to upgrade the current wallet to: {@link Script.ScriptType#P2PKH} for classic\n     * Base58, {@link Script.ScriptType#P2WPKH} for segwit Bech32.\n     */\n    public static final Script.ScriptType UPGRADE_OUTPUT_SCRIPT_TYPE = Script.ScriptType.P2PKH;\n\n    /** Enable switch for synching of the block chain */\n    public static final boolean ENABLE_BLOCKCHAIN_SYNC = true;\n    /** Enable switch for fetching and showing of exchange rates */\n    public static final boolean ENABLE_EXCHANGE_RATES = true;\n    /** Enable switch for sweeping of paper wallets */\n    public static final boolean ENABLE_SWEEP_WALLET = true;\n    /** Enable switch for browsing to block explorers */\n    public static final boolean ENABLE_BROWSE = true;\n\n    public final static class Files {\n        private static final String FILENAME_NETWORK_SUFFIX = NETWORK_PARAMETERS.getId()\n                .equals(AbstractDogecoinParams.ID_DOGE_MAINNET) ? \"\" : \"-testnet\";\n\n        /** Filename of the wallet. */\n        public static final String WALLET_FILENAME_PROTOBUF = \"wallet-protobuf\" + FILENAME_NETWORK_SUFFIX;\n\n        /** How often the wallet is autosaved. */\n        public static final long WALLET_AUTOSAVE_DELAY_MS = 3 * DateUtils.SECOND_IN_MILLIS;\n\n        /** Filename of the automatic key backup (old format, can only be read). */\n        public static final String WALLET_KEY_BACKUP_BASE58 = \"key-backup-base58\" + FILENAME_NETWORK_SUFFIX;\n\n        /** Filename of the automatic wallet backup. */\n        public static final String WALLET_KEY_BACKUP_PROTOBUF = \"key-backup-protobuf\" + FILENAME_NETWORK_SUFFIX;\n\n        /** Filename of the manual wallet backup. */\n        public static final String EXTERNAL_WALLET_BACKUP = \"dogecoin-wallet-backup\" + FILENAME_NETWORK_SUFFIX;\n\n        /** Filename of the block store for storing the chain. */\n        public static final String BLOCKCHAIN_FILENAME = \"blockchain\" + FILENAME_NETWORK_SUFFIX;\n\n        /** Capacity of the block store. */\n        public static final int BLOCKCHAIN_STORE_CAPACITY = 10000;\n\n        /** Name of the asset containing the block checkpoints. */\n        public static final String CHECKPOINTS_ASSET = \"checkpoints.txt\";\n\n        /** Name of the asset containing hardcoded fees. */\n        public static final String FEES_ASSET = \"fees.txt\";\n\n        /** Filename of the dynamic fees file. */\n        public static final String FEES_FILENAME = \"fees\" + FILENAME_NETWORK_SUFFIX + \".txt\";\n\n        /** Name of the asset containing Electrum servers. */\n        public static final String ELECTRUM_SERVERS_ASSET = \"electrum-servers.txt\";\n    }\n\n    /** URL to fetch version alerts from. */\n    public static final HttpUrl VERSION_URL = HttpUrl.parse(\"https://maxkeller.io/version\"\n            + (NETWORK_PARAMETERS.getId().equals(NetworkParameters.ID_MAINNET) ? \"\" : \"-test\"));\n    /** URL to fetch dynamic fees from. */\n    public static final HttpUrl DYNAMIC_FEES_URL = HttpUrl.parse(\"https://wallet.schildbach.de/fees\");\n\n    /** MIME type used for transmitting single transactions. */\n    public static final String MIMETYPE_TRANSACTION = \"application/x-dogetx\";\n\n    /** MIME type used for transmitting wallet backups. */\n    public static final String MIMETYPE_WALLET_BACKUP = \"application/x-dogecoin-wallet-backup\";\n\n    /** Number of confirmations until a transaction is fully confirmed. */\n    public static final int MAX_NUM_CONFIRMATIONS = 7;\n\n    /** User-agent to use for network access. */\n    public static final String USER_AGENT = \"Dogecoin Wallet\";\n\n    /** Default currency to use if all default mechanisms fail. */\n    public static final String DEFAULT_EXCHANGE_CURRENCY = \"USD\";\n\n    /** Donation address for tip/donate action. */\n    public static final String DONATION_ADDRESS = null;\n\n    /** Recipient e-mail address for reports. */\n    public static final String REPORT_EMAIL = \"dogecoinandroid@gmail.com\";\n\n    /** Subject line for manually reported issues. */\n    public static final String REPORT_SUBJECT_ISSUE = \"Reported issue\";\n\n    /** Subject line for crash reports. */\n    public static final String REPORT_SUBJECT_CRASH = \"Crash report\";\n\n    public static final char CHAR_HAIR_SPACE = '\\u200a';\n    public static final char CHAR_THIN_SPACE = '\\u2009';\n    public static final char CHAR_BITCOIN = '\\u00d0';\n    public static final char CHAR_ALMOST_EQUAL_TO = '\\u2248';\n    public static final char CHAR_CHECKMARK = '\\u2713';\n    public static final char CHAR_CROSSMARK = '\\u2715';\n    public static final char CURRENCY_PLUS_SIGN = '\\uff0b';\n    public static final char CURRENCY_MINUS_SIGN = '\\uff0d';\n    public static final String PREFIX_ALMOST_EQUAL_TO = Character.toString(CHAR_ALMOST_EQUAL_TO) + CHAR_THIN_SPACE;\n    public static final int ADDRESS_FORMAT_GROUP_SIZE = 4;\n    public static final int ADDRESS_FORMAT_LINE_SIZE = 12;\n\n    public static final MonetaryFormat LOCAL_FORMAT = new MonetaryFormat().noCode().minDecimals(4).optionalDecimals();\n\n    public static final BaseEncoding HEX = BaseEncoding.base16().lowerCase();\n\n    public static final String BLOCKCYPHER_API_URL = \"https://api.blockcypher.com/v1/doge/main/addrs/\";\n\n    public static final String SOURCE_URL = \"https://github.com/langerhans/dogecoin-wallet-new\";\n    public static final String BINARY_URL = \"https://github.com/langerhans/dogecoin-wallet-new/releases/latest\";\n\n    public static final int PEER_DISCOVERY_TIMEOUT_MS = 5 * (int) DateUtils.SECOND_IN_MILLIS;\n    public static final int PEER_TIMEOUT_MS = 15 * (int) DateUtils.SECOND_IN_MILLIS;\n\n    public static final long LAST_USAGE_THRESHOLD_JUST_MS = DateUtils.HOUR_IN_MILLIS;\n    public static final long LAST_USAGE_THRESHOLD_TODAY_MS = DateUtils.DAY_IN_MILLIS;\n    public static final long LAST_USAGE_THRESHOLD_RECENTLY_MS = DateUtils.WEEK_IN_MILLIS;\n    public static final long LAST_USAGE_THRESHOLD_INACTIVE_MS = 4 * DateUtils.WEEK_IN_MILLIS;\n\n    public static final long DELAYED_TRANSACTION_THRESHOLD_MS = 2 * DateUtils.HOUR_IN_MILLIS;\n\n    public static final long AUTOCLOSE_DELAY_MS = 1000;\n\n    /** A balance above this amount will show a warning */\n    public static final Coin TOO_MUCH_BALANCE_THRESHOLD = Coin.COIN.multiply(10000);\n    /** A balance above this amount will cause the donate option to be shown */\n    public static final Coin SOME_BALANCE_THRESHOLD = Coin.COIN.multiply(100);\n\n    public static final int SDK_DEPRECATED_BELOW = Build.VERSION_CODES.M;\n    public static final String SECURITY_PATCH_INSECURE_BELOW = \"2018-01-01\";\n\n    public static final int NOTIFICATION_ID_CONNECTIVITY = 1;\n    public static final int NOTIFICATION_ID_COINS_RECEIVED = 2;\n    public static final int NOTIFICATION_ID_BLUETOOTH = 3;\n    public static final int NOTIFICATION_ID_INACTIVITY = 4;\n    public static final String NOTIFICATION_GROUP_KEY_RECEIVED = \"group-received\";\n    public static final String NOTIFICATION_CHANNEL_ID_RECEIVED = \"received\";\n    public static final String NOTIFICATION_CHANNEL_ID_ONGOING = \"ongoing\";\n    public static final String NOTIFICATION_CHANNEL_ID_IMPORTANT = \"important\";\n\n    /** Desired number of scrypt iterations for deriving the spending PIN */\n    public static final int SCRYPT_ITERATIONS_TARGET = 65536;\n    public static final int SCRYPT_ITERATIONS_TARGET_LOWRAM = 32768;\n\n    /** Default ports for Electrum servers */\n    public static final int ELECTRUM_SERVER_DEFAULT_PORT_TCP = NETWORK_PARAMETERS.getId()\n            .equals(NetworkParameters.ID_MAINNET) ? 50001 : 51001;\n    public static final int ELECTRUM_SERVER_DEFAULT_PORT_TLS = NETWORK_PARAMETERS.getId()\n            .equals(NetworkParameters.ID_MAINNET) ? 50002 : 51002;\n\n    /** Shared HTTP client, can reuse connections */\n    public static final OkHttpClient HTTP_CLIENT;\n    static {\n        final HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(\n                new HttpLoggingInterceptor.Logger() {\n                    @Override\n                    public void log(final String message) {\n                        log.debug(message);\n                    }\n                });\n        loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BASIC);\n\n        final OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();\n        httpClientBuilder.followRedirects(false);\n        httpClientBuilder.followSslRedirects(true);\n        httpClientBuilder.connectTimeout(15, TimeUnit.SECONDS);\n        httpClientBuilder.writeTimeout(15, TimeUnit.SECONDS);\n        httpClientBuilder.readTimeout(15, TimeUnit.SECONDS);\n        httpClientBuilder.addInterceptor(loggingInterceptor);\n        HTTP_CLIENT = httpClientBuilder.build();\n    }\n\n    private static final Logger log = LoggerFactory.getLogger(Constants.class);\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/Logging.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet;\n\nimport ch.qos.logback.classic.Level;\nimport ch.qos.logback.classic.LoggerContext;\nimport ch.qos.logback.classic.android.LogcatAppender;\nimport ch.qos.logback.classic.encoder.PatternLayoutEncoder;\nimport ch.qos.logback.classic.spi.ILoggingEvent;\nimport ch.qos.logback.core.rolling.RollingFileAppender;\nimport ch.qos.logback.core.rolling.TimeBasedRollingPolicy;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Logging {\n    private static final String LOG_DIRECTORY_NAME = \"log\";\n    private static final String LOG_FILE_NAME = \"wallet.log\";\n    private static final String LOG_ROLLING_FILE_NAME_PATTERN = \"wallet.%d{yyyy-MM-dd,UTC}.log.gz\";\n\n    private static File logFile;\n\n    public static synchronized void init(final File filesDir) {\n        if (logFile != null)\n            return;\n\n        // create log dir\n        final File logDir = new File(filesDir, LOG_DIRECTORY_NAME);\n        logDir.mkdir();\n        logFile = new File(logDir, LOG_FILE_NAME);\n\n        final LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();\n\n        final PatternLayoutEncoder filePattern = new PatternLayoutEncoder();\n        filePattern.setContext(context);\n        filePattern.setPattern(\"%d{HH:mm:ss,UTC} [%thread] %logger{0} - %msg%n\");\n        filePattern.start();\n\n        final RollingFileAppender<ILoggingEvent> fileAppender = new RollingFileAppender<>();\n        fileAppender.setContext(context);\n        fileAppender.setFile(logFile.getAbsolutePath());\n\n        final TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<>();\n        rollingPolicy.setContext(context);\n        rollingPolicy.setParent(fileAppender);\n        rollingPolicy.setFileNamePattern(logDir.getAbsolutePath() + \"/\" + LOG_ROLLING_FILE_NAME_PATTERN);\n        rollingPolicy.setMaxHistory(7);\n        rollingPolicy.start();\n\n        fileAppender.setEncoder(filePattern);\n        fileAppender.setRollingPolicy(rollingPolicy);\n        fileAppender.start();\n\n        final PatternLayoutEncoder logcatTagPattern = new PatternLayoutEncoder();\n        logcatTagPattern.setContext(context);\n        logcatTagPattern.setPattern(\"%logger{0}\");\n        logcatTagPattern.start();\n\n        final PatternLayoutEncoder logcatPattern = new PatternLayoutEncoder();\n        logcatPattern.setContext(context);\n        logcatPattern.setPattern(\"[%thread] %msg%n\");\n        logcatPattern.start();\n\n        final LogcatAppender logcatAppender = new LogcatAppender();\n        logcatAppender.setContext(context);\n        logcatAppender.setTagEncoder(logcatTagPattern);\n        logcatAppender.setEncoder(logcatPattern);\n        logcatAppender.start();\n\n        final ch.qos.logback.classic.Logger log = context.getLogger(Logger.ROOT_LOGGER_NAME);\n        log.addAppender(fileAppender);\n        log.addAppender(logcatAppender);\n        log.setLevel(Level.INFO);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/WalletApplication.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet;\n\nimport android.app.ActivityManager;\nimport android.app.Application;\nimport android.app.NotificationChannel;\nimport android.app.NotificationManager;\nimport android.bluetooth.BluetoothAdapter;\nimport android.content.Context;\nimport android.content.pm.PackageInfo;\nimport android.content.pm.PackageManager.NameNotFoundException;\nimport android.media.AudioAttributes;\nimport android.media.AudioManager;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.Looper;\nimport android.os.StrictMode;\nimport android.preference.PreferenceManager;\nimport androidx.annotation.AnyThread;\nimport androidx.annotation.WorkerThread;\nimport androidx.lifecycle.MutableLiveData;\nimport com.google.common.base.Splitter;\nimport com.google.common.base.Stopwatch;\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.hash.HashCode;\nimport com.google.common.hash.Hasher;\nimport com.google.common.hash.Hashing;\nimport com.google.common.util.concurrent.SettableFuture;\nimport de.schildbach.wallet.service.BlockchainService;\nimport de.schildbach.wallet.service.BlockchainState;\nimport de.schildbach.wallet.ui.Event;\nimport de.schildbach.wallet.util.Bluetooth;\nimport de.schildbach.wallet.util.CrashReporter;\nimport de.schildbach.wallet.util.Toast;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.VersionMessage;\nimport org.bitcoinj.crypto.LinuxSecureRandom;\nimport org.bitcoinj.crypto.MnemonicCode;\nimport org.bitcoinj.params.Networks;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.UnreadableWalletException;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.WalletFiles;\nimport org.bitcoinj.wallet.WalletProtobufSerializer;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.util.concurrent.ExecutionException;\nimport java.util.concurrent.Executor;\nimport java.util.concurrent.Executors;\nimport java.util.concurrent.TimeUnit;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletApplication extends Application {\n    private ActivityManager activityManager;\n\n    private File walletFile;\n    private WalletFiles walletFiles;\n    private Configuration config;\n\n    public final MutableLiveData<BlockchainState> blockchainState = new MutableLiveData<>();\n    public final MutableLiveData<Integer> peerState = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> walletChanged = new MutableLiveData<>();\n\n    public static final long TIME_CREATE_APPLICATION = System.currentTimeMillis();\n    private static final String BIP39_WORDLIST_FILENAME = \"bip39-wordlist.txt\";\n\n    private static final Logger log = LoggerFactory.getLogger(WalletApplication.class);\n\n    @Override\n    public void onCreate() {\n        new LinuxSecureRandom(); // init proper random number generator\n\n        Logging.init(getFilesDir());\n\n        initStrictMode();\n\n        Threading.throwOnLockCycles();\n        org.bitcoinj.core.Context.enableStrictMode();\n        org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n\n        log.info(\"=== starting app using flavor: {}, build type: {}, network: {}\", BuildConfig.FLAVOR,\n                BuildConfig.BUILD_TYPE, Constants.NETWORK_PARAMETERS.getId());\n\n        Networks.register(Constants.NETWORK_PARAMETERS);\n\n        super.onCreate();\n\n        CrashReporter.init(getCacheDir());\n\n        final PackageInfo packageInfo = packageInfo();\n\n        Threading.uncaughtExceptionHandler = (thread, throwable) -> {\n            log.info(\"bitcoinj uncaught exception\", throwable);\n            CrashReporter.saveBackgroundTrace(throwable, packageInfo);\n        };\n\n        activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);\n\n        walletFile = getFileStreamPath(Constants.Files.WALLET_FILENAME_PROTOBUF);\n\n        final Configuration config = getConfiguration();\n        config.updateLastVersionCode(packageInfo.versionCode);\n        final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();\n        if (bluetoothAdapter != null)\n            config.updateLastBluetoothAddress(Bluetooth.getAddress(bluetoothAdapter));\n\n        cleanupFiles();\n\n        initNotificationManager();\n    }\n\n    public synchronized Configuration getConfiguration() {\n        if (config == null)\n            config = new Configuration(PreferenceManager.getDefaultSharedPreferences(this), getResources());\n        return config;\n    }\n\n    @WorkerThread\n    public Wallet getWallet() {\n        final Stopwatch watch = Stopwatch.createStarted();\n        final SettableFuture<Wallet> future = SettableFuture.create();\n        getWalletAsync(wallet -> future.set(wallet));\n        try {\n            return future.get();\n        } catch (final InterruptedException | ExecutionException x) {\n            throw new RuntimeException(x);\n        } finally {\n            watch.stop();\n            if (Looper.myLooper() == Looper.getMainLooper())\n                log.warn(\"main thread blocked for \" + watch + \" when using getWallet()\", new RuntimeException());\n        }\n    }\n\n    private final Executor getWalletExecutor = Executors.newSingleThreadExecutor();\n    private final Object getWalletLock = new Object();\n\n    @AnyThread\n    public void getWalletAsync(final OnWalletLoadedListener listener) {\n        getWalletExecutor.execute(new Runnable() {\n            @Override\n            public void run() {\n                org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                synchronized (getWalletLock) {\n                    initMnemonicCode();\n                    if (walletFiles == null)\n                        loadWalletFromProtobuf();\n                }\n                listener.onWalletLoaded(walletFiles.getWallet());\n            }\n\n            @WorkerThread\n            private void loadWalletFromProtobuf() {\n                Wallet wallet;\n                if (walletFile.exists()) {\n                    try (final FileInputStream walletStream = new FileInputStream(walletFile)) {\n                        final Stopwatch watch = Stopwatch.createStarted();\n                        wallet = new WalletProtobufSerializer().readWallet(Constants.NETWORK_PARAMETERS, null, WalletProtobufSerializer.parseToProto(walletStream), false);\n                        watch.stop();\n\n                        if (!wallet.getParams().equals(Constants.NETWORK_PARAMETERS))\n                            throw new UnreadableWalletException(\n                                    \"bad wallet network parameters: \" + wallet.getParams().getId());\n\n                        log.info(\"wallet loaded from: '{}', took {}\", walletFile, watch);\n                    } catch (final IOException | UnreadableWalletException x) {\n                        log.warn(\"problem loading wallet, auto-restoring: \" + walletFile, x);\n                        wallet = WalletUtils.restoreWalletFromAutoBackup(WalletApplication.this);\n                        if (wallet != null)\n                            new Toast(WalletApplication.this).postLongToast(R.string.toast_wallet_reset);\n                    }\n                    if (!wallet.isConsistent()) {\n                        log.warn(\"inconsistent wallet, auto-restoring: \" + walletFile);\n                        wallet = WalletUtils.restoreWalletFromAutoBackup(WalletApplication.this);\n                        if (wallet != null)\n                            new Toast(WalletApplication.this).postLongToast(R.string.toast_wallet_reset);\n                    }\n\n                    if (!wallet.getParams().equals(Constants.NETWORK_PARAMETERS))\n                        throw new Error(\"bad wallet network parameters: \" + wallet.getParams().getId());\n\n                    wallet.cleanup();\n                    walletFiles = wallet.autosaveToFile(walletFile, Constants.Files.WALLET_AUTOSAVE_DELAY_MS,\n                            TimeUnit.MILLISECONDS, null);\n                } else {\n                    final Stopwatch watch = Stopwatch.createStarted();\n                    wallet = Wallet.createDeterministic(Constants.NETWORK_PARAMETERS,\n                            Constants.DEFAULT_OUTPUT_SCRIPT_TYPE);\n                    walletFiles = wallet.autosaveToFile(walletFile, Constants.Files.WALLET_AUTOSAVE_DELAY_MS,\n                            TimeUnit.MILLISECONDS, null);\n                    autosaveWalletNow(); // persist...\n                    WalletUtils.autoBackupWallet(WalletApplication.this, wallet); // ...and backup asap\n                    watch.stop();\n                    log.info(\"fresh {} wallet created, took {}\", Constants.DEFAULT_OUTPUT_SCRIPT_TYPE, watch);\n\n                    config.armBackupReminder();\n                }\n            }\n\n            private void initMnemonicCode() {\n                if (MnemonicCode.INSTANCE == null) {\n                    try {\n                        final Stopwatch watch = Stopwatch.createStarted();\n                        MnemonicCode.INSTANCE = new MnemonicCode(getAssets().open(BIP39_WORDLIST_FILENAME), null);\n                        watch.stop();\n                        log.info(\"BIP39 wordlist loaded from: '{}', took {}\", BIP39_WORDLIST_FILENAME, watch);\n                    } catch (final IOException x) {\n                        throw new Error(x);\n                    }\n                }\n            }\n        });\n    }\n\n    public interface OnWalletLoadedListener {\n        void onWalletLoaded(Wallet wallet);\n    }\n\n    public void autosaveWalletNow() {\n        final Stopwatch watch = Stopwatch.createStarted();\n        synchronized (getWalletLock) {\n            if (walletFiles != null) {\n                try {\n                    walletFiles.saveNow();\n                    watch.stop();\n                    log.info(\"wallet saved to: '{}', took {}\", walletFile, watch);\n                } catch (final IOException x) {\n                    log.warn(\"problem with forced autosaving of wallet\", x);\n                    CrashReporter.saveBackgroundTrace(x, packageInfo);\n                }\n            }\n        }\n    }\n\n    public void replaceWallet(final Wallet newWallet) {\n        newWallet.cleanup();\n        if (newWallet.isDeterministicUpgradeRequired(Constants.UPGRADE_OUTPUT_SCRIPT_TYPE) && !newWallet.isEncrypted())\n            newWallet.upgradeToDeterministic(Constants.UPGRADE_OUTPUT_SCRIPT_TYPE, null);\n        BlockchainService.resetBlockchain(this);\n\n        final Wallet oldWallet = getWallet();\n        synchronized (getWalletLock) {\n            oldWallet.shutdownAutosaveAndWait(); // this will also prevent BlockchainService to save\n            walletFiles = newWallet.autosaveToFile(walletFile, Constants.Files.WALLET_AUTOSAVE_DELAY_MS,\n                    TimeUnit.MILLISECONDS, null);\n        }\n        config.maybeIncrementBestChainHeightEver(newWallet.getLastBlockSeenHeight());\n        WalletUtils.autoBackupWallet(this, newWallet);\n\n        walletChanged.setValue(Event.simple());\n    }\n\n    private void cleanupFiles() {\n        for (final String filename : fileList()) {\n            if (filename.startsWith(Constants.Files.WALLET_KEY_BACKUP_BASE58)\n                    || filename.startsWith(Constants.Files.WALLET_KEY_BACKUP_PROTOBUF + '.')\n                    || filename.endsWith(\".tmp\")) {\n                final File file = new File(getFilesDir(), filename);\n                log.info(\"removing obsolete file: '{}'\", file);\n                file.delete();\n            }\n        }\n    }\n\n    public static void initStrictMode() {\n        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectAll().permitDiskReads()\n                .permitDiskWrites().penaltyLog().build());\n    }\n\n    private void initNotificationManager() {\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n            final Stopwatch watch = Stopwatch.createStarted();\n            final NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);\n\n            final NotificationChannel received = new NotificationChannel(Constants.NOTIFICATION_CHANNEL_ID_RECEIVED,\n                    getString(R.string.notification_channel_received_name), NotificationManager.IMPORTANCE_DEFAULT);\n            received.setSound(Uri.parse(\"android.resource://\" + getPackageName() + \"/\" + R.raw.coins_received),\n                    new AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)\n                            .setLegacyStreamType(AudioManager.STREAM_NOTIFICATION)\n                            .setUsage(AudioAttributes.USAGE_NOTIFICATION_EVENT).build());\n            nm.createNotificationChannel(received);\n\n            final NotificationChannel ongoing = new NotificationChannel(Constants.NOTIFICATION_CHANNEL_ID_ONGOING,\n                    getString(R.string.notification_channel_ongoing_name), NotificationManager.IMPORTANCE_LOW);\n            nm.createNotificationChannel(ongoing);\n\n            final NotificationChannel important = new NotificationChannel(Constants.NOTIFICATION_CHANNEL_ID_IMPORTANT,\n                    getString(R.string.notification_channel_important_name), NotificationManager.IMPORTANCE_HIGH);\n            nm.createNotificationChannel(important);\n\n            log.info(\"created notification channels, took {}\", watch);\n        }\n    }\n\n    private PackageInfo packageInfo;\n\n    public synchronized PackageInfo packageInfo() {\n        // replace by BuildConfig.VERSION_* as soon as it's possible\n        if (packageInfo == null) {\n            try {\n                packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);\n            } catch (final NameNotFoundException x) {\n                throw new RuntimeException(x);\n            }\n        }\n        return packageInfo;\n    }\n\n    public final String applicationPackageFlavor() {\n        final String packageName = getPackageName();\n        final int index = packageName.lastIndexOf('_');\n\n        if (index != -1)\n            return packageName.substring(index + 1);\n        else\n            return null;\n    }\n\n    public static String httpUserAgent(final String versionName) {\n        final VersionMessage versionMessage = new VersionMessage(Constants.NETWORK_PARAMETERS, 0);\n        versionMessage.appendToSubVer(Constants.USER_AGENT, versionName, null);\n        return versionMessage.subVer;\n    }\n\n    public String httpUserAgent() {\n        return httpUserAgent(packageInfo().versionName);\n    }\n\n    public int maxConnectedPeers() {\n        return activityManager.getMemoryClass() <= 128 ? 4 : 6;\n    }\n\n    public int scryptIterationsTarget() {\n        return activityManager.getMemoryClass() <= 128 || Build.SUPPORTED_64_BIT_ABIS.length == 0\n                ? Constants.SCRYPT_ITERATIONS_TARGET_LOWRAM : Constants.SCRYPT_ITERATIONS_TARGET;\n    }\n\n    public boolean fullSyncCapable() {\n        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && activityManager.getMemoryClass() >= 128;\n    }\n\n    public static String versionLine(final PackageInfo packageInfo) {\n        return ImmutableList.copyOf(Splitter.on('.').splitToList(packageInfo.packageName)).reverse().get(0) + ' '\n                + packageInfo.versionName + (BuildConfig.DEBUG ? \" (debuggable)\" : \"\");\n    }\n\n    public final HashCode apkHash() throws IOException {\n        final Hasher hasher = Hashing.sha256().newHasher();\n        final FileInputStream is = new FileInputStream(getPackageCodePath());\n        final byte[] buf = new byte[4096];\n        int read;\n        while (-1 != (read = is.read(buf)))\n            hasher.putBytes(buf, 0, read);\n        is.close();\n        return hasher.hash();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/WalletBalanceWidgetProvider.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet;\n\nimport android.app.PendingIntent;\nimport android.appwidget.AppWidgetManager;\nimport android.appwidget.AppWidgetProvider;\nimport android.content.ComponentName;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.text.Spannable;\nimport android.text.Spanned;\nimport android.text.style.ForegroundColorSpan;\nimport android.text.style.StrikethroughSpan;\nimport android.view.View;\nimport android.widget.RemoteViews;\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.exchangerate.ExchangeRateEntry;\nimport de.schildbach.wallet.exchangerate.ExchangeRatesRepository;\nimport de.schildbach.wallet.ui.RequestCoinsActivity;\nimport de.schildbach.wallet.ui.SendCoinsQrActivity;\nimport de.schildbach.wallet.ui.WalletActivity;\nimport de.schildbach.wallet.ui.send.SendCoinsActivity;\nimport de.schildbach.wallet.util.GenericUtils;\nimport de.schildbach.wallet.util.MonetarySpannable;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.utils.ExchangeRate;\nimport org.bitcoinj.utils.Fiat;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.wallet.Wallet.BalanceType;\nimport org.libdohj.params.AbstractDogecoinParams;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.lang.reflect.Method;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletBalanceWidgetProvider extends AppWidgetProvider {\n    private static final StrikethroughSpan STRIKE_THRU_SPAN = new StrikethroughSpan();\n\n    private static final Logger log = LoggerFactory.getLogger(WalletBalanceWidgetProvider.class);\n\n    @Override\n    public void onUpdate(final Context context, final AppWidgetManager appWidgetManager, final int[] appWidgetIds) {\n        final PendingResult result = goAsync();\n        AsyncTask.execute(() -> {\n            final WalletApplication application = (WalletApplication) context.getApplicationContext();\n            final Coin balance = application.getWallet().getBalance(BalanceType.ESTIMATED);\n            final Configuration config = application.getConfiguration();\n            final ExchangeRatesRepository exchangeRatesRepository = ExchangeRatesRepository.get(application);\n            final ExchangeRateEntry exchangeRate = exchangeRatesRepository != null ?\n                    exchangeRatesRepository.exchangeRateDao().findByCurrencyCode(config.getExchangeCurrencyCode()) : null;\n            updateWidgets(context, appWidgetManager, appWidgetIds, balance, exchangeRate != null ?\n                    exchangeRate.exchangeRate() : null);\n            result.finish();\n        });\n    }\n\n    @Override\n    public void onAppWidgetOptionsChanged(final Context context, final AppWidgetManager appWidgetManager,\n            final int appWidgetId, final Bundle newOptions) {\n        if (newOptions != null)\n            log.info(\"app widget {} options changed: minWidth={}\", appWidgetId,\n                    newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH));\n        final PendingResult result = goAsync();\n        AsyncTask.execute(() -> {\n            final WalletApplication application = (WalletApplication) context.getApplicationContext();\n            final Coin balance = application.getWallet().getBalance(BalanceType.ESTIMATED);\n            final Configuration config = application.getConfiguration();\n            final ExchangeRatesRepository exchangeRatesRepository = ExchangeRatesRepository.get(application);\n            final ExchangeRateEntry exchangeRate =exchangeRatesRepository != null ?\n                    exchangeRatesRepository.exchangeRateDao().findByCurrencyCode(config.getExchangeCurrencyCode()) : null;\n            updateWidget(context, appWidgetManager, appWidgetId, newOptions, balance, exchangeRate != null ?\n                    exchangeRate.exchangeRate() : null);\n            result.finish();\n        });\n    }\n\n    public static void updateWidgets(final Context context, final Coin balance,\n            final @Nullable ExchangeRate exchangeRate) {\n        final AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);\n        final ComponentName providerName = new ComponentName(context, WalletBalanceWidgetProvider.class);\n\n        try {\n            final int[] appWidgetIds = appWidgetManager.getAppWidgetIds(providerName);\n            if (appWidgetIds.length > 0)\n                WalletBalanceWidgetProvider.updateWidgets(context, appWidgetManager, appWidgetIds, balance,\n                        exchangeRate);\n        } catch (final RuntimeException x) // system server dead?\n        {\n            log.warn(\"cannot update app widgets\", x);\n        }\n    }\n\n    private static void updateWidgets(final Context context, final AppWidgetManager appWidgetManager,\n            final int[] appWidgetIds, final Coin balance, final @Nullable ExchangeRate exchangeRate) {\n        for (final int appWidgetId : appWidgetIds) {\n            final Bundle options = getAppWidgetOptions(appWidgetManager, appWidgetId);\n            updateWidget(context, appWidgetManager, appWidgetId, options, balance, exchangeRate);\n        }\n    }\n\n    private static void updateWidget(final Context context, final AppWidgetManager appWidgetManager,\n            final int appWidgetId, final Bundle appWidgetOptions, final Coin balance,\n            final @Nullable ExchangeRate exchangeRate) {\n        final WalletApplication application = (WalletApplication) context.getApplicationContext();\n        final Configuration config = application.getConfiguration();\n        final MonetaryFormat btcFormat = config.getFormat();\n\n        final Spannable balanceStr = new MonetarySpannable(btcFormat.noCode(), balance).applyMarkup(null,\n                MonetarySpannable.STANDARD_INSIGNIFICANT_SPANS);\n        final Spannable localBalanceStr;\n        if (exchangeRate != null) {\n            final Fiat localBalance = exchangeRate.coinToFiat(balance);\n            final MonetaryFormat localFormat = Constants.LOCAL_FORMAT.code(0,\n                    Constants.PREFIX_ALMOST_EQUAL_TO + GenericUtils.currencySymbol(exchangeRate.fiat.currencyCode));\n            final Object[] prefixSpans = new Object[] { MonetarySpannable.SMALLER_SPAN,\n                    new ForegroundColorSpan(context.getColor(R.color.fg_insignificant_darkdefault)) };\n            localBalanceStr = new MonetarySpannable(localFormat, localBalance).applyMarkup(prefixSpans,\n                    MonetarySpannable.STANDARD_INSIGNIFICANT_SPANS);\n            if (!Constants.NETWORK_PARAMETERS.getId().equals(AbstractDogecoinParams.ID_DOGE_MAINNET))\n                localBalanceStr.setSpan(STRIKE_THRU_SPAN, 0, localBalanceStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);\n        } else {\n            localBalanceStr = null;\n        }\n\n        final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.wallet_balance_widget_content);\n\n        final String currencyCode = btcFormat.code();\n        if (\"DOGE\".equals(currencyCode))\n            views.setImageViewResource(R.id.widget_wallet_prefix, R.drawable.currency_symbol_btc);\n        else if (\"mDOGE\".equals(currencyCode))\n            views.setImageViewResource(R.id.widget_wallet_prefix, R.drawable.currency_symbol_mbtc);\n        else if (\"µDOGE\".equals(currencyCode))\n            views.setImageViewResource(R.id.widget_wallet_prefix, R.drawable.currency_symbol_ubtc);\n\n        views.setTextViewText(R.id.widget_wallet_balance_btc, balanceStr);\n        views.setViewVisibility(R.id.widget_wallet_balance_local, localBalanceStr != null ? View.VISIBLE : View.GONE);\n        views.setTextViewText(R.id.widget_wallet_balance_local, localBalanceStr);\n\n        if (appWidgetOptions != null) {\n            final int minWidth = appWidgetOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);\n            views.setViewVisibility(R.id.widget_app_icon, minWidth > 400 ? View.VISIBLE : View.GONE);\n            views.setViewVisibility(R.id.widget_button_request, minWidth > 300 ? View.VISIBLE : View.GONE);\n            views.setViewVisibility(R.id.widget_button_send, minWidth > 300 ? View.VISIBLE : View.GONE);\n            views.setViewVisibility(R.id.widget_button_send_qr, minWidth > 200 ? View.VISIBLE : View.GONE);\n        }\n\n        views.setOnClickPendingIntent(R.id.widget_button_balance,\n                PendingIntent.getActivity(context, 0, new Intent(context, WalletActivity.class), 0));\n        views.setOnClickPendingIntent(R.id.widget_button_request,\n                PendingIntent.getActivity(context, 0, new Intent(context, RequestCoinsActivity.class), 0));\n        views.setOnClickPendingIntent(R.id.widget_button_send,\n                PendingIntent.getActivity(context, 0, new Intent(context, SendCoinsActivity.class), 0));\n        views.setOnClickPendingIntent(R.id.widget_button_send_qr,\n                PendingIntent.getActivity(context, 0, new Intent(context, SendCoinsQrActivity.class), 0));\n\n        appWidgetManager.updateAppWidget(appWidgetId, views);\n    }\n\n    private static Bundle getAppWidgetOptions(final AppWidgetManager appWidgetManager, final int appWidgetId) {\n        try {\n            final Method getAppWidgetOptions = AppWidgetManager.class.getMethod(\"getAppWidgetOptions\", Integer.TYPE);\n            return (Bundle) getAppWidgetOptions.invoke(appWidgetManager, appWidgetId);\n        } catch (final Exception x) {\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/addressbook/AddressBookDao.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.addressbook;\n\nimport androidx.lifecycle.LiveData;\nimport androidx.room.Dao;\nimport androidx.room.Insert;\nimport androidx.room.OnConflictStrategy;\nimport androidx.room.Query;\n\nimport java.util.List;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\n@Dao\npublic interface AddressBookDao {\n    @Insert(onConflict = OnConflictStrategy.REPLACE)\n    void insertOrUpdate(AddressBookEntry addressBookEntry);\n\n    @Query(\"DELETE FROM address_book WHERE address = :address\")\n    void delete(String address);\n\n    @Query(\"SELECT label FROM address_book WHERE address = :address\")\n    String resolveLabel(String address);\n\n    @Query(\"SELECT * FROM address_book WHERE address LIKE '%' || :constraint || '%' OR label LIKE '%' || :constraint || '%' ORDER BY label COLLATE LOCALIZED ASC\")\n    List<AddressBookEntry> get(String constraint);\n\n    @Query(\"SELECT * FROM address_book ORDER BY label COLLATE LOCALIZED ASC\")\n    LiveData<List<AddressBookEntry>> getAll();\n\n    @Query(\"SELECT * FROM address_book WHERE address NOT IN (:except) ORDER BY label COLLATE LOCALIZED ASC\")\n    LiveData<List<AddressBookEntry>> getAllExcept(Set<String> except);\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/addressbook/AddressBookDatabase.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.addressbook;\n\nimport android.content.Context;\nimport androidx.room.Database;\nimport androidx.room.Room;\nimport androidx.room.RoomDatabase;\nimport androidx.room.migration.Migration;\nimport androidx.sqlite.db.SupportSQLiteDatabase;\n\n/**\n * @author Andreas Schildbach\n */\n@Database(entities = { AddressBookEntry.class }, version = 2, exportSchema = false)\npublic abstract class AddressBookDatabase extends RoomDatabase {\n    public abstract AddressBookDao addressBookDao();\n\n    private static final String DATABASE_NAME = \"address_book\";\n    private static AddressBookDatabase INSTANCE;\n\n    public static AddressBookDatabase getDatabase(final Context context) {\n        if (INSTANCE == null) {\n            synchronized (AddressBookDatabase.class) {\n                if (INSTANCE == null) {\n                    INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AddressBookDatabase.class, DATABASE_NAME)\n                            .addMigrations(MIGRATION_1_2).allowMainThreadQueries().build();\n                }\n            }\n        }\n        return INSTANCE;\n    }\n\n    private static final Migration MIGRATION_1_2 = new Migration(1, 2) {\n        @Override\n        public void migrate(final SupportSQLiteDatabase database) {\n            database.execSQL(\n                    \"CREATE TABLE address_book_new (address TEXT NOT NULL, label TEXT, PRIMARY KEY(address))\");\n            database.execSQL(\n                    \"INSERT OR IGNORE INTO address_book_new (address, label) SELECT address, label FROM address_book\");\n            database.execSQL(\"DROP TABLE address_book\");\n            database.execSQL(\"ALTER TABLE address_book_new RENAME TO address_book\");\n        }\n    };\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/addressbook/AddressBookEntry.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.addressbook;\n\nimport androidx.annotation.NonNull;\nimport androidx.room.ColumnInfo;\nimport androidx.room.Entity;\nimport androidx.room.PrimaryKey;\n\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\n@Entity(tableName = AddressBookEntry.TABLE_NAME)\npublic class AddressBookEntry {\n    public static final String TABLE_NAME = \"address_book\";\n\n    @NonNull\n    @PrimaryKey\n    @ColumnInfo(name = \"address\")\n    private String address;\n\n    @ColumnInfo(name = \"label\")\n    private String label;\n\n    public AddressBookEntry(final String address, final String label) {\n        this.address = address;\n        this.label = label;\n    }\n\n    public String getAddress() {\n        return address;\n    }\n\n    public String getLabel() {\n        return label;\n    }\n\n    public static Map<String, AddressBookEntry> asMap(final List<AddressBookEntry> entries) {\n        if (entries == null)\n            return null;\n        final Map<String, AddressBookEntry> addressBook = new HashMap<>();\n        for (final AddressBookEntry entry : entries)\n            addressBook.put(entry.getAddress(), entry);\n        return addressBook;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/AbstractWalletLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.os.Handler;\nimport androidx.lifecycle.Observer;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.WalletApplication.OnWalletLoadedListener;\nimport de.schildbach.wallet.ui.Event;\nimport org.bitcoinj.wallet.Wallet;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class AbstractWalletLiveData<T> extends ThrottelingLiveData<T> implements Observer<Event<Void>> {\n    private final WalletApplication application;\n    private final Handler handler = new Handler();\n    private Wallet wallet;\n\n    public AbstractWalletLiveData(final WalletApplication application) {\n        super();\n        this.application = application;\n    }\n\n    public AbstractWalletLiveData(final WalletApplication application, final long throttleMs) {\n        super(throttleMs);\n        this.application = application;\n    }\n\n    @Override\n    protected final void onActive() {\n        application.walletChanged.observeForever(this);\n        loadWallet();\n    }\n\n    @Override\n    protected final void onInactive() {\n        // TODO cancel async loading\n        if (wallet != null)\n            onWalletInactive(wallet);\n        application.walletChanged.removeObserver(this);\n    }\n\n    private void loadWallet() {\n        application.getWalletAsync(onWalletLoadedListener);\n    }\n\n    protected Wallet getWallet() {\n        return wallet;\n    }\n\n    private final OnWalletLoadedListener onWalletLoadedListener = wallet -> handler.post(() -> {\n        AbstractWalletLiveData.this.wallet = wallet;\n        onWalletActive(wallet);\n    });\n\n    @Override\n    public void onChanged(final Event<Void> v) {\n        if (wallet != null)\n            onWalletInactive(wallet);\n        loadWallet();\n    }\n\n    protected abstract void onWalletActive(Wallet wallet);\n\n    protected void onWalletInactive(final Wallet wallet) {\n        // do nothing by default\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/BlockchainServiceLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.content.ComponentName;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.ServiceConnection;\nimport android.os.IBinder;\nimport androidx.lifecycle.LiveData;\nimport de.schildbach.wallet.service.BlockchainService;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BlockchainServiceLiveData extends LiveData<BlockchainService> implements ServiceConnection {\n    private final Context context;\n\n    public BlockchainServiceLiveData(final Context context) {\n        this.context = context;\n    }\n\n    @Override\n    protected void onActive() {\n        context.bindService(new Intent(context, BlockchainService.class), this, Context.BIND_AUTO_CREATE);\n    }\n\n    @Override\n    protected void onInactive() {\n        context.unbindService(this);\n    }\n\n    @Override\n    public void onServiceConnected(final ComponentName name, final IBinder service) {\n        setValue(((BlockchainService.LocalBinder) service).getService());\n    }\n\n    @Override\n    public void onServiceDisconnected(final ComponentName name) {\n        setValue(null);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/ConfigFormatLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.content.SharedPreferences;\nimport androidx.lifecycle.LiveData;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.WalletApplication;\nimport org.bitcoinj.utils.MonetaryFormat;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ConfigFormatLiveData extends LiveData<MonetaryFormat>\n        implements SharedPreferences.OnSharedPreferenceChangeListener {\n    private final Configuration config;\n\n    public ConfigFormatLiveData(final WalletApplication application) {\n        this.config = application.getConfiguration();\n    }\n\n    @Override\n    protected void onActive() {\n        config.registerOnSharedPreferenceChangeListener(this);\n        setValue(config.getFormat());\n    }\n\n    @Override\n    protected void onInactive() {\n        config.unregisterOnSharedPreferenceChangeListener(this);\n    }\n\n    @Override\n    public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {\n        if (Configuration.PREFS_KEY_BTC_PRECISION.equals(key))\n            setValue(config.getFormat());\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/ConfigOwnNameLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.content.SharedPreferences;\nimport androidx.lifecycle.LiveData;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.WalletApplication;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ConfigOwnNameLiveData extends LiveData<String>\n        implements SharedPreferences.OnSharedPreferenceChangeListener {\n    private final Configuration config;\n\n    public ConfigOwnNameLiveData(final WalletApplication application) {\n        this.config = application.getConfiguration();\n    }\n\n    @Override\n    protected void onActive() {\n        config.registerOnSharedPreferenceChangeListener(this);\n        setValue(config.getOwnName());\n    }\n\n    @Override\n    protected void onInactive() {\n        config.unregisterOnSharedPreferenceChangeListener(this);\n    }\n\n    @Override\n    public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {\n        if (Configuration.PREFS_KEY_OWN_NAME.equals(key))\n            setValue(config.getOwnName());\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/DynamicFeeLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.content.pm.PackageInfo;\nimport android.content.res.AssetManager;\nimport android.os.AsyncTask;\nimport androidx.lifecycle.LiveData;\nimport com.google.common.base.Stopwatch;\nimport com.google.common.io.ByteStreams;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.ui.send.FeeCategory;\nimport okhttp3.Call;\nimport okhttp3.ConnectionSpec;\nimport okhttp3.Headers;\nimport okhttp3.HttpUrl;\nimport okhttp3.OkHttpClient;\nimport okhttp3.Request;\nimport okhttp3.Response;\nimport okhttp3.ResponseBody;\nimport org.bitcoinj.core.Coin;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.BufferedReader;\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.net.HttpURLConnection;\nimport java.nio.charset.StandardCharsets;\nimport java.util.Collections;\nimport java.util.Date;\nimport java.util.HashMap;\nimport java.util.Map;\nimport java.util.concurrent.TimeUnit;\n\n/**\n * @author Andreas Schildbach\n */\npublic class DynamicFeeLiveData extends LiveData<Map<FeeCategory, Coin>> {\n    private final HttpUrl dynamicFeesUrl;\n    private final String userAgent;\n    private final AssetManager assets;\n    private final File dynamicFeesFile;\n    private final File tempFile;\n\n    private static final Logger log = LoggerFactory.getLogger(DynamicFeeLiveData.class);\n\n    public DynamicFeeLiveData(final WalletApplication application) {\n        final PackageInfo packageInfo = application.packageInfo();\n        final int versionNameSplit = packageInfo.versionName.indexOf('-');\n        this.dynamicFeesUrl = HttpUrl.parse(Constants.DYNAMIC_FEES_URL\n                + (versionNameSplit >= 0 ? packageInfo.versionName.substring(versionNameSplit) : \"\"));\n        this.userAgent = WalletApplication.httpUserAgent(packageInfo.versionName);\n        this.assets = application.getAssets();\n        this.dynamicFeesFile = new File(application.getFilesDir(), Constants.Files.FEES_ASSET);\n        this.tempFile = new File(application.getCacheDir(), Constants.Files.FEES_ASSET + \".temp\");\n    }\n\n    @Override\n    protected void onActive() {\n        AsyncTask.execute(() -> {\n            final Map<FeeCategory, Coin> dynamicFees = loadInBackground();\n            postValue(dynamicFees);\n        });\n    }\n\n    private Map<FeeCategory, Coin> loadInBackground() {\n        try {\n            final Map<FeeCategory, Coin> staticFees = parseFees(assets.open(Constants.Files.FEES_ASSET));\n            // DOGE: never fetch dynamic fees from remote\n            //fetchDynamicFees(dynamicFeesUrl, tempFile, dynamicFeesFile, userAgent);\n            if (!dynamicFeesFile.exists())\n                return staticFees;\n\n            // Check dynamic fees for sanity, based on the hardcoded fees.\n            // The bounds are as follows (h is the respective hardcoded fee):\n            // ECONOMIC: h/8 to h*8\n            // NORMAL: h/8 to h*8\n            // PRIORITY: h/8 to h*8\n            final Map<FeeCategory, Coin> dynamicFees = parseFees(new FileInputStream(dynamicFeesFile));\n            for (final FeeCategory category : FeeCategory.values()) {\n                final Coin staticFee = staticFees.get(category);\n                final Coin dynamicFee = dynamicFees.get(category);\n                if (dynamicFee == null) {\n                    dynamicFees.put(category, staticFee);\n                    log.warn(\"Dynamic fee category missing, using static: category {}, {}/kB\", category,\n                            staticFee.toFriendlyString());\n                    continue;\n                }\n                final Coin upperBound = staticFee.shiftLeft(3);\n                if (dynamicFee.isGreaterThan(upperBound)) {\n                    dynamicFees.put(category, upperBound);\n                    log.warn(\"Down-adjusting dynamic fee: category {} from {}/kB to {}/kB\", category,\n                            dynamicFee.toFriendlyString(), upperBound.toFriendlyString());\n                    continue;\n                }\n                final Coin lowerBound = staticFee.shiftRight(3);\n                if (dynamicFee.isLessThan(lowerBound)) {\n                    dynamicFees.put(category, lowerBound);\n                    log.warn(\"Up-adjusting dynamic fee: category {} from {}/kB to {}/kB\", category,\n                            dynamicFee.toFriendlyString(), lowerBound.toFriendlyString());\n                }\n            }\n            return dynamicFees;\n        } catch (final IOException x) {\n            // Should not happen\n            throw new RuntimeException(x);\n        }\n    }\n\n    private static Map<FeeCategory, Coin> parseFees(final InputStream is) throws IOException {\n        final Map<FeeCategory, Coin> dynamicFees = new HashMap<>();\n        String line = null;\n        try (final BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.US_ASCII))) {\n            while (true) {\n                line = reader.readLine();\n                if (line == null)\n                    break;\n                line = line.trim();\n                if (line.length() == 0 || line.charAt(0) == '#')\n                    continue;\n\n                final String[] fields = line.split(\"=\");\n                try {\n                    final FeeCategory category = FeeCategory.valueOf(fields[0]);\n                    final Coin rate = Coin.valueOf(Long.parseLong(fields[1]));\n                    dynamicFees.put(category, rate);\n                } catch (IllegalArgumentException x) {\n                    log.warn(\"Cannot parse line, ignoring: '\" + line + \"'\", x);\n                }\n            }\n        } catch (final Exception x) {\n            throw new RuntimeException(\"Error while parsing: '\" + line + \"'\", x);\n        } finally {\n            is.close();\n        }\n        return dynamicFees;\n    }\n\n    private static void fetchDynamicFees(final HttpUrl url, final File tempFile, final File targetFile,\n            final String userAgent) {\n        final Stopwatch watch = Stopwatch.createStarted();\n\n        final Request.Builder request = new Request.Builder();\n        request.url(url);\n        final Headers.Builder headers = new Headers.Builder();\n        headers.add(\"User-Agent\", userAgent);\n        if (targetFile.exists())\n            headers.add(\"If-Modified-Since\", new Date(targetFile.lastModified()));\n        request.headers(headers.build());\n\n        final OkHttpClient.Builder httpClientBuilder = Constants.HTTP_CLIENT.newBuilder();\n        httpClientBuilder.connectionSpecs(Collections.singletonList(ConnectionSpec.RESTRICTED_TLS));\n        httpClientBuilder.connectTimeout(5, TimeUnit.SECONDS);\n        httpClientBuilder.writeTimeout(5, TimeUnit.SECONDS);\n        httpClientBuilder.readTimeout(5, TimeUnit.SECONDS);\n        final OkHttpClient httpClient = httpClientBuilder.build();\n        final Call call = httpClient.newCall(request.build());\n        try {\n            final Response response = call.execute();\n            final int status = response.code();\n            if (status == HttpURLConnection.HTTP_NOT_MODIFIED) {\n                log.info(\"Dynamic fees not modified at {}, took {}\", url, watch);\n            } else if (status == HttpURLConnection.HTTP_OK) {\n                final ResponseBody body = response.body();\n                final FileOutputStream os = new FileOutputStream(tempFile);\n                ByteStreams.copy(body.byteStream(), os);\n                os.close();\n                final Date lastModified = response.headers().getDate(\"Last-Modified\");\n                if (lastModified != null)\n                    tempFile.setLastModified(lastModified.getTime());\n                body.close();\n                if (!tempFile.renameTo(targetFile))\n                    throw new IllegalStateException(\"Cannot rename \" + tempFile + \" to \" + targetFile);\n                watch.stop();\n                log.info(\"Dynamic fees fetched from {}, took {}\", url, watch);\n            } else {\n                log.warn(\"HTTP status {} {} when fetching dynamic fees from {}\", response.code(), response.message(),\n                        url);\n            }\n        } catch (final Exception x) {\n            log.warn(\"Problem when fetching dynamic fees rates from \" + url, x);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/PaymentIntent.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport androidx.annotation.Nullable;\nimport com.google.common.io.BaseEncoding;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.util.Bluetooth;\nimport de.schildbach.wallet.util.GenericUtils;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.AddressFormatException;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.bitcoinj.protocols.payments.PaymentProtocolException;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.script.ScriptBuilder;\nimport org.bitcoinj.script.ScriptException;\nimport org.bitcoinj.script.ScriptPattern;\nimport org.bitcoinj.uri.BitcoinURI;\nimport org.bitcoinj.wallet.SendRequest;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Arrays;\n\nimport static androidx.core.util.Preconditions.checkArgument;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class PaymentIntent implements Parcelable {\n    public enum Standard {\n        BIP21, BIP70\n    }\n\n    public final static class Output implements Parcelable {\n        public final Coin amount;\n        public final Script script;\n\n        public Output(final Coin amount, final Script script) {\n            this.amount = amount;\n            this.script = script;\n        }\n\n        public static Output valueOf(final PaymentProtocol.Output output)\n                throws PaymentProtocolException.InvalidOutputs {\n            try {\n                final Script script = new Script(output.scriptData);\n                return new PaymentIntent.Output(output.amount, script);\n            } catch (final ScriptException x) {\n                throw new PaymentProtocolException.InvalidOutputs(\n                        \"unparseable script in output: \" + Constants.HEX.encode(output.scriptData));\n            }\n        }\n\n        public boolean hasAmount() {\n            return amount != null && amount.signum() != 0;\n        }\n\n        @Override\n        public String toString() {\n            final StringBuilder builder = new StringBuilder();\n\n            builder.append(getClass().getSimpleName());\n            builder.append('[');\n            builder.append(hasAmount() ? amount.toPlainString() : \"null\");\n            builder.append(',');\n            if (ScriptPattern.isP2PKH(script) || ScriptPattern.isP2SH(script)\n                    || ScriptPattern.isP2WH(script))\n                builder.append(script.getToAddress(Constants.NETWORK_PARAMETERS));\n            else if (ScriptPattern.isP2PK(script))\n                builder.append(Constants.HEX.encode(ScriptPattern.extractKeyFromP2PK(script)));\n            else if (ScriptPattern.isSentToMultisig(script))\n                builder.append(\"multisig\");\n            else\n                builder.append(\"unknown\");\n            builder.append(']');\n\n            return builder.toString();\n        }\n\n        @Override\n        public int describeContents() {\n            return 0;\n        }\n\n        @Override\n        public void writeToParcel(final Parcel dest, final int flags) {\n            dest.writeSerializable(amount);\n\n            final byte[] program = script.getProgram();\n            dest.writeInt(program.length);\n            dest.writeByteArray(program);\n        }\n\n        public static final Parcelable.Creator<Output> CREATOR = new Parcelable.Creator<Output>() {\n            @Override\n            public Output createFromParcel(final Parcel in) {\n                return new Output(in);\n            }\n\n            @Override\n            public Output[] newArray(final int size) {\n                return new Output[size];\n            }\n        };\n\n        private Output(final Parcel in) {\n            amount = (Coin) in.readSerializable();\n\n            final int programLength = in.readInt();\n            final byte[] program = new byte[programLength];\n            in.readByteArray(program);\n            script = new Script(program);\n        }\n    }\n\n    @Nullable\n    public final Standard standard;\n\n    @Nullable\n    public final String payeeName;\n\n    @Nullable\n    public final String payeeVerifiedBy;\n\n    @Nullable\n    public final Output[] outputs;\n\n    @Nullable\n    public final String memo;\n\n    @Nullable\n    public final String paymentUrl;\n\n    @Nullable\n    public final byte[] payeeData;\n\n    @Nullable\n    public final String paymentRequestUrl;\n\n    @Nullable\n    public final byte[] paymentRequestHash;\n\n    private static final Logger log = LoggerFactory.getLogger(PaymentIntent.class);\n\n    public PaymentIntent(@Nullable final Standard standard, @Nullable final String payeeName,\n            @Nullable final String payeeVerifiedBy, @Nullable final Output[] outputs, @Nullable final String memo,\n            @Nullable final String paymentUrl, @Nullable final byte[] payeeData,\n            @Nullable final String paymentRequestUrl, @Nullable final byte[] paymentRequestHash) {\n        this.standard = standard;\n        this.payeeName = payeeName;\n        this.payeeVerifiedBy = payeeVerifiedBy;\n        this.outputs = outputs;\n        this.memo = memo;\n        this.paymentUrl = paymentUrl;\n        this.payeeData = payeeData;\n        this.paymentRequestUrl = paymentRequestUrl;\n        this.paymentRequestHash = paymentRequestHash;\n    }\n\n    private PaymentIntent(final Address address, @Nullable final String addressLabel) {\n        this(null, null, null, buildSimplePayTo(Coin.ZERO, address), addressLabel, null, null, null, null);\n    }\n\n    public static PaymentIntent blank() {\n        return new PaymentIntent(null, null, null, null, null, null, null, null, null);\n    }\n\n    public static PaymentIntent fromAddress(final Address address, @Nullable final String addressLabel) {\n        return new PaymentIntent(address, addressLabel);\n    }\n\n    public static PaymentIntent fromAddress(final String address, @Nullable final String addressLabel)\n            throws AddressFormatException {\n        return new PaymentIntent(Address.fromString(Constants.NETWORK_PARAMETERS, address), addressLabel);\n    }\n\n    public static PaymentIntent from(final String address, @Nullable final String addressLabel,\n            @Nullable final Coin amount) throws AddressFormatException {\n        return new PaymentIntent(null, null, null,\n                buildSimplePayTo(amount, Address.fromString(Constants.NETWORK_PARAMETERS, address)), addressLabel, null,\n                null, null, null);\n    }\n\n    public static PaymentIntent fromBitcoinUri(final BitcoinURI bitcoinUri) {\n        final Address address = bitcoinUri.getAddress();\n        final Output[] outputs = address != null ? buildSimplePayTo(bitcoinUri.getAmount(), address) : null;\n        final String bluetoothMac = (String) bitcoinUri.getParameterByName(Bluetooth.MAC_URI_PARAM);\n        final String paymentRequestHashStr = (String) bitcoinUri.getParameterByName(\"h\");\n        final byte[] paymentRequestHash = paymentRequestHashStr != null ? base64UrlDecode(paymentRequestHashStr) : null;\n\n        return new PaymentIntent(PaymentIntent.Standard.BIP21, null, null, outputs, bitcoinUri.getLabel(),\n                bluetoothMac != null ? \"bt:\" + bluetoothMac : null, null, bitcoinUri.getPaymentRequestUrl(),\n                paymentRequestHash);\n    }\n\n    private static final BaseEncoding BASE64URL = BaseEncoding.base64Url().omitPadding();\n\n    private static byte[] base64UrlDecode(final String encoded) {\n        try {\n            return BASE64URL.decode(encoded);\n        } catch (final IllegalArgumentException x) {\n            log.info(\"cannot base64url-decode: \" + encoded);\n            return null;\n        }\n    }\n\n    public PaymentIntent mergeWithEditedValues(@Nullable final Coin editedAmount,\n            @Nullable final Address editedAddress) {\n        final Output[] outputs;\n\n        if (hasOutputs()) {\n            if (mayEditAmount()) {\n                checkArgument(editedAmount != null);\n\n                // put all coins on first output, skip the others\n                outputs = new Output[] { new Output(editedAmount, this.outputs[0].script) };\n            } else {\n                // exact copy of outputs\n                outputs = this.outputs;\n            }\n        } else {\n            checkArgument(editedAmount != null);\n            checkArgument(editedAddress != null);\n\n            // custom output\n            outputs = buildSimplePayTo(editedAmount, editedAddress);\n        }\n\n        return new PaymentIntent(standard, payeeName, payeeVerifiedBy, outputs, memo, null, payeeData, null, null);\n    }\n\n    public SendRequest toSendRequest() {\n        final Transaction transaction = new Transaction(Constants.NETWORK_PARAMETERS);\n        for (final PaymentIntent.Output output : outputs)\n            transaction.addOutput(output.amount, output.script);\n        return SendRequest.forTx(transaction);\n    }\n\n    private static Output[] buildSimplePayTo(final Coin amount, final Address address) {\n        return new Output[] { new Output(amount, ScriptBuilder.createOutputScript(address)) };\n    }\n\n    public boolean hasPayee() {\n        return payeeName != null;\n    }\n\n    public boolean hasOutputs() {\n        return outputs != null && outputs.length > 0;\n    }\n\n    public boolean hasAddress() {\n        if (outputs == null || outputs.length != 1)\n            return false;\n\n        final Script script = outputs[0].script;\n        return ScriptPattern.isP2PKH(script) || ScriptPattern.isP2SH(script)\n                || ScriptPattern.isP2PK(script) || ScriptPattern.isP2WH(script);\n    }\n\n    public Address getAddress() {\n        if (!hasAddress())\n            throw new IllegalStateException();\n\n        final Script script = outputs[0].script;\n        return script.getToAddress(Constants.NETWORK_PARAMETERS, true);\n    }\n\n    public boolean mayEditAddress() {\n        return standard == null;\n    }\n\n    public boolean hasAmount() {\n        if (hasOutputs())\n            for (final Output output : outputs)\n                if (output.hasAmount())\n                    return true;\n\n        return false;\n    }\n\n    public Coin getAmount() {\n        Coin amount = Coin.ZERO;\n\n        if (hasOutputs())\n            for (final Output output : outputs)\n                if (output.hasAmount())\n                    amount = amount.add(output.amount);\n\n        if (amount.signum() != 0)\n            return amount;\n        else\n            return null;\n    }\n\n    public boolean mayEditAmount() {\n        return !(standard == Standard.BIP70 && hasAmount());\n    }\n\n    public boolean hasPaymentUrl() {\n        return paymentUrl != null;\n    }\n\n    public boolean isSupportedPaymentUrl() {\n        return isHttpPaymentUrl() || isBluetoothPaymentUrl();\n    }\n\n    public boolean isHttpPaymentUrl() {\n        return paymentUrl != null && (GenericUtils.startsWithIgnoreCase(paymentUrl, \"http:\")\n                || GenericUtils.startsWithIgnoreCase(paymentUrl, \"https:\"));\n    }\n\n    public boolean isBluetoothPaymentUrl() {\n        return Bluetooth.isBluetoothUrl(paymentUrl);\n    }\n\n    public boolean hasPaymentRequestUrl() {\n        return paymentRequestUrl != null;\n    }\n\n    public boolean isSupportedPaymentRequestUrl() {\n        return isHttpPaymentRequestUrl() || isBluetoothPaymentRequestUrl();\n    }\n\n    public boolean isHttpPaymentRequestUrl() {\n        return paymentRequestUrl != null && (GenericUtils.startsWithIgnoreCase(paymentRequestUrl, \"http:\")\n                || GenericUtils.startsWithIgnoreCase(paymentRequestUrl, \"https:\"));\n    }\n\n    public boolean isBluetoothPaymentRequestUrl() {\n        return Bluetooth.isBluetoothUrl(paymentRequestUrl);\n    }\n\n    /**\n     * Check if given payment intent is only extending on <i>this</i> one, that is it does not alter any of\n     * the fields. Address and amount fields must be equal, respectively (non-existence included).\n     * \n     * Alternatively, a BIP21+BIP72 request can provide a hash of the BIP70 request.\n     * \n     * @param other\n     *            payment intent that is checked if it extends this one\n     * @return true if it extends\n     */\n    public boolean isExtendedBy(final PaymentIntent other) {\n        // shortcut via hash\n        if (standard == Standard.BIP21 && other.standard == Standard.BIP70)\n            if (paymentRequestHash != null && Arrays.equals(paymentRequestHash, other.paymentRequestHash))\n                return true;\n\n        // TODO memo\n        return equalsAmount(other) && equalsAddress(other);\n    }\n\n    public boolean equalsAmount(final PaymentIntent other) {\n        final boolean hasAmount = hasAmount();\n        if (hasAmount != other.hasAmount())\n            return false;\n        if (hasAmount && !getAmount().equals(other.getAmount()))\n            return false;\n        return true;\n    }\n\n    public boolean equalsAddress(final PaymentIntent other) {\n        final boolean hasAddress = hasAddress();\n        if (hasAddress != other.hasAddress())\n            return false;\n        if (hasAddress && !getAddress().equals(other.getAddress()))\n            return false;\n        return true;\n    }\n\n    @Override\n    public String toString() {\n        final StringBuilder builder = new StringBuilder();\n\n        builder.append(getClass().getSimpleName());\n        builder.append('[');\n        builder.append(standard);\n        builder.append(',');\n        if (hasPayee()) {\n            builder.append(payeeName);\n            if (payeeVerifiedBy != null)\n                builder.append(\"/\").append(payeeVerifiedBy);\n            builder.append(',');\n        }\n        builder.append(hasOutputs() ? Arrays.toString(outputs) : \"null\");\n        builder.append(',');\n        builder.append(paymentUrl);\n        if (payeeData != null) {\n            builder.append(\",payeeData=\");\n            builder.append(Constants.HEX.encode(payeeData));\n        }\n        if (paymentRequestUrl != null) {\n            builder.append(\",paymentRequestUrl=\");\n            builder.append(paymentRequestUrl);\n        }\n        if (paymentRequestHash != null) {\n            builder.append(\",paymentRequestHash=\");\n            builder.append(Constants.HEX.encode(paymentRequestHash));\n        }\n        builder.append(']');\n\n        return builder.toString();\n    }\n\n    @Override\n    public int describeContents() {\n        return 0;\n    }\n\n    @Override\n    public void writeToParcel(final Parcel dest, final int flags) {\n        dest.writeSerializable(standard);\n\n        dest.writeString(payeeName);\n        dest.writeString(payeeVerifiedBy);\n\n        if (outputs != null) {\n            dest.writeInt(outputs.length);\n            dest.writeTypedArray(outputs, 0);\n        } else {\n            dest.writeInt(0);\n        }\n\n        dest.writeString(memo);\n\n        dest.writeString(paymentUrl);\n\n        if (payeeData != null) {\n            dest.writeInt(payeeData.length);\n            dest.writeByteArray(payeeData);\n        } else {\n            dest.writeInt(0);\n        }\n\n        dest.writeString(paymentRequestUrl);\n\n        if (paymentRequestHash != null) {\n            dest.writeInt(paymentRequestHash.length);\n            dest.writeByteArray(paymentRequestHash);\n        } else {\n            dest.writeInt(0);\n        }\n    }\n\n    public static final Parcelable.Creator<PaymentIntent> CREATOR = new Parcelable.Creator<PaymentIntent>() {\n        @Override\n        public PaymentIntent createFromParcel(final Parcel in) {\n            return new PaymentIntent(in);\n        }\n\n        @Override\n        public PaymentIntent[] newArray(final int size) {\n            return new PaymentIntent[size];\n        }\n    };\n\n    private PaymentIntent(final Parcel in) {\n        standard = (Standard) in.readSerializable();\n\n        payeeName = in.readString();\n        payeeVerifiedBy = in.readString();\n\n        final int outputsLength = in.readInt();\n        if (outputsLength > 0) {\n            outputs = new Output[outputsLength];\n            in.readTypedArray(outputs, Output.CREATOR);\n        } else {\n            outputs = null;\n        }\n\n        memo = in.readString();\n\n        paymentUrl = in.readString();\n\n        final int payeeDataLength = in.readInt();\n        if (payeeDataLength > 0) {\n            payeeData = new byte[payeeDataLength];\n            in.readByteArray(payeeData);\n        } else {\n            payeeData = null;\n        }\n\n        paymentRequestUrl = in.readString();\n\n        final int paymentRequestHashLength = in.readInt();\n        if (paymentRequestHashLength > 0) {\n            paymentRequestHash = new byte[paymentRequestHashLength];\n            in.readByteArray(paymentRequestHash);\n        } else {\n            paymentRequestHash = null;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/SelectedExchangeRateLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.os.AsyncTask;\nimport androidx.annotation.NonNull;\nimport androidx.lifecycle.LiveData;\nimport androidx.room.InvalidationTracker;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.exchangerate.ExchangeRateDao;\nimport de.schildbach.wallet.exchangerate.ExchangeRateEntry;\nimport de.schildbach.wallet.exchangerate.ExchangeRatesRepository;\n\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SelectedExchangeRateLiveData extends LiveData<ExchangeRateEntry> implements OnSharedPreferenceChangeListener {\n    private final Configuration config;\n    private final ExchangeRateDao dao;\n    private final InvalidationTracker invalidationTracker;\n\n    private final InvalidationTracker.Observer invalidationObserver =\n            new InvalidationTracker.Observer(ExchangeRateEntry.TABLE_NAME) {\n        @Override\n        public void onInvalidated(@NonNull final Set<String> tables) {\n            onChange();\n        }\n    };\n\n    public SelectedExchangeRateLiveData(final WalletApplication application) {\n        this.config = application.getConfiguration();\n        final ExchangeRatesRepository exchangeRatesRepository = ExchangeRatesRepository.get(application);\n        this.dao = exchangeRatesRepository != null ? exchangeRatesRepository.exchangeRateDao() : null;\n        this.invalidationTracker = exchangeRatesRepository != null ?\n                exchangeRatesRepository.exchangeRateInvalidationTracker() : null;\n    }\n\n    @Override\n    protected void onActive() {\n        invalidationTracker.addObserver(invalidationObserver);\n        config.registerOnSharedPreferenceChangeListener(this);\n        onChange();\n    }\n\n    @Override\n    protected void onInactive() {\n        config.unregisterOnSharedPreferenceChangeListener(this);\n        invalidationTracker.removeObserver(invalidationObserver);\n    }\n\n    @Override\n    public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {\n        if (Configuration.PREFS_KEY_EXCHANGE_CURRENCY.equals(key))\n            onChange();\n    }\n\n    private void onChange() {\n        AsyncTask.execute(() -> {\n            final String currencyCode = config.getExchangeCurrencyCode();\n            final ExchangeRateEntry exchangeRate = dao.findByCurrencyCode(currencyCode);\n            postValue(exchangeRate);\n        });\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/ThrottelingLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.os.Handler;\nimport androidx.annotation.MainThread;\nimport androidx.lifecycle.LiveData;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class ThrottelingLiveData<T> extends LiveData<T> {\n    private final long throttleMs;\n    private final Handler handler = new Handler();\n    private long lastMessageMs;\n    private static final long DEFAULT_THROTTLE_MS = 1000;\n\n    public ThrottelingLiveData() {\n        this(DEFAULT_THROTTLE_MS);\n    }\n\n    public ThrottelingLiveData(final long throttleMs) {\n        this.throttleMs = throttleMs;\n    }\n\n    @Override\n    protected void onInactive() {\n        super.onInactive();\n        handler.removeCallbacksAndMessages(null);\n    }\n\n    @MainThread\n    protected void triggerLoad() {\n        handler.removeCallbacksAndMessages(null);\n        final Runnable runnable = () -> {\n            lastMessageMs = System.currentTimeMillis();\n            load();\n        };\n        final long lastMessageAgoMs = System.currentTimeMillis() - lastMessageMs;\n        if (lastMessageAgoMs < throttleMs)\n            handler.postDelayed(runnable, throttleMs - lastMessageAgoMs);\n        else\n            runnable.run(); // immediately\n    }\n\n    @MainThread\n    protected void load() {\n        // do nothing by default\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/TimeLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.content.BroadcastReceiver;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport androidx.lifecycle.LiveData;\nimport de.schildbach.wallet.WalletApplication;\n\nimport java.util.Date;\n\n/**\n * @author Andreas Schildbach\n */\npublic class TimeLiveData extends LiveData<Date> {\n    private final WalletApplication application;\n\n    public TimeLiveData(final WalletApplication application) {\n        this.application = application;\n    }\n\n    @Override\n    protected void onActive() {\n        application.registerReceiver(tickReceiver, new IntentFilter(Intent.ACTION_TIME_TICK));\n        setValue(new Date());\n    }\n\n    @Override\n    protected void onInactive() {\n        application.unregisterReceiver(tickReceiver);\n    }\n\n    private final BroadcastReceiver tickReceiver = new BroadcastReceiver() {\n        @Override\n        public void onReceive(final Context context, final Intent intent) {\n            setValue(new Date());\n        }\n    };\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/TransactionLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.app.Application;\nimport android.media.RingtoneManager;\nimport android.net.Uri;\nimport android.os.Handler;\nimport androidx.lifecycle.LiveData;\nimport de.schildbach.wallet.WalletApplication;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionConfidence;\n\n/**\n * @author Andreas Schildbach\n */\npublic class TransactionLiveData extends LiveData<Transaction> implements TransactionConfidence.Listener {\n    private final Application application;\n    private final Handler handler = new Handler();\n    private boolean listening = false;\n\n    public TransactionLiveData(final WalletApplication application) {\n        this.application = application;\n    }\n\n    @Override\n    protected void onActive() {\n        maybeAddEventListener(getValue());\n    }\n\n    @Override\n    protected void onInactive() {\n        maybeRemoveEventListener(getValue());\n    }\n\n    @Override\n    public void setValue(final Transaction newTransaction) {\n        final Transaction oldTransaction = getValue();\n        maybeRemoveEventListener(oldTransaction);\n        super.setValue(newTransaction);\n        maybeAddEventListener(newTransaction);\n    }\n\n    private void maybeAddEventListener(final Transaction transaction) {\n        if (!listening && transaction != null && hasActiveObservers()) {\n            transaction.getConfidence().addEventListener(this);\n            listening = true;\n        }\n    }\n\n    private void maybeRemoveEventListener(final Transaction transaction) {\n        if (listening && transaction != null) {\n            transaction.getConfidence().removeEventListener(this);\n            listening = false;\n        }\n    }\n\n    @Override\n    public void onConfidenceChanged(final TransactionConfidence confidence, final ChangeReason reason) {\n        handler.post(() -> {\n            // trigger change\n            super.setValue(super.getValue());\n\n            // play sound effect\n            final TransactionConfidence.ConfidenceType confidenceType = confidence.getConfidenceType();\n            if (reason == ChangeReason.SEEN_PEERS && confidenceType == TransactionConfidence.ConfidenceType.PENDING) {\n                final int numBroadcastPeers = confidence.numBroadcastPeers();\n                final int soundResId =\n                        application.getResources().getIdentifier(\"send_coins_broadcast_\" + numBroadcastPeers, \"raw\",\n                                application.getPackageName());\n                if (soundResId > 0)\n                    RingtoneManager.getRingtone(application,\n                            Uri.parse(\"android.resource://\" + application.getPackageName() + \"/\" + soundResId)).play();\n            }\n        });\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/WalletBalanceLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.os.AsyncTask;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.Wallet.BalanceType;\nimport org.bitcoinj.wallet.listeners.WalletChangeEventListener;\nimport org.bitcoinj.wallet.listeners.WalletCoinsReceivedEventListener;\nimport org.bitcoinj.wallet.listeners.WalletCoinsSentEventListener;\nimport org.bitcoinj.wallet.listeners.WalletReorganizeEventListener;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class WalletBalanceLiveData extends AbstractWalletLiveData<Coin>\n        implements OnSharedPreferenceChangeListener {\n    private final BalanceType balanceType;\n    private final Configuration config;\n\n    public WalletBalanceLiveData(final WalletApplication application, final BalanceType balanceType) {\n        super(application);\n        this.balanceType = balanceType;\n        this.config = application.getConfiguration();\n    }\n\n    public WalletBalanceLiveData(final WalletApplication application) {\n        this(application, BalanceType.ESTIMATED);\n    }\n\n    @Override\n    protected void onWalletActive(final Wallet wallet) {\n        addWalletListener(wallet);\n        config.registerOnSharedPreferenceChangeListener(this);\n        load();\n    }\n\n    @Override\n    protected void onWalletInactive(final Wallet wallet) {\n        config.unregisterOnSharedPreferenceChangeListener(this);\n        removeWalletListener(wallet);\n    }\n\n    private void addWalletListener(final Wallet wallet) {\n        wallet.addCoinsReceivedEventListener(Threading.SAME_THREAD, walletListener);\n        wallet.addCoinsSentEventListener(Threading.SAME_THREAD, walletListener);\n        wallet.addReorganizeEventListener(Threading.SAME_THREAD, walletListener);\n        wallet.addChangeEventListener(Threading.SAME_THREAD, walletListener);\n    }\n\n    private void removeWalletListener(final Wallet wallet) {\n        wallet.removeChangeEventListener(walletListener);\n        wallet.removeReorganizeEventListener(walletListener);\n        wallet.removeCoinsSentEventListener(walletListener);\n        wallet.removeCoinsReceivedEventListener(walletListener);\n    }\n\n    @Override\n    protected void load() {\n        final Wallet wallet = getWallet();\n        AsyncTask.execute(() -> {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n            postValue(wallet.getBalance(balanceType));\n        });\n    }\n\n    private final WalletListener walletListener = new WalletListener();\n\n    private class WalletListener implements WalletCoinsReceivedEventListener, WalletCoinsSentEventListener,\n            WalletReorganizeEventListener, WalletChangeEventListener {\n        @Override\n        public void onCoinsReceived(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                final Coin newBalance) {\n            triggerLoad();\n        }\n\n        @Override\n        public void onCoinsSent(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                final Coin newBalance) {\n            triggerLoad();\n        }\n\n        @Override\n        public void onReorganize(final Wallet wallet) {\n            triggerLoad();\n        }\n\n        @Override\n        public void onWalletChanged(final Wallet wallet) {\n            triggerLoad();\n        }\n    }\n\n    @Override\n    public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {\n        if (Configuration.PREFS_KEY_BTC_PRECISION.equals(key))\n            load();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/data/WalletLiveData.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.data;\n\nimport de.schildbach.wallet.WalletApplication;\nimport org.bitcoinj.wallet.Wallet;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletLiveData extends AbstractWalletLiveData<Wallet> {\n    public WalletLiveData(final WalletApplication application) {\n        super(application, 0);\n    }\n\n    @Override\n    protected void onWalletActive(final Wallet wallet) {\n        postValue(wallet);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/exchangerate/CoinGecko.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.exchangerate;\n\nimport com.squareup.moshi.Json;\nimport com.squareup.moshi.JsonAdapter;\nimport com.squareup.moshi.Moshi;\nimport okhttp3.HttpUrl;\nimport okhttp3.MediaType;\nimport okio.BufferedSource;\nimport org.bitcoinj.utils.ExchangeRate;\nimport org.bitcoinj.utils.Fiat;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.math.BigDecimal;\nimport java.math.RoundingMode;\nimport java.text.DecimalFormat;\nimport java.text.DecimalFormatSymbols;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Locale;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class CoinGecko {\n    private static final HttpUrl URL = HttpUrl.parse(\"https://api.coingecko.com/api/v3/exchange_rates\");\n    private static final MediaType MEDIA_TYPE = MediaType.get(\"application/json\");\n    private static final String SOURCE = \"CoinGecko.com\";\n\n    private static final Logger log = LoggerFactory.getLogger(CoinGecko.class);\n\n    private final Moshi moshi;\n\n    public CoinGecko(final Moshi moshi) {\n        this.moshi = moshi;\n    }\n\n    public MediaType mediaType() {\n        return MEDIA_TYPE;\n    }\n\n    public HttpUrl url() {\n        return URL;\n    }\n\n    public List<ExchangeRateEntry> parse(final BufferedSource jsonSource, double conv) throws IOException {\n        final JsonAdapter<Response> jsonAdapter = moshi.adapter(Response.class);\n        final Response jsonResponse = jsonAdapter.fromJson(jsonSource);\n        final List<ExchangeRateEntry> result = new ArrayList<>(jsonResponse.rates.size());\n        for (Map.Entry<String, ExchangeRateJson> entry : jsonResponse.rates.entrySet()) {\n            final String symbol = entry.getKey().toUpperCase(Locale.US);\n            final ExchangeRateJson exchangeRate = entry.getValue();\n            if (exchangeRate.type == Type.FIAT) {\n                try {\n                    final String rate = exchangeRate.value;\n                    final double btcRate = Double.parseDouble(Fiat.parseFiatInexact(symbol, rate).toPlainString());\n                    DecimalFormat df = new DecimalFormat(\"#.########\");\n                    df.setRoundingMode(RoundingMode.HALF_UP);\n                    DecimalFormatSymbols dfs = new DecimalFormatSymbols();\n                    dfs.setDecimalSeparator('.');\n                    dfs.setGroupingSeparator(',');\n                    df.setDecimalFormatSymbols(dfs);\n                    final Fiat dogeRate = Fiat.parseFiatInexact(symbol, df.format(btcRate*conv));\n\n                    if (dogeRate.signum() > 0)\n                        result.add(new ExchangeRateEntry(SOURCE, new ExchangeRate(dogeRate)));\n                } catch (final ArithmeticException x) {\n                    log.warn(\"problem parsing {} exchange rate from {}: {}\", symbol, URL, x.getMessage());\n                }\n            }\n        }\n        return result;\n    }\n\n    private enum Type {\n        @Json(name = \"crypto\")\n        CRYPTO,\n        @Json(name = \"fiat\")\n        FIAT,\n        @Json(name = \"commodity\")\n        COMMODITY\n    }\n\n    private static class Response {\n        public Map<String, ExchangeRateJson> rates;\n    }\n\n    private static class ExchangeRateJson {\n        public String name;\n        public String unit;\n        public String value;\n        public Type type;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/exchangerate/ExchangeRateDao.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.exchangerate;\n\nimport androidx.lifecycle.LiveData;\nimport androidx.room.Dao;\nimport androidx.room.Insert;\nimport androidx.room.OnConflictStrategy;\nimport androidx.room.Query;\n\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\n@Dao\npublic interface ExchangeRateDao {\n    @Insert(onConflict = OnConflictStrategy.REPLACE)\n    void insertOrUpdate(ExchangeRateEntry exchangeRateEntry);\n\n    @Query(\"SELECT * FROM exchange_rates ORDER BY currency_code COLLATE LOCALIZED ASC\")\n    LiveData<List<ExchangeRateEntry>> findAll();\n\n    @Query(\"SELECT * FROM exchange_rates WHERE currency_code LIKE '%' || :constraint || '%' ORDER BY currency_code \" +\n            \"COLLATE LOCALIZED ASC\")\n    LiveData<List<ExchangeRateEntry>> findByConstraint(String constraint);\n\n    @Query(\"SELECT * FROM exchange_rates WHERE currency_code = :currencyCode\")\n    ExchangeRateEntry findByCurrencyCode(String currencyCode);\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/exchangerate/ExchangeRateEntry.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.exchangerate;\n\nimport androidx.annotation.NonNull;\nimport androidx.room.ColumnInfo;\nimport androidx.room.Entity;\nimport androidx.room.Index;\nimport androidx.room.PrimaryKey;\nimport androidx.room.TypeConverter;\nimport androidx.room.TypeConverters;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.utils.ExchangeRate;\nimport org.bitcoinj.utils.Fiat;\n\nimport java.util.Date;\n\n/**\n * @author Andreas Schildbach\n */\n@Entity(tableName = ExchangeRateEntry.TABLE_NAME, indices = { @Index(value = { \"source\", \"currency_code\" },\n        unique = true) })\npublic final class ExchangeRateEntry {\n    public static final String TABLE_NAME = \"exchange_rates\";\n\n    @PrimaryKey(autoGenerate = true)\n    @ColumnInfo(name = \"id\")\n    private long id;\n\n    @NonNull\n    @ColumnInfo(name = \"source\")\n    private String source;\n\n    @NonNull\n    @ColumnInfo(name = \"currency_code\")\n    private String currencyCode;\n\n    @NonNull\n    @ColumnInfo(name = \"rate_timestamp\")\n    @TypeConverters({ DateConverters.class })\n    private Date rateTimeStamp;\n\n    @ColumnInfo(name = \"rate_coin\")\n    private long rateCoin;\n\n    @ColumnInfo(name = \"rate_fiat\")\n    private long rateFiat;\n\n    public ExchangeRateEntry(final long id, @NonNull final String source, @NonNull final String currencyCode,\n                             @NonNull final Date rateTimeStamp, final long rateCoin, final long rateFiat) {\n        this.id = id;\n        this.source = source;\n        this.currencyCode = currencyCode;\n        this.rateTimeStamp = rateTimeStamp;\n        this.rateCoin = rateCoin;\n        this.rateFiat = rateFiat;\n    }\n\n    public ExchangeRateEntry(final String source, final ExchangeRate exchangeRate) {\n        this.source = source;\n        this.currencyCode = exchangeRate.fiat.currencyCode;\n        this.rateTimeStamp = new Date();\n        this.rateCoin = exchangeRate.coin.value;\n        this.rateFiat = exchangeRate.fiat.value;\n    }\n\n    public long getId() {\n        return id;\n    }\n\n    @NonNull\n    public String getSource() {\n        return source;\n    }\n\n    @NonNull\n    public String getCurrencyCode() {\n        return currencyCode;\n    }\n\n    @NonNull\n    public Date getRateTimeStamp() {\n        return rateTimeStamp;\n    }\n\n    public long getRateCoin() {\n        return rateCoin;\n    }\n\n    public long getRateFiat() {\n        return rateFiat;\n    }\n\n    @NonNull\n    public Coin coin() {\n        return Coin.valueOf(rateCoin);\n    }\n\n    @NonNull\n    public Fiat fiat() {\n        return Fiat.valueOf(currencyCode, rateFiat);\n    }\n\n    @NonNull\n    public ExchangeRate exchangeRate() {\n        return new ExchangeRate(coin(), fiat());\n    }\n\n    @Override\n    public String toString() {\n        final StringBuilder builder = new StringBuilder();\n        builder.append(getClass().getSimpleName());\n        builder.append('[');\n        builder.append(fiat().toFriendlyString());\n        builder.append(\" per \");\n        builder.append(coin().toFriendlyString());\n        builder.append(']');\n        return builder.toString();\n    }\n\n    public static final class DateConverters {\n        @TypeConverter\n        public static Date millisToDate(final long millis) {\n            return new Date(millis);\n        }\n\n        @TypeConverter\n        public static long dateToMillis(final Date date) {\n            return date.getTime();\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/exchangerate/ExchangeRatesDatabase.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.exchangerate;\n\nimport android.content.Context;\nimport androidx.room.Database;\nimport androidx.room.Room;\nimport androidx.room.RoomDatabase;\n\n/**\n * @author Andreas Schildbach\n */\n@Database(entities = { ExchangeRateEntry.class }, version = 1, exportSchema = false)\npublic abstract class ExchangeRatesDatabase extends RoomDatabase {\n    private static final String DATABASE_NAME = \"exchange_rates\";\n    private static ExchangeRatesDatabase INSTANCE;\n\n    public static ExchangeRatesDatabase getDatabase(final Context context) {\n        if (INSTANCE == null) {\n            synchronized (ExchangeRatesDatabase.class) {\n                if (INSTANCE == null) {\n                    INSTANCE = Room.databaseBuilder(context.getApplicationContext(), ExchangeRatesDatabase.class,\n                            DATABASE_NAME)\n                            .build();\n                }\n            }\n        }\n        return INSTANCE;\n    }\n\n    public abstract ExchangeRateDao exchangeRateDao();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/exchangerate/ExchangeRatesRepository.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.exchangerate;\n\nimport android.text.format.DateUtils;\nimport androidx.room.InvalidationTracker;\nimport com.google.common.base.Stopwatch;\nimport com.squareup.moshi.Moshi;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport okhttp3.Call;\nimport okhttp3.Callback;\nimport okhttp3.ConnectionSpec;\nimport okhttp3.Headers;\nimport okhttp3.OkHttpClient;\nimport okhttp3.Request;\nimport okhttp3.Response;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.math.BigDecimal;\nimport java.util.Collections;\nimport java.util.Map;\nimport java.util.concurrent.atomic.AtomicLong;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ExchangeRatesRepository {\n    private static ExchangeRatesRepository INSTANCE;\n\n    private static final long UPDATE_FREQ_MS = 10 * DateUtils.MINUTE_IN_MILLIS;\n    private static final Logger log = LoggerFactory.getLogger(ExchangeRatesRepository.class);\n\n    private final WalletApplication application;\n    private final Configuration config;\n    private final String userAgent;\n    private final ExchangeRatesDatabase db;\n    private final ExchangeRateDao dao;\n    private final AtomicLong lastUpdated = new AtomicLong(0);\n\n    public synchronized static ExchangeRatesRepository get(final WalletApplication application) {\n        if (!Constants.ENABLE_EXCHANGE_RATES)\n            return null;\n        if (INSTANCE == null)\n            INSTANCE = new ExchangeRatesRepository(application);\n        return INSTANCE;\n    }\n\n    public ExchangeRatesRepository(final WalletApplication application) {\n        this.application = application;\n        this.config = application.getConfiguration();\n        this.userAgent = WalletApplication.httpUserAgent(application.packageInfo().versionName);\n\n        this.db = ExchangeRatesDatabase.getDatabase(application);\n        this.dao = db.exchangeRateDao();\n    }\n\n    public ExchangeRateDao exchangeRateDao() {\n        maybeRequestExchangeRates();\n        return dao;\n    }\n\n    public InvalidationTracker exchangeRateInvalidationTracker() {\n        return db.getInvalidationTracker();\n    }\n\n    private void requestDogeBtcConversion(DogeConversionCallback cb) {\n        final Request.Builder request = new Request.Builder();\n        request.url(\"https://api.coingecko.com/api/v3/simple/price?ids=dogecoin&vs_currencies=btc\");\n        final Headers.Builder headers = new Headers.Builder();\n        headers.add(\"User-Agent\", userAgent);\n        headers.add(\"Accept\", \"application/json\");\n        request.headers(headers.build());\n\n        final OkHttpClient.Builder httpClientBuilder = Constants.HTTP_CLIENT.newBuilder();\n        httpClientBuilder.connectionSpecs(Collections.singletonList(ConnectionSpec.RESTRICTED_TLS));\n        final Call call = httpClientBuilder.build().newCall(request.build());\n        call.enqueue(new Callback() {\n            @Override\n            public void onFailure(Call call, IOException e) {\n                log.warn(\"problem fetching doge btc conversion\", e);\n            }\n\n            @Override\n            public void onResponse(Call call, Response response) throws IOException {\n                try {\n                    if (response.isSuccessful()) {\n                        log.info(\"fetched doge btc conversion\");\n                        double conv = new Moshi.Builder().build().adapter(DogeBtcConversionResponse.class).fromJson(response.body().source()).dogecoin.btc;\n                        cb.done(conv);\n                    } else {\n                        log.warn(\"http status {} {} when fetching doge btc conversion\", response.code(), response.message());\n                    }\n                } catch (final Exception x) {\n                    log.warn(\"problem fetching doge btc conversion\", x);\n                }\n            }\n        });\n    }\n\n    private static class DogeBtcConversionResponse {\n        public DogeBtcConversionEntry dogecoin;\n    }\n\n    private static class DogeBtcConversionEntry {\n        public double btc;\n    }\n\n    private interface DogeConversionCallback {\n        void done(double conv);\n    }\n\n    private void maybeRequestExchangeRates() {\n        final Stopwatch watch = Stopwatch.createStarted();\n        final long now = System.currentTimeMillis();\n\n        final long lastUpdated = this.lastUpdated.get();\n        if (lastUpdated != 0 && now - lastUpdated <= UPDATE_FREQ_MS)\n            return;\n\n        requestDogeBtcConversion(conv -> {\n            final CoinGecko coinGecko = new CoinGecko(new Moshi.Builder().build());\n            final Request.Builder request = new Request.Builder();\n            request.url(coinGecko.url());\n            final Headers.Builder headers = new Headers.Builder();\n            headers.add(\"User-Agent\", userAgent);\n            headers.add(\"Accept\", coinGecko.mediaType().toString());\n            request.headers(headers.build());\n\n            final OkHttpClient.Builder httpClientBuilder = Constants.HTTP_CLIENT.newBuilder();\n            httpClientBuilder.connectionSpecs(Collections.singletonList(ConnectionSpec.RESTRICTED_TLS));\n            final Call call = httpClientBuilder.build().newCall(request.build());\n            call.enqueue(new Callback() {\n                @Override\n                public void onResponse(final Call call, final Response response) throws IOException {\n                    try {\n                        if (response.isSuccessful()) {\n                            for (final ExchangeRateEntry exchangeRate : coinGecko.parse(response.body().source(), conv))\n                                dao.insertOrUpdate(exchangeRate);\n                            ExchangeRatesRepository.this.lastUpdated.set(now);\n                            watch.stop();\n                            log.info(\"fetched exchange rates from {}, took {}\", coinGecko.url(), watch);\n                        } else {\n                            log.warn(\"http status {} {} when fetching exchange rates from {}\", response.code(),\n                                    response.message(), coinGecko.url());\n                        }\n                    } catch (final Exception x) {\n                        log.warn(\"problem fetching exchange rates from \" + coinGecko.url(), x);\n                    }\n                }\n\n                @Override\n                public void onFailure(final Call call, final IOException x) {\n                    log.warn(\"problem fetching exchange rates from \" + coinGecko.url(), x);\n                }\n            });\n        });\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/offline/AcceptBluetoothService.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.offline;\n\nimport android.bluetooth.BluetoothAdapter;\nimport android.content.BroadcastReceiver;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.os.Handler;\nimport android.os.IBinder;\nimport android.os.PowerManager;\nimport android.os.PowerManager.WakeLock;\nimport android.text.format.DateUtils;\nimport androidx.core.app.NotificationCompat;\nimport androidx.lifecycle.LifecycleService;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.BlockchainServiceLiveData;\nimport de.schildbach.wallet.data.WalletLiveData;\nimport de.schildbach.wallet.util.CrashReporter;\nimport de.schildbach.wallet.util.Toast;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.VerificationException;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\n\nimport static androidx.core.util.Preconditions.checkNotNull;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class AcceptBluetoothService extends LifecycleService {\n    private WalletApplication application;\n    private WalletLiveData wallet;\n    private WakeLock wakeLock;\n    private AcceptBluetoothThread classicThread;\n    private AcceptBluetoothThread paymentProtocolThread;\n\n    private long serviceCreatedAt;\n\n    private final Handler handler = new Handler();\n\n    private static final long TIMEOUT_MS = 5 * DateUtils.MINUTE_IN_MILLIS;\n\n    private static final Logger log = LoggerFactory.getLogger(AcceptBluetoothService.class);\n\n    @Override\n    public IBinder onBind(final Intent intent) {\n        super.onBind(intent);\n        return null;\n    }\n\n    @Override\n    public int onStartCommand(final Intent intent, final int flags, final int startId) {\n        super.onStartCommand(intent, flags, startId);\n\n        handler.removeCallbacks(timeoutRunnable);\n        handler.postDelayed(timeoutRunnable, TIMEOUT_MS);\n\n        return START_NOT_STICKY;\n    }\n\n    @Override\n    public void onCreate() {\n        serviceCreatedAt = System.currentTimeMillis();\n        log.debug(\".onCreate()\");\n\n        super.onCreate();\n        this.application = (WalletApplication) getApplication();\n        final BluetoothAdapter bluetoothAdapter = checkNotNull(BluetoothAdapter.getDefaultAdapter());\n        final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);\n\n        wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());\n        wakeLock.acquire();\n\n        final NotificationCompat.Builder notification = new NotificationCompat.Builder(this,\n                Constants.NOTIFICATION_CHANNEL_ID_ONGOING);\n        notification.setColor(getColor(R.color.fg_network_significant));\n        notification.setSmallIcon(R.drawable.stat_notify_bluetooth_24dp);\n        notification.setContentTitle(getString(R.string.notification_bluetooth_service_listening));\n        notification.setWhen(System.currentTimeMillis());\n        notification.setOngoing(true);\n        notification.setPriority(NotificationCompat.PRIORITY_LOW);\n        startForeground(Constants.NOTIFICATION_ID_BLUETOOTH, notification.build());\n\n        registerReceiver(bluetoothStateChangeReceiver, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));\n\n        try {\n            classicThread = new AcceptBluetoothThread.ClassicBluetoothThread(bluetoothAdapter) {\n                @Override\n                public boolean handleTx(final Transaction tx) {\n                    return AcceptBluetoothService.this.handleTx(tx);\n                }\n            };\n            paymentProtocolThread = new AcceptBluetoothThread.PaymentProtocolThread(bluetoothAdapter) {\n                @Override\n                public boolean handleTx(final Transaction tx) {\n                    return AcceptBluetoothService.this.handleTx(tx);\n                }\n            };\n        } catch (final IOException x) {\n            new Toast(this).longToast(R.string.error_bluetooth, x.getMessage());\n            log.warn(\"problem with listening, stopping service\", x);\n            CrashReporter.saveBackgroundTrace(x, application.packageInfo());\n            stopSelf();\n        }\n\n        wallet = new WalletLiveData(application);\n        wallet.observe(this, wallet -> {\n            classicThread.start();\n            paymentProtocolThread.start();\n        });\n    }\n\n    private boolean handleTx(final Transaction tx) {\n        log.info(\"tx {} arrived via blueooth\", tx.getTxId());\n\n        final Wallet wallet = this.wallet.getValue();\n        try {\n            if (wallet.isTransactionRelevant(tx)) {\n                wallet.receivePending(tx, null);\n                new BlockchainServiceLiveData(this).observe(this,\n                        blockchainService -> blockchainService.broadcastTransaction(tx));\n            } else {\n                log.info(\"tx {} irrelevant\", tx.getTxId());\n            }\n\n            return true;\n        } catch (final VerificationException x) {\n            log.info(\"cannot verify tx \" + tx.getTxId() + \" received via bluetooth\", x);\n        }\n\n        return false;\n    }\n\n    @Override\n    public void onDestroy() {\n        if (paymentProtocolThread != null)\n            paymentProtocolThread.stopAccepting();\n        if (classicThread != null)\n            classicThread.stopAccepting();\n\n        unregisterReceiver(bluetoothStateChangeReceiver);\n\n        wakeLock.release();\n\n        handler.removeCallbacksAndMessages(null);\n\n        super.onDestroy();\n\n        log.info(\"service was up for \" + ((System.currentTimeMillis() - serviceCreatedAt) / 1000 / 60) + \" minutes\");\n    }\n\n    private final BroadcastReceiver bluetoothStateChangeReceiver = new BroadcastReceiver() {\n        @Override\n        public void onReceive(final Context context, final Intent intent) {\n            final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, 0);\n\n            if (state == BluetoothAdapter.STATE_TURNING_OFF || state == BluetoothAdapter.STATE_OFF) {\n                log.info(\"bluetooth was turned off, stopping service\");\n\n                stopSelf();\n            }\n        }\n    };\n\n    private final Runnable timeoutRunnable = () -> {\n        log.info(\"timeout expired, stopping service\");\n\n        stopSelf();\n    };\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/offline/AcceptBluetoothThread.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.offline;\n\nimport android.bluetooth.BluetoothAdapter;\nimport android.bluetooth.BluetoothServerSocket;\nimport android.bluetooth.BluetoothSocket;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.util.Bluetooth;\nimport org.bitcoin.protocols.payments.Protos;\nimport org.bitcoin.protocols.payments.Protos.PaymentACK;\nimport org.bitcoinj.core.ProtocolException;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.DataInputStream;\nimport java.io.DataOutputStream;\nimport java.io.IOException;\nimport java.util.concurrent.atomic.AtomicBoolean;\n\n/**\n * @author Shahar Livne\n * @author Andreas Schildbach\n */\npublic abstract class AcceptBluetoothThread extends Thread {\n    protected final BluetoothServerSocket listeningSocket;\n    protected final AtomicBoolean running = new AtomicBoolean(true);\n\n    protected static final Logger log = LoggerFactory.getLogger(AcceptBluetoothThread.class);\n\n    private AcceptBluetoothThread(final BluetoothServerSocket listeningSocket) {\n        this.listeningSocket = listeningSocket;\n    }\n\n    public static abstract class ClassicBluetoothThread extends AcceptBluetoothThread {\n        public ClassicBluetoothThread(final BluetoothAdapter adapter) throws IOException {\n            super(adapter.listenUsingInsecureRfcommWithServiceRecord(Bluetooth.CLASSIC_PAYMENT_PROTOCOL_NAME,\n                    Bluetooth.CLASSIC_PAYMENT_PROTOCOL_UUID));\n        }\n\n        @Override\n        public void run() {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n\n            while (running.get()) {\n                try ( // start a blocking call, and return only on success or exception\n                        final BluetoothSocket socket = listeningSocket.accept();\n                        final DataInputStream is = new DataInputStream(socket.getInputStream());\n                        final DataOutputStream os = new DataOutputStream(socket.getOutputStream())) {\n                    log.info(\"accepted classic bluetooth connection\");\n\n                    boolean ack = true;\n\n                    final int numMessages = is.readInt();\n\n                    for (int i = 0; i < numMessages; i++) {\n                        final int msgLength = is.readInt();\n                        final byte[] msg = new byte[msgLength];\n                        is.readFully(msg);\n\n                        try {\n                            final Transaction tx = new Transaction(Constants.NETWORK_PARAMETERS, msg);\n\n                            if (!handleTx(tx))\n                                ack = false;\n                        } catch (final ProtocolException x) {\n                            log.info(\"cannot decode message received via bluetooth\", x);\n                            ack = false;\n                        }\n                    }\n\n                    os.writeBoolean(ack);\n                } catch (final IOException x) {\n                    log.info(\"exception in bluetooth accept loop\", x);\n                }\n            }\n        }\n    }\n\n    public static abstract class PaymentProtocolThread extends AcceptBluetoothThread {\n        public PaymentProtocolThread(final BluetoothAdapter adapter) throws IOException {\n            super(adapter.listenUsingInsecureRfcommWithServiceRecord(Bluetooth.BIP70_PAYMENT_PROTOCOL_NAME,\n                    Bluetooth.BIP70_PAYMENT_PROTOCOL_UUID));\n        }\n\n        @Override\n        public void run() {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n\n            while (running.get()) {\n                try ( // start a blocking call, and return only on success or exception\n                        final BluetoothSocket socket = listeningSocket.accept();\n                        final DataInputStream is = new DataInputStream(socket.getInputStream());\n                        final DataOutputStream os = new DataOutputStream(socket.getOutputStream())) {\n                    log.info(\"accepted payment protocol bluetooth connection\");\n\n                    boolean ack = true;\n\n                    final Protos.Payment payment = Protos.Payment.parseDelimitedFrom(is);\n\n                    log.debug(\"got payment message\");\n\n                    for (final Transaction tx : PaymentProtocol\n                            .parseTransactionsFromPaymentMessage(Constants.NETWORK_PARAMETERS, payment)) {\n                        if (!handleTx(tx))\n                            ack = false;\n                    }\n\n                    final String memo = ack ? \"ack\" : \"nack\";\n\n                    log.info(\"sending {} via bluetooth\", memo);\n\n                    final PaymentACK paymentAck = PaymentProtocol.createPaymentAck(payment, memo);\n                    paymentAck.writeDelimitedTo(os);\n                } catch (final IOException x) {\n                    log.info(\"exception in bluetooth accept loop\", x);\n                }\n            }\n        }\n    }\n\n    public void stopAccepting() {\n        running.set(false);\n\n        try {\n            listeningSocket.close();\n        } catch (final IOException x) {\n            // swallow\n        }\n    }\n\n    protected abstract boolean handleTx(Transaction tx);\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/offline/DirectPaymentTask.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.offline;\n\nimport android.bluetooth.BluetoothAdapter;\nimport android.bluetooth.BluetoothDevice;\nimport android.bluetooth.BluetoothSocket;\nimport android.os.Handler;\nimport android.os.Looper;\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.util.Bluetooth;\nimport okhttp3.CacheControl;\nimport okhttp3.Call;\nimport okhttp3.Headers;\nimport okhttp3.MediaType;\nimport okhttp3.Request;\nimport okhttp3.RequestBody;\nimport okhttp3.Response;\nimport okio.BufferedSink;\nimport org.bitcoin.protocols.payments.Protos;\nimport org.bitcoin.protocols.payments.Protos.Payment;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.DataInputStream;\nimport java.io.DataOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class DirectPaymentTask {\n    private final Handler backgroundHandler;\n    private final Handler callbackHandler;\n    private final ResultCallback resultCallback;\n\n    private static final Logger log = LoggerFactory.getLogger(DirectPaymentTask.class);\n\n    public interface ResultCallback {\n        void onResult(boolean ack);\n\n        void onFail(int messageResId, Object... messageArgs);\n    }\n\n    public DirectPaymentTask(final Handler backgroundHandler, final ResultCallback resultCallback) {\n        this.backgroundHandler = backgroundHandler;\n        this.callbackHandler = new Handler(Looper.myLooper());\n        this.resultCallback = resultCallback;\n    }\n\n    public final static class HttpPaymentTask extends DirectPaymentTask {\n        private final String url;\n        @Nullable\n        private final String userAgent;\n\n        public HttpPaymentTask(final Handler backgroundHandler, final ResultCallback resultCallback, final String url,\n                @Nullable final String userAgent) {\n            super(backgroundHandler, resultCallback);\n\n            this.url = url;\n            this.userAgent = userAgent;\n        }\n\n        @Override\n        public void send(final Payment payment) {\n            super.backgroundHandler.post(() -> {\n                log.info(\"trying to send tx to {}\", url);\n\n                final Request.Builder request = new Request.Builder();\n                request.url(url);\n                request.cacheControl(new CacheControl.Builder().noCache().build());\n                final Headers.Builder headers = new Headers.Builder();\n                headers.add(\"Accept\", PaymentProtocol.MIMETYPE_PAYMENTACK);\n                if (userAgent != null)\n                    headers.add(\"User-Agent\", userAgent);\n                request.headers(headers.build());\n                request.post(new RequestBody() {\n                    @Override\n                    public MediaType contentType() {\n                        return MediaType.parse(PaymentProtocol.MIMETYPE_PAYMENT);\n                    }\n\n                    @Override\n                    public long contentLength() throws IOException {\n                        return payment.getSerializedSize();\n                    }\n\n                    @Override\n                    public void writeTo(final BufferedSink sink) throws IOException {\n                        payment.writeTo(sink.outputStream());\n                    }\n                });\n\n                final Call call = Constants.HTTP_CLIENT.newCall(request.build());\n                try {\n                    final Response response = call.execute();\n                    if (response.isSuccessful()) {\n                        log.info(\"tx sent via http\");\n\n                        final InputStream is = response.body().byteStream();\n                        final Protos.PaymentACK paymentAck = Protos.PaymentACK.parseFrom(is);\n                        is.close();\n\n                        final boolean ack = !\"nack\".equals(PaymentProtocol.parsePaymentAck(paymentAck).getMemo());\n\n                        log.info(\"received {} via http\", ack ? \"ack\" : \"nack\");\n\n                        onResult(ack);\n                    } else {\n                        final int responseCode = response.code();\n                        final String responseMessage = response.message();\n\n                        log.info(\"got http error {}: {}\", responseCode, responseMessage);\n                        onFail(R.string.error_http, responseCode, responseMessage);\n                    }\n                } catch (final IOException x) {\n                    log.info(\"problem sending\", x);\n\n                    onFail(R.string.error_io, x.getMessage());\n                }\n            });\n        }\n    }\n\n    public final static class BluetoothPaymentTask extends DirectPaymentTask {\n        private final BluetoothAdapter bluetoothAdapter;\n        private final String bluetoothMac;\n\n        public BluetoothPaymentTask(final Handler backgroundHandler, final ResultCallback resultCallback,\n                final BluetoothAdapter bluetoothAdapter, final String bluetoothMac) {\n            super(backgroundHandler, resultCallback);\n\n            this.bluetoothAdapter = bluetoothAdapter;\n            this.bluetoothMac = bluetoothMac;\n        }\n\n        @Override\n        public void send(final Payment payment) {\n            super.backgroundHandler.post(() -> {\n                log.info(\"trying to send tx via bluetooth {}\", bluetoothMac);\n\n                if (payment.getTransactionsCount() != 1)\n                    throw new IllegalArgumentException(\"wrong transactions count\");\n\n                final BluetoothDevice device = bluetoothAdapter\n                        .getRemoteDevice(Bluetooth.decompressMac(bluetoothMac));\n\n                try (final BluetoothSocket socket =\n                             device.createInsecureRfcommSocketToServiceRecord(Bluetooth.BIP70_PAYMENT_PROTOCOL_UUID)) {\n                    socket.connect();\n                    log.info(\"connected to payment protocol {}\", bluetoothMac);\n                    final DataOutputStream os = new DataOutputStream(socket.getOutputStream());\n                    final DataInputStream is = new DataInputStream(socket.getInputStream());\n\n                    payment.writeDelimitedTo(os);\n                    os.flush();\n                    log.info(\"tx sent via bluetooth\");\n\n                    final Protos.PaymentACK paymentAck = Protos.PaymentACK.parseDelimitedFrom(is);\n                    final boolean ack = \"ack\".equals(PaymentProtocol.parsePaymentAck(paymentAck).getMemo());\n                    log.info(\"received {} via bluetooth\", ack ? \"ack\" : \"nack\");\n\n                    onResult(ack);\n                } catch (final IOException x) {\n                    log.info(\"problem sending\", x);\n\n                    onFail(R.string.error_io, x.getMessage());\n                }\n            });\n        }\n    }\n\n    public abstract void send(Payment payment);\n\n    protected void onResult(final boolean ack) {\n        callbackHandler.post(() -> resultCallback.onResult(ack));\n    }\n\n    protected void onFail(final int messageResId, final Object... messageArgs) {\n        callbackHandler.post(() -> resultCallback.onFail(messageResId, messageArgs));\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/service/BlockchainService.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.service;\n\nimport android.app.NotificationManager;\nimport android.app.PendingIntent;\nimport android.content.BroadcastReceiver;\nimport android.content.ComponentCallbacks2;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.content.SharedPreferences;\nimport android.net.ConnectivityManager;\nimport android.net.NetworkInfo;\nimport android.net.Uri;\nimport android.os.Binder;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.IBinder;\nimport android.os.PowerManager;\nimport android.os.PowerManager.WakeLock;\nimport android.os.Process;\nimport android.text.format.DateUtils;\nimport androidx.annotation.MainThread;\nimport androidx.annotation.Nullable;\nimport androidx.core.app.NotificationCompat;\nimport androidx.core.content.ContextCompat;\nimport androidx.lifecycle.LifecycleService;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.Observer;\nimport com.google.common.base.Stopwatch;\nimport com.google.common.net.HostAndPort;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.WalletBalanceWidgetProvider;\nimport de.schildbach.wallet.addressbook.AddressBookDao;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.data.SelectedExchangeRateLiveData;\nimport de.schildbach.wallet.data.WalletBalanceLiveData;\nimport de.schildbach.wallet.data.WalletLiveData;\nimport de.schildbach.wallet.exchangerate.ExchangeRateEntry;\nimport de.schildbach.wallet.service.BlockchainState.Impediment;\nimport de.schildbach.wallet.ui.WalletActivity;\nimport de.schildbach.wallet.ui.preference.ResolveDnsTask;\nimport de.schildbach.wallet.util.CrashReporter;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Block;\nimport org.bitcoinj.core.BlockChain;\nimport org.bitcoinj.core.CheckpointManager;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.FilteredBlock;\nimport org.bitcoinj.core.Peer;\nimport org.bitcoinj.core.PeerAddress;\nimport org.bitcoinj.core.PeerGroup;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.StoredBlock;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionBroadcast;\nimport org.bitcoinj.core.TransactionConfidence.ConfidenceType;\nimport org.bitcoinj.core.Utils;\nimport org.bitcoinj.core.VersionMessage;\nimport org.bitcoinj.core.listeners.AbstractPeerDataEventListener;\nimport org.bitcoinj.core.listeners.PeerConnectedEventListener;\nimport org.bitcoinj.core.listeners.PeerDataEventListener;\nimport org.bitcoinj.core.listeners.PeerDisconnectedEventListener;\nimport org.bitcoinj.store.BlockStore;\nimport org.bitcoinj.store.BlockStoreException;\nimport org.bitcoinj.store.SPVBlockStore;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.listeners.WalletCoinsReceivedEventListener;\nimport org.bitcoinj.wallet.listeners.WalletCoinsSentEventListener;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.net.InetSocketAddress;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.EnumSet;\nimport java.util.LinkedList;\nimport java.util.List;\nimport java.util.Set;\nimport java.util.concurrent.atomic.AtomicBoolean;\nimport java.util.concurrent.atomic.AtomicInteger;\nimport java.util.concurrent.atomic.AtomicLong;\n\nimport static androidx.core.util.Preconditions.checkState;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BlockchainService extends LifecycleService {\n    private PowerManager pm;\n    private NotificationManager nm;\n\n    private WalletApplication application;\n    private Configuration config;\n    private AddressBookDao addressBookDao;\n    private WalletLiveData wallet;\n\n    private BlockStore blockStore;\n    private File blockChainFile;\n    private BlockChain blockChain;\n    @Nullable\n    private PeerGroup peerGroup;\n\n    private final Handler handler = new Handler();\n    private HandlerThread backgroundThread;\n    private Handler backgroundHandler;\n    private final Handler delayHandler = new Handler();\n    private WakeLock wakeLock;\n\n    private final NotificationCompat.Builder connectivityNotification = new NotificationCompat.Builder(BlockchainService.this,\n            Constants.NOTIFICATION_CHANNEL_ID_ONGOING);\n    private PeerConnectivityListener peerConnectivityListener;\n    private ImpedimentsLiveData impediments;\n    private int notificationCount = 0;\n    private Coin notificationAccumulatedAmount = Coin.ZERO;\n    private final List<Address> notificationAddresses = new LinkedList<>();\n    private Stopwatch serviceUpTime;\n    private boolean resetBlockchainOnShutdown = false;\n    private final AtomicBoolean isBound = new AtomicBoolean(false);\n\n    private static final int CONNECTIVITY_NOTIFICATION_PROGRESS_MIN_BLOCKS = 144 * 2; // approx. 2 days\n    private static final long BLOCKCHAIN_STATE_BROADCAST_THROTTLE_MS = DateUtils.SECOND_IN_MILLIS;\n\n    private static final String ACTION_CANCEL_COINS_RECEIVED = BlockchainService.class.getPackage().getName()\n            + \".cancel_coins_received\";\n    private static final String ACTION_RESET_BLOCKCHAIN = BlockchainService.class.getPackage().getName()\n            + \".reset_blockchain\";\n\n    private static final Logger log = LoggerFactory.getLogger(BlockchainService.class);\n\n    public static void start(final Context context, final boolean cancelCoinsReceived) {\n        if (cancelCoinsReceived)\n            ContextCompat.startForegroundService(context,\n                    new Intent(BlockchainService.ACTION_CANCEL_COINS_RECEIVED, null, context, BlockchainService.class));\n        else\n            ContextCompat.startForegroundService(context, new Intent(context, BlockchainService.class));\n    }\n\n    public static void resetBlockchain(final Context context) {\n        // implicitly stops blockchain service\n        ContextCompat.startForegroundService(context,\n                new Intent(BlockchainService.ACTION_RESET_BLOCKCHAIN, null, context, BlockchainService.class));\n    }\n\n    private static class NewTransactionLiveData extends LiveData<Transaction> {\n        private final Wallet wallet;\n\n        public NewTransactionLiveData(final Wallet wallet) {\n            this.wallet = wallet;\n        }\n\n        @Override\n        protected void onActive() {\n            wallet.addCoinsReceivedEventListener(Threading.SAME_THREAD, walletListener);\n            wallet.addCoinsSentEventListener(Threading.SAME_THREAD, walletListener);\n        }\n\n        @Override\n        protected void onInactive() {\n            wallet.removeCoinsSentEventListener(walletListener);\n            wallet.removeCoinsReceivedEventListener(walletListener);\n        }\n\n        private final WalletListener walletListener = new WalletListener();\n\n        private class WalletListener implements WalletCoinsReceivedEventListener, WalletCoinsSentEventListener {\n            @Override\n            public void onCoinsReceived(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                    final Coin newBalance) {\n                postValue(tx);\n            }\n\n            @Override\n            public void onCoinsSent(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                    final Coin newBalance) {\n                postValue(tx);\n            }\n        }\n    }\n\n    private void notifyCoinsReceived(@Nullable final Address address, final Coin amount,\n            final Sha256Hash transactionHash) {\n        notificationCount++;\n        notificationAccumulatedAmount = notificationAccumulatedAmount.add(amount);\n        if (address != null && !notificationAddresses.contains(address))\n            notificationAddresses.add(address);\n\n        final MonetaryFormat btcFormat = config.getFormat();\n        final String packageFlavor = application.applicationPackageFlavor();\n        final String msgSuffix = packageFlavor != null ? \" [\" + packageFlavor + \"]\" : \"\";\n\n        // summary notification\n        final NotificationCompat.Builder summaryNotification = new NotificationCompat.Builder(this,\n                Constants.NOTIFICATION_CHANNEL_ID_RECEIVED);\n        summaryNotification.setGroup(Constants.NOTIFICATION_GROUP_KEY_RECEIVED);\n        summaryNotification.setGroupSummary(true);\n        summaryNotification.setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN);\n        summaryNotification.setWhen(System.currentTimeMillis());\n        summaryNotification.setSmallIcon(R.drawable.stat_notify_received_24dp);\n        summaryNotification.setContentTitle(\n                getString(R.string.notification_coins_received_msg, btcFormat.format(notificationAccumulatedAmount))\n                        + msgSuffix);\n        if (!notificationAddresses.isEmpty()) {\n            final StringBuilder text = new StringBuilder();\n            for (final Address notificationAddress : notificationAddresses) {\n                if (text.length() > 0)\n                    text.append(\", \");\n                final String addressStr = notificationAddress.toString();\n                final String label = addressBookDao.resolveLabel(addressStr);\n                text.append(label != null ? label : addressStr);\n            }\n            summaryNotification.setContentText(text);\n        }\n        summaryNotification\n                .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, WalletActivity.class), 0));\n        nm.notify(Constants.NOTIFICATION_ID_COINS_RECEIVED, summaryNotification.build());\n\n        // child notification\n        final NotificationCompat.Builder childNotification = new NotificationCompat.Builder(this,\n                Constants.NOTIFICATION_CHANNEL_ID_RECEIVED);\n        childNotification.setGroup(Constants.NOTIFICATION_GROUP_KEY_RECEIVED);\n        childNotification.setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN);\n        childNotification.setWhen(System.currentTimeMillis());\n        childNotification.setColor(getColor(R.color.fg_network_significant));\n        childNotification.setSmallIcon(R.drawable.stat_notify_received_24dp);\n        final String msg = getString(R.string.notification_coins_received_msg, btcFormat.format(amount)) + msgSuffix;\n        childNotification.setTicker(msg);\n        childNotification.setContentTitle(msg);\n        if (address != null) {\n            final String addressStr = address.toString();\n            final String addressLabel = addressBookDao.resolveLabel(addressStr);\n            if (addressLabel != null)\n                childNotification.setContentText(addressLabel);\n            else\n                childNotification.setContentText(addressStr);\n        }\n        childNotification\n                .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, WalletActivity.class), 0));\n        childNotification.setSound(Uri.parse(\"android.resource://\" + getPackageName() + \"/\" + R.raw.coins_received));\n        nm.notify(transactionHash.toString(), Constants.NOTIFICATION_ID_COINS_RECEIVED, childNotification.build());\n    }\n\n    private final class PeerConnectivityListener\n            implements PeerConnectedEventListener, PeerDisconnectedEventListener {\n        private AtomicBoolean stopped = new AtomicBoolean(false);\n\n        public void stop() {\n            stopped.set(true);\n        }\n\n        @Override\n        public void onPeerConnected(final Peer peer, final int peerCount) {\n            postDelayedStopSelf(DateUtils.MINUTE_IN_MILLIS);\n            changed(peerCount);\n        }\n\n        @Override\n        public void onPeerDisconnected(final Peer peer, final int peerCount) {\n            changed(peerCount);\n        }\n\n        private void changed(final int numPeers) {\n            if (stopped.get())\n                return;\n\n            handler.post(() -> {\n                startForeground(numPeers);\n                broadcastPeerState(numPeers);\n            });\n        }\n    }\n\n    private final PeerDataEventListener blockchainDownloadListener = new BlockchainDownloadListener();\n\n    private class BlockchainDownloadListener extends AbstractPeerDataEventListener implements Runnable {\n        private final AtomicLong lastMessageTime = new AtomicLong(0);\n        private final AtomicInteger blocksToDownload = new AtomicInteger();\n        private final AtomicInteger blocksLeft = new AtomicInteger();\n\n        @Override\n        public void onChainDownloadStarted(final Peer peer, final int blocksToDownload) {\n            postDelayedStopSelf(DateUtils.MINUTE_IN_MILLIS);\n            this.blocksToDownload.set(blocksToDownload);\n            if (blocksToDownload >= CONNECTIVITY_NOTIFICATION_PROGRESS_MIN_BLOCKS) {\n                config.maybeIncrementBestChainHeightEver(blockChain.getChainHead().getHeight() + blocksToDownload);\n                startForegroundProgress(blocksToDownload, blocksToDownload);\n            }\n        }\n\n        @Override\n        public void onBlocksDownloaded(final Peer peer, final Block block, final FilteredBlock filteredBlock,\n                final int blocksLeft) {\n            this.blocksLeft.set(blocksLeft);\n\n            delayHandler.removeCallbacks(this);\n            final long now = System.currentTimeMillis();\n            if (now - lastMessageTime.get() > BLOCKCHAIN_STATE_BROADCAST_THROTTLE_MS)\n                delayHandler.post(this);\n            else\n                delayHandler.postDelayed(this, BLOCKCHAIN_STATE_BROADCAST_THROTTLE_MS);\n        }\n\n        @Override\n        public void run() {\n            lastMessageTime.set(System.currentTimeMillis());\n\n            postDelayedStopSelf(DateUtils.MINUTE_IN_MILLIS);\n            final int blocksToDownload = this.blocksToDownload.get();\n            final int blocksLeft = this.blocksLeft.get();\n            if (blocksToDownload >= CONNECTIVITY_NOTIFICATION_PROGRESS_MIN_BLOCKS)\n                startForegroundProgress(blocksToDownload, blocksLeft);\n\n            config.maybeIncrementBestChainHeightEver(blockChain.getChainHead().getHeight());\n            broadcastBlockchainState();\n        }\n    }\n\n    private static class ImpedimentsLiveData extends LiveData<Set<Impediment>> {\n        private final WalletApplication application;\n        private final ConnectivityManager connectivityManager;\n        private final Set<Impediment> impediments = EnumSet.noneOf(Impediment.class);\n\n        public ImpedimentsLiveData(final WalletApplication application) {\n            this.application = application;\n            this.connectivityManager = (ConnectivityManager) application.getSystemService(Context.CONNECTIVITY_SERVICE);\n            setValue(impediments);\n        }\n\n        @Override\n        protected void onActive() {\n            final IntentFilter intentFilter = new IntentFilter();\n            intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);\n            intentFilter.addAction(Intent.ACTION_DEVICE_STORAGE_LOW);\n            intentFilter.addAction(Intent.ACTION_DEVICE_STORAGE_OK);\n            // implicitly start PeerGroup\n            final Intent intent = application.registerReceiver(connectivityReceiver, intentFilter);\n            if (intent != null)\n                handleIntent(intent);\n        }\n\n        @Override\n        protected void onInactive() {\n            application.unregisterReceiver(connectivityReceiver);\n        }\n\n        private final BroadcastReceiver connectivityReceiver = new BroadcastReceiver() {\n            @Override\n            public void onReceive(final Context context, final Intent intent) {\n                handleIntent(intent);\n            }\n        };\n\n        private void handleIntent(final Intent intent) {\n            final String action = intent.getAction();\n            if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) {\n                final NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();\n                final boolean hasConnectivity = networkInfo != null && networkInfo.isConnected();\n                final boolean isMetered = hasConnectivity && connectivityManager.isActiveNetworkMetered();\n                if (hasConnectivity)\n                    impediments.remove(Impediment.NETWORK);\n                else\n                    impediments.add(Impediment.NETWORK);\n\n                if (log.isInfoEnabled()) {\n                    final StringBuilder s = new StringBuilder(\"active network is \").append(hasConnectivity ? \"up\" :\n                            \"down\");\n                    if (isMetered)\n                        s.append(\", metered\");\n                    if (networkInfo != null) {\n                        s.append(\", type: \").append(networkInfo.getTypeName());\n                        s.append(\", state: \").append(networkInfo.getState()).append('/')\n                                .append(networkInfo.getDetailedState());\n                        final String extraInfo = networkInfo.getExtraInfo();\n                        if (extraInfo != null)\n                            s.append(\", extraInfo: \").append(extraInfo);\n                        final String reason = networkInfo.getReason();\n                        if (reason != null)\n                            s.append(\", reason: \").append(reason);\n                    }\n                    log.info(s.toString());\n                }\n            } else if (Intent.ACTION_DEVICE_STORAGE_LOW.equals(action)) {\n                impediments.add(Impediment.STORAGE);\n                log.info(\"device storage low\");\n            } else if (Intent.ACTION_DEVICE_STORAGE_OK.equals(action)) {\n                impediments.remove(Impediment.STORAGE);\n                log.info(\"device storage ok\");\n            }\n            setValue(impediments);\n        }\n    }\n\n    private final SharedPreferences.OnSharedPreferenceChangeListener preferenceChangeListener =\n            (sharedPreferences, key) -> {\n                if (Configuration.PREFS_KEY_SYNC_MODE.equals(key) || Configuration.PREFS_KEY_TRUSTED_PEERS.equals(key) ||\n                        Configuration.PREFS_KEY_TRUSTED_PEERS_ONLY.equals(key))\n                    stopSelf();\n            };\n\n    private Runnable delayedStopSelfRunnable = () -> {\n        log.info(\"service idling detected, trying to stop\");\n        stopSelf();\n        if (isBound.get())\n            log.info(\"stop is deferred because service still bound\");\n    };\n\n    private void postDelayedStopSelf(final long ms) {\n        delayHandler.removeCallbacks(delayedStopSelfRunnable);\n        delayHandler.postDelayed(delayedStopSelfRunnable, ms);\n    }\n\n    private final BroadcastReceiver deviceIdleModeReceiver = new BroadcastReceiver() {\n        @Override\n        public void onReceive(final Context context, final Intent intent) {\n            log.info(\"device {} idle mode\", pm.isDeviceIdleMode() ? \"entering\" : \"exiting\");\n        }\n    };\n\n    public class LocalBinder extends Binder {\n        public BlockchainService getService() {\n            return BlockchainService.this;\n        }\n    }\n\n    private final IBinder mBinder = new LocalBinder();\n\n    @Override\n    public IBinder onBind(final Intent intent) {\n        log.info(\"onBind: {}\", intent);\n        super.onBind(intent);\n        isBound.set(true);\n        return mBinder;\n    }\n\n    @Override\n    public boolean onUnbind(final Intent intent) {\n        log.info(\"onUnbind: {}\", intent);\n        isBound.set(false);\n        return super.onUnbind(intent);\n    }\n\n    @Override\n    public void onCreate() {\n        serviceUpTime = Stopwatch.createStarted();\n        log.debug(\".onCreate()\");\n        super.onCreate();\n\n        application = (WalletApplication) getApplication();\n        config = application.getConfiguration();\n\n        pm = (PowerManager) getSystemService(Context.POWER_SERVICE);\n        nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);\n\n        wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());\n        log.info(\"acquiring {}\", wakeLock);\n        wakeLock.acquire();\n\n        connectivityNotification.setColor(getColor(R.color.fg_network_significant));\n        connectivityNotification.setContentTitle(getString(config.isTrustedPeersOnly() ?\n                R.string.notification_connectivity_syncing_trusted_peer :\n                R.string.notification_connectivity_syncing_message));\n        connectivityNotification.setContentIntent(PendingIntent.getActivity(BlockchainService.this, 0,\n                new Intent(BlockchainService.this, WalletActivity.class), 0));\n        connectivityNotification.setWhen(System.currentTimeMillis());\n        connectivityNotification.setOngoing(true);\n        connectivityNotification.setPriority(NotificationCompat.PRIORITY_LOW);\n        startForeground(0);\n\n        backgroundThread = new HandlerThread(\"backgroundThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        backgroundThread.start();\n        backgroundHandler = new Handler(backgroundThread.getLooper());\n\n        addressBookDao = AddressBookDatabase.getDatabase(application).addressBookDao();\n        blockChainFile = new File(getDir(\"blockstore\", Context.MODE_PRIVATE), Constants.Files.BLOCKCHAIN_FILENAME);\n\n        config.registerOnSharedPreferenceChangeListener(preferenceChangeListener);\n\n        registerReceiver(deviceIdleModeReceiver, new IntentFilter(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED));\n\n        peerConnectivityListener = new PeerConnectivityListener();\n\n        broadcastPeerState(0);\n\n        final WalletBalanceLiveData walletBalance = new WalletBalanceLiveData(application);\n        final SelectedExchangeRateLiveData exchangeRate = new SelectedExchangeRateLiveData(application);\n        walletBalance.observe(this, balance -> {\n            final ExchangeRateEntry rate = exchangeRate.getValue();\n            if (balance != null)\n                WalletBalanceWidgetProvider.updateWidgets(BlockchainService.this, balance,\n                        rate != null ? rate.exchangeRate() : null);\n        });\n        if (Constants.ENABLE_EXCHANGE_RATES) {\n            exchangeRate.observe(this, rate -> {\n                final Coin balance = walletBalance.getValue();\n                if (balance != null)\n                    WalletBalanceWidgetProvider.updateWidgets(BlockchainService.this, balance,\n                            rate != null ? rate.exchangeRate() : null);\n            });\n        }\n        wallet = new WalletLiveData(application);\n        wallet.observe(this, new Observer<Wallet>() {\n            @Override\n            public void onChanged(final Wallet wallet) {\n                BlockchainService.this.wallet.removeObserver(this);\n                final boolean blockChainFileExists = blockChainFile.exists();\n                if (!blockChainFileExists) {\n                    log.info(\"blockchain does not exist, resetting wallet\");\n                    wallet.reset();\n                }\n\n                try {\n                    blockStore = new SPVBlockStore(Constants.NETWORK_PARAMETERS, blockChainFile,\n                            Constants.Files.BLOCKCHAIN_STORE_CAPACITY, true);\n                    blockStore.getChainHead(); // detect corruptions as early as possible\n\n                    final long earliestKeyCreationTimeSecs = wallet.getEarliestKeyCreationTime();\n\n                    if (!blockChainFileExists && earliestKeyCreationTimeSecs > 0) {\n                        try {\n                            log.info(\"loading checkpoints for birthdate {} from '{}'\",\n                                    Utils.dateTimeFormat(earliestKeyCreationTimeSecs * 1000),\n                                    Constants.Files.CHECKPOINTS_ASSET);\n                            final Stopwatch watch = Stopwatch.createStarted();\n                            final InputStream checkpointsInputStream = getAssets()\n                                    .open(Constants.Files.CHECKPOINTS_ASSET);\n                            CheckpointManager.checkpoint(Constants.NETWORK_PARAMETERS, checkpointsInputStream,\n                                    blockStore, earliestKeyCreationTimeSecs);\n                            watch.stop();\n                            log.info(\"checkpoints loaded, took {}\", watch);\n                        } catch (final IOException x) {\n                            log.error(\"problem reading checkpoints, continuing without\", x);\n                        }\n                    }\n                } catch (final BlockStoreException x) {\n                    blockChainFile.delete();\n\n                    final String msg = \"blockstore cannot be created\";\n                    log.error(msg, x);\n                    throw new Error(msg, x);\n                }\n\n                try {\n                    blockChain = new BlockChain(Constants.NETWORK_PARAMETERS, wallet, blockStore);\n                } catch (final BlockStoreException x) {\n                    throw new Error(\"blockchain cannot be created\", x);\n                }\n\n                observeLiveDatasThatAreDependentOnWalletAndBlockchain();\n            }\n        });\n    }\n\n    private void observeLiveDatasThatAreDependentOnWalletAndBlockchain() {\n        final NewTransactionLiveData newTransaction = new NewTransactionLiveData(wallet.getValue());\n        newTransaction.observe(this, tx -> {\n            final Wallet wallet = BlockchainService.this.wallet.getValue();\n            postDelayedStopSelf(5 * DateUtils.MINUTE_IN_MILLIS);\n            final Coin amount = tx.getValue(wallet);\n            if (amount.isPositive()) {\n                final Address address = WalletUtils.getWalletAddressOfReceived(tx, wallet);\n                final ConfidenceType confidenceType = tx.getConfidence().getConfidenceType();\n                final boolean replaying = blockChain.getBestChainHeight() < config.getBestChainHeightEver();\n                final boolean isReplayedTx = confidenceType == ConfidenceType.BUILDING && replaying;\n                if (!isReplayedTx)\n                    notifyCoinsReceived(address, amount, tx.getTxId());\n            }\n        });\n        impediments = new ImpedimentsLiveData(application);\n        impediments.observe(this, new Observer<Set<Impediment>>() {\n            @Override\n            public void onChanged(final Set<Impediment> impediments) {\n                if (impediments.isEmpty() && peerGroup == null && Constants.ENABLE_BLOCKCHAIN_SYNC)\n                    startup();\n                else if (!impediments.isEmpty() && peerGroup != null)\n                    shutdown();\n                broadcastBlockchainState();\n            }\n\n            private void startup() {\n                final Wallet wallet = BlockchainService.this.wallet.getValue();\n\n                // consistency check\n                final int walletLastBlockSeenHeight = wallet.getLastBlockSeenHeight();\n                final int bestChainHeight = blockChain.getBestChainHeight();\n                if (walletLastBlockSeenHeight != -1 && walletLastBlockSeenHeight != bestChainHeight) {\n                    final String message = \"wallet/blockchain out of sync: \" + walletLastBlockSeenHeight + \"/\"\n                            + bestChainHeight;\n                    log.error(message);\n                    CrashReporter.saveBackgroundTrace(new RuntimeException(message), application.packageInfo());\n                }\n\n                final Configuration.SyncMode syncMode = config.getSyncMode();\n                peerGroup = new NonWitnessPeerGroup(Constants.NETWORK_PARAMETERS, blockChain);\n                log.info(\"creating {}, sync mode: {}\", peerGroup, syncMode);\n                peerGroup.setDownloadTxDependencies(0); // recursive implementation causes StackOverflowError\n                peerGroup.addWallet(wallet);\n                peerGroup.setBloomFilteringEnabled(syncMode == Configuration.SyncMode.CONNECTION_FILTER);\n                peerGroup.setUserAgent(Constants.USER_AGENT, application.packageInfo().versionName);\n                peerGroup.addConnectedEventListener(peerConnectivityListener);\n                peerGroup.addDisconnectedEventListener(peerConnectivityListener);\n\n                final int maxConnectedPeers = application.maxConnectedPeers();\n                final Set<HostAndPort> trustedPeers = config.getTrustedPeers();\n                final boolean trustedPeerOnly = config.isTrustedPeersOnly();\n\n                peerGroup.setMaxConnections(trustedPeerOnly ? 0 : maxConnectedPeers);\n                peerGroup.setConnectTimeoutMillis(Constants.PEER_TIMEOUT_MS);\n                peerGroup.setPeerDiscoveryTimeoutMillis(Constants.PEER_DISCOVERY_TIMEOUT_MS);\n                peerGroup.setStallThreshold(20, Block.HEADER_SIZE * 10);\n\n                final ResolveDnsTask resolveDnsTask = new ResolveDnsTask(backgroundHandler) {\n                    @Override\n                    protected void onSuccess(final HostAndPort hostAndPort, final InetSocketAddress socketAddress) {\n                        log.info(\"trusted peer '{}' resolved to {}\", hostAndPort,\n                                socketAddress.getAddress().getHostAddress());\n                        if (socketAddress != null) {\n                            peerGroup.addAddress(new PeerAddress(Constants.NETWORK_PARAMETERS, socketAddress), 10);\n                            if (peerGroup.getMaxConnections() > maxConnectedPeers)\n                                peerGroup.setMaxConnections(maxConnectedPeers);\n                        }\n                    }\n\n                    @Override\n                    protected void onUnknownHost(final HostAndPort hostAndPort) {\n                        log.info(\"trusted peer '{}' unknown host\", hostAndPort);\n                    }\n                };\n                for (final HostAndPort trustedPeer : trustedPeers)\n                    resolveDnsTask.resolve(trustedPeer);\n\n                if (trustedPeerOnly) {\n                    log.info(\"trusted peers only – not adding any random nodes from the P2P network\");\n                } else {\n                    log.info(\"adding random peers from the P2P network\");\n                    if (syncMode == Configuration.SyncMode.CONNECTION_FILTER)\n                        peerGroup.setRequiredServices(VersionMessage.NODE_BLOOM);\n                    else\n                        peerGroup.setRequiredServices(0);\n                }\n\n                // start peergroup\n                log.info(\"starting {} asynchronously\", peerGroup);\n                peerGroup.startAsync();\n                peerGroup.startBlockChainDownload(blockchainDownloadListener);\n\n                postDelayedStopSelf(DateUtils.MINUTE_IN_MILLIS);\n            }\n\n            private void shutdown() {\n                final Wallet wallet = BlockchainService.this.wallet.getValue();\n\n                peerGroup.removeDisconnectedEventListener(peerConnectivityListener);\n                peerGroup.removeConnectedEventListener(peerConnectivityListener);\n                peerGroup.removeWallet(wallet);\n                log.info(\"stopping {} asynchronously\", peerGroup);\n                peerGroup.stopAsync();\n                peerGroup = null;\n            }\n        });\n    }\n\n    @Override\n    public int onStartCommand(final Intent intent, final int flags, final int startId) {\n        super.onStartCommand(intent, flags, startId);\n        postDelayedStopSelf(DateUtils.MINUTE_IN_MILLIS * 2);\n\n        if (intent != null) {\n            final String action = intent.getAction();\n            log.info(\"service start command: {}\", action);\n\n            if (BlockchainService.ACTION_CANCEL_COINS_RECEIVED.equals(action)) {\n                notificationCount = 0;\n                notificationAccumulatedAmount = Coin.ZERO;\n                notificationAddresses.clear();\n\n                nm.cancel(Constants.NOTIFICATION_ID_COINS_RECEIVED);\n            } else if (BlockchainService.ACTION_RESET_BLOCKCHAIN.equals(action)) {\n                log.info(\"will remove blockchain on service shutdown\");\n                resetBlockchainOnShutdown = true;\n                stopSelf();\n                if (isBound.get())\n                    log.info(\"stop is deferred because service still bound\");\n            }\n        } else {\n            log.warn(\"service restart, although it was started as non-sticky\");\n        }\n\n        return START_NOT_STICKY;\n    }\n\n    @Override\n    public void onDestroy() {\n        log.debug(\".onDestroy()\");\n\n        if (peerGroup != null) {\n            peerGroup.removeDisconnectedEventListener(peerConnectivityListener);\n            peerGroup.removeConnectedEventListener(peerConnectivityListener);\n            peerGroup.removeWallet(wallet.getValue());\n            peerGroup.stopAsync();\n            log.info(\"stopping {} asynchronously\", peerGroup);\n        }\n\n        peerConnectivityListener.stop();\n\n        delayHandler.removeCallbacksAndMessages(null);\n\n        backgroundHandler.removeCallbacksAndMessages(null);\n        backgroundThread.getLooper().quit();\n\n        if (blockStore != null) {\n            try {\n                blockStore.close();\n            } catch (final BlockStoreException x) {\n                throw new RuntimeException(x);\n            }\n        }\n\n        application.autosaveWalletNow();\n\n        if (resetBlockchainOnShutdown) {\n            log.info(\"removing blockchain\");\n            blockChainFile.delete();\n        }\n\n        unregisterReceiver(deviceIdleModeReceiver);\n\n        config.unregisterOnSharedPreferenceChangeListener(preferenceChangeListener);\n\n        final boolean expectLargeData =\n                blockChain != null && (config.getBestChainHeightEver() - blockChain.getBestChainHeight()) > CONNECTIVITY_NOTIFICATION_PROGRESS_MIN_BLOCKS;\n        StartBlockchainService.schedule(application, expectLargeData);\n\n        wakeLock.release();\n        log.info(\"released {}\", wakeLock);\n        checkState(!wakeLock.isHeld(), \"still held: \" + wakeLock);\n\n        super.onDestroy();\n\n        log.info(\"service was up for {}\", serviceUpTime.stop());\n    }\n\n    @Override\n    public void onTrimMemory(final int level) {\n        log.info(\"onTrimMemory({}) called\", level);\n        if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) {\n            log.warn(\"low memory detected, trying to stop\");\n            stopSelf();\n            if (isBound.get())\n                log.info(\"stop is deferred because service still bound\");\n        }\n    }\n\n    @Nullable\n    public TransactionBroadcast broadcastTransaction(final Transaction tx) {\n        if (peerGroup != null) {\n            log.info(\"broadcasting transaction {}\", tx.getTxId());\n            return peerGroup.broadcastTransaction(tx);\n        } else {\n            log.info(\"peergroup not available, not broadcasting transaction {}\", tx.getTxId());\n            return null;\n        }\n    }\n\n    @Nullable\n    public BlockchainState getBlockchainState() {\n        if (blockChain == null)\n            return null;\n\n        final StoredBlock chainHead = blockChain.getChainHead();\n        final Date bestChainDate = chainHead.getHeader().getTime();\n        final int bestChainHeight = chainHead.getHeight();\n        final boolean replaying = chainHead.getHeight() < config.getBestChainHeightEver();\n\n        return new BlockchainState(bestChainDate, bestChainHeight, replaying, impediments.getValue());\n    }\n\n    @Nullable\n    public List<Peer> getConnectedPeers() {\n        if (peerGroup == null)\n            return null;\n\n        return peerGroup.getConnectedPeers();\n    }\n\n    public void dropAllPeers() {\n        if (peerGroup == null)\n            return;\n        peerGroup.dropAllPeers();\n    }\n\n    @Nullable\n    public List<StoredBlock> getRecentBlocks(final int maxBlocks) {\n        if (blockChain == null || blockStore == null)\n            return null;\n\n        final List<StoredBlock> blocks = new ArrayList<>(maxBlocks);\n        StoredBlock block = blockChain.getChainHead();\n        while (block != null) {\n            blocks.add(block);\n            if (blocks.size() >= maxBlocks)\n                break;\n            try {\n                block = block.getPrev(blockStore);\n            } catch (final BlockStoreException x) {\n                log.info(\"skipping blocks because of exception\", x);\n                break;\n            }\n        }\n        return blocks.isEmpty() ? null : blocks;\n    }\n\n    private void startForeground(final int numPeers) {\n        if (config.isTrustedPeersOnly()) {\n            connectivityNotification.setSmallIcon(R.drawable.stat_notify_peers, numPeers > 0 ? 4 : 0);\n            connectivityNotification.setContentText(getString(numPeers > 0 ? R.string.notification_peer_connected :\n                    R.string.notification_peer_not_connected));\n        } else {\n            connectivityNotification.setSmallIcon(R.drawable.stat_notify_peers, Math.min(numPeers, 4));\n            connectivityNotification.setContentText(getString(R.string.notification_peers_connected_msg, numPeers));\n        }\n        startForeground(Constants.NOTIFICATION_ID_CONNECTIVITY, connectivityNotification.build());\n    }\n\n    private void startForegroundProgress(final int blocksToDownload, final int blocksLeft) {\n        connectivityNotification.setProgress(blocksToDownload, blocksToDownload - blocksLeft, false);\n        startForeground(Constants.NOTIFICATION_ID_CONNECTIVITY, connectivityNotification.build());\n    }\n\n    @MainThread\n    private void broadcastPeerState(final int numPeers) {\n        application.peerState.setValue(numPeers);\n    }\n\n    @MainThread\n    private void broadcastBlockchainState() {\n        final BlockchainState blockchainState = getBlockchainState();\n        application.blockchainState.setValue(blockchainState);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/service/BlockchainState.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.service;\n\nimport java.util.Date;\nimport java.util.EnumSet;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BlockchainState {\n    public enum Impediment {\n        STORAGE, NETWORK\n    }\n\n    public final Date bestChainDate;\n    public final int bestChainHeight;\n    public final boolean replaying;\n    public final EnumSet<Impediment> impediments;\n\n    public BlockchainState(final Date bestChainDate, final int bestChainHeight, final boolean replaying,\n            final Set<Impediment> impediments) {\n        this.bestChainDate = bestChainDate;\n        this.bestChainHeight = bestChainHeight;\n        this.replaying = replaying;\n        this.impediments = EnumSet.copyOf(impediments);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/service/BootstrapReceiver.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.service;\n\nimport android.app.NotificationManager;\nimport android.app.PendingIntent;\nimport android.content.BroadcastReceiver;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.AsyncTask;\nimport androidx.annotation.WorkerThread;\nimport androidx.core.app.NotificationCompat;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.ui.WalletActivity;\nimport de.schildbach.wallet.ui.send.FeeCategory;\nimport de.schildbach.wallet.ui.send.SendCoinsActivity;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BootstrapReceiver extends BroadcastReceiver {\n    private static final Logger log = LoggerFactory.getLogger(BootstrapReceiver.class);\n\n    private static final String ACTION_DISMISS = BootstrapReceiver.class.getPackage().getName() + \".dismiss\";\n    private static final String ACTION_DISMISS_FOREVER = BootstrapReceiver.class.getPackage().getName() +\n            \".dismiss_forever\";\n    private static final String ACTION_DONATE = BootstrapReceiver.class.getPackage().getName() + \".donate\";\n\n    @Override\n    public void onReceive(final Context context, final Intent intent) {\n        log.info(\"got broadcast: \" + intent);\n        final PendingResult result = goAsync();\n        AsyncTask.execute(() -> {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n            onAsyncReceive(context, intent);\n            result.finish();\n        });\n    }\n\n    @WorkerThread\n    private void onAsyncReceive(final Context context, final Intent intent) {\n        final WalletApplication application = (WalletApplication) context.getApplicationContext();\n\n        final String action = intent.getAction();\n        final boolean bootCompleted = Intent.ACTION_BOOT_COMPLETED.equals(action);\n        final boolean packageReplaced = Intent.ACTION_MY_PACKAGE_REPLACED.equals(action);\n\n        if (packageReplaced || bootCompleted) {\n            // make sure wallet is upgraded to HD\n            if (packageReplaced)\n                maybeUpgradeWallet(application.getWallet());\n\n            // make sure there is always a blockchain sync scheduled\n            StartBlockchainService.schedule(application, true);\n\n            // if the app hasn't been used for a while and contains coins, maybe show reminder\n            maybeShowInactivityNotification(application);\n        } else if (ACTION_DISMISS.equals(action)) {\n            dismissNotification(context);\n        } else if (ACTION_DISMISS_FOREVER.equals(action)) {\n            dismissNotificationForever(context, application.getConfiguration());\n        } else if (ACTION_DONATE.equals(action)) {\n            donate(context, application.getWallet());\n        } else {\n            throw new IllegalArgumentException(action);\n        }\n    }\n\n    @WorkerThread\n    private void maybeUpgradeWallet(final Wallet wallet) {\n        log.info(\"maybe upgrading wallet\");\n\n        // Maybe upgrade wallet from basic to deterministic, and maybe upgrade to the latest script type\n        if (wallet.isDeterministicUpgradeRequired(Constants.UPGRADE_OUTPUT_SCRIPT_TYPE) && !wallet.isEncrypted())\n            wallet.upgradeToDeterministic(Constants.UPGRADE_OUTPUT_SCRIPT_TYPE, null);\n\n        // Maybe upgrade wallet to secure chain\n        try {\n            wallet.doMaintenance(null, false);\n        } catch (final Exception x) {\n            log.error(\"failed doing wallet maintenance\", x);\n        }\n    }\n\n    @WorkerThread\n    private void maybeShowInactivityNotification(final WalletApplication application) {\n        final Configuration config = application.getConfiguration();\n        if (!config.remindBalance() || !config.hasBeenUsed() || config.getLastUsedAgo() <= Constants.LAST_USAGE_THRESHOLD_INACTIVE_MS)\n            return;\n\n        final Wallet wallet = application.getWallet();\n        final Coin estimatedBalance = wallet.getBalance(Wallet.BalanceType.ESTIMATED_SPENDABLE);\n        if (!estimatedBalance.isPositive())\n            return;\n\n        log.info(\"detected balance, showing inactivity notification\");\n\n        final Coin availableBalance = wallet.getBalance(Wallet.BalanceType.AVAILABLE_SPENDABLE);\n        final boolean canDonate =\n                Constants.DONATION_ADDRESS != null && !availableBalance.isLessThan(Constants.SOME_BALANCE_THRESHOLD);\n\n        final MonetaryFormat btcFormat = config.getFormat();\n        final String title = application.getString(R.string.notification_inactivity_title);\n        final StringBuilder text = new StringBuilder(application.getString(R.string.notification_inactivity_message,\n                btcFormat.format(estimatedBalance)));\n        if (canDonate)\n            text.append(\"\\n\\n\").append(application.getString(R.string.notification_inactivity_message_donate));\n\n        final NotificationCompat.Builder notification = new NotificationCompat.Builder(application,\n                Constants.NOTIFICATION_CHANNEL_ID_IMPORTANT);\n        notification.setStyle(new NotificationCompat.BigTextStyle().bigText(text));\n        notification.setColor(application.getColor(R.color.fg_network_significant));\n        notification.setSmallIcon(R.drawable.stat_notify_received_24dp);\n        notification.setContentTitle(title);\n        notification.setContentText(text);\n        notification.setContentIntent(PendingIntent.getActivity(application, 0, new Intent(application, WalletActivity.class),\n                0));\n        notification.setAutoCancel(true);\n\n        if (!canDonate) {\n            final Intent dismissIntent = new Intent(application, BootstrapReceiver.class);\n            dismissIntent.setAction(ACTION_DISMISS);\n            notification.addAction(new NotificationCompat.Action.Builder(0,\n                    application.getString(R.string.notification_inactivity_action_dismiss),\n                    PendingIntent.getBroadcast(application, 0, dismissIntent, 0)).build());\n        }\n\n        final Intent dismissForeverIntent = new Intent(application, BootstrapReceiver.class);\n        dismissForeverIntent.setAction(ACTION_DISMISS_FOREVER);\n        notification.addAction(new NotificationCompat.Action.Builder(0,\n                application.getString(R.string.notification_inactivity_action_dismiss_forever),\n                PendingIntent.getBroadcast(application, 0, dismissForeverIntent, 0)).build());\n\n        if (canDonate) {\n            final Intent donateIntent = new Intent(application, BootstrapReceiver.class);\n            donateIntent.setAction(ACTION_DONATE);\n            notification.addAction(new NotificationCompat.Action.Builder(0,\n                    application.getString(R.string.wallet_options_donate), PendingIntent.getBroadcast(application, 0,\n                    donateIntent, 0)).build());\n        }\n\n        final NotificationManager nm = (NotificationManager) application.getSystemService(Context.NOTIFICATION_SERVICE);\n        nm.notify(Constants.NOTIFICATION_ID_INACTIVITY, notification.build());\n    }\n\n    @WorkerThread\n    private void dismissNotification(final Context context) {\n        log.info(\"dismissing inactivity notification\");\n        final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);\n        nm.cancel(Constants.NOTIFICATION_ID_INACTIVITY);\n    }\n\n    @WorkerThread\n    private void dismissNotificationForever(final Context context, final Configuration config) {\n        log.info(\"dismissing inactivity notification forever\");\n        config.setRemindBalance(false);\n        final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);\n        nm.cancel(Constants.NOTIFICATION_ID_INACTIVITY);\n    }\n\n    @WorkerThread\n    private void donate(final Context context, final Wallet wallet) {\n        final Coin balance = wallet.getBalance(Wallet.BalanceType.AVAILABLE_SPENDABLE);\n        SendCoinsActivity.startDonate(context, balance, FeeCategory.ECONOMIC,\n                Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);\n        final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);\n        nm.cancel(Constants.NOTIFICATION_ID_INACTIVITY);\n        context.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/service/NonWitnessPeerGroup.java",
    "content": "package de.schildbach.wallet.service;\n\nimport org.bitcoinj.core.AbstractBlockChain;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.core.Peer;\nimport org.bitcoinj.core.PeerGroup;\nimport org.bitcoinj.core.VersionMessage;\n\nimport java.util.LinkedList;\nimport java.util.List;\n\nimport javax.annotation.Nullable;\n\n/**\n * Because someone thought it was fun to hardcode witness requirement even though\n * THIS SAME DAMN CLASS implements a service filter, we have to override the respective method.\n * very not wow...\n */\npublic class NonWitnessPeerGroup extends PeerGroup {\n    public NonWitnessPeerGroup(NetworkParameters params, @Nullable AbstractBlockChain chain) {\n        super(params, chain);\n    }\n\n    /**\n     * In an ideal world this would be a copy/paste job,\n     * but FOR SOME REASON some of this crap is private. AAAAAAAAAAHHHHHHHHHHHHHHHH\n     */\n    @Override\n    protected Peer selectDownloadPeer(List<Peer> peers) {\n        // Characteristics to select for in order of importance:\n        //  - Chain height is reasonable (majority of nodes)\n        //  - High enough protocol version for the features we want (but we'll settle for less)\n        //  - Randomly, to try and spread the load.\n        if (peers.isEmpty())\n            return null;\n\n        int mostCommonChainHeight = getMostCommonChainHeight(peers);\n        // Make sure we don't select a peer if there is no consensus about block height.\n        if (mostCommonChainHeight == 0)\n            return null;\n\n        // Only select peers that announce the minimum protocol and services and that we think is fully synchronized.\n        List<Peer> candidates = new LinkedList<>();\n        final int MINIMUM_VERSION = params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.WITNESS_VERSION);\n        for (Peer peer : peers) {\n            final VersionMessage versionMessage = peer.getPeerVersionMessage();\n            if (versionMessage.clientVersion < MINIMUM_VERSION)\n                continue;\n            if (!versionMessage.hasBlockChain())\n                continue;\n            final long peerHeight = peer.getBestHeight();\n            if (peer.getPeerBlockHeightDifference() < 0)\n                continue;\n            //if (peerHeight < mostCommonChainHeight || peerHeight > mostCommonChainHeight + 1)\n            //   continue;\n            candidates.add(peer);\n        }\n        if (candidates.isEmpty())\n            return null;\n\n        // Random poll.\n        int index = (int) (Math.random() * candidates.size());\n        return candidates.get(index);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/service/StartBlockchainService.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.service;\n\nimport android.app.job.JobInfo;\nimport android.app.job.JobParameters;\nimport android.app.job.JobScheduler;\nimport android.app.job.JobService;\nimport android.content.ComponentName;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.os.Build;\nimport android.os.PowerManager;\nimport android.text.format.DateUtils;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class StartBlockchainService extends JobService {\n    private PowerManager pm;\n\n    private static final Logger log = LoggerFactory.getLogger(StartBlockchainService.class);\n\n    public static void schedule(final WalletApplication application, final boolean expectLargeData) {\n        final Configuration config = application.getConfiguration();\n        final long lastUsedAgo = config.getLastUsedAgo();\n\n        // apply some backoff\n        final long interval;\n        if (lastUsedAgo < Constants.LAST_USAGE_THRESHOLD_JUST_MS)\n            interval = DateUtils.MINUTE_IN_MILLIS * 15;\n        else if (lastUsedAgo < Constants.LAST_USAGE_THRESHOLD_TODAY_MS)\n            interval = DateUtils.HOUR_IN_MILLIS;\n        else if (lastUsedAgo < Constants.LAST_USAGE_THRESHOLD_RECENTLY_MS)\n            interval = DateUtils.DAY_IN_MILLIS / 2;\n        else\n            interval = DateUtils.DAY_IN_MILLIS;\n\n        log.info(\"last used {} minutes ago{}, rescheduling block chain sync in roughly {} minutes\",\n                lastUsedAgo / DateUtils.MINUTE_IN_MILLIS, expectLargeData ? \" and expecting large data\" : \"\",\n                interval / DateUtils.MINUTE_IN_MILLIS);\n\n        final JobScheduler jobScheduler = (JobScheduler) application.getSystemService(Context.JOB_SCHEDULER_SERVICE);\n        final JobInfo.Builder jobInfo = new JobInfo.Builder(0, new ComponentName(application,\n                StartBlockchainService.class));\n        jobInfo.setMinimumLatency(interval);\n        jobInfo.setOverrideDeadline(DateUtils.WEEK_IN_MILLIS);\n        jobInfo.setRequiredNetworkType(expectLargeData ? JobInfo.NETWORK_TYPE_UNMETERED : JobInfo.NETWORK_TYPE_ANY);\n        jobInfo.setRequiresDeviceIdle(true);\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n            jobInfo.setRequiresBatteryNotLow(true);\n            jobInfo.setRequiresStorageNotLow(true);\n        }\n        jobScheduler.schedule(jobInfo.build());\n    }\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        pm = (PowerManager) getSystemService(Context.POWER_SERVICE);\n    }\n\n    @Override\n    public boolean onStartJob(final JobParameters params) {\n        final boolean storageLow = registerReceiver(null, new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW)) != null;\n        final boolean batteryLow = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_LOW)) != null;\n        final boolean powerSaveMode = pm.isPowerSaveMode();\n        if (storageLow)\n            log.info(\"storage low, not starting block chain sync\");\n        if (batteryLow)\n            log.info(\"battery low, not starting block chain sync\");\n        if (powerSaveMode)\n            log.info(\"power save mode, not starting block chain sync\");\n        if (!storageLow && !batteryLow && !powerSaveMode)\n            BlockchainService.start(this, false);\n        return false;\n    }\n\n    @Override\n    public boolean onStopJob(final JobParameters params) {\n        return false;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AbstractWalletActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.ActivityManager.TaskDescription;\nimport android.content.ActivityNotFoundException;\nimport android.content.Intent;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.view.MenuItem;\nimport android.view.WindowManager;\nimport androidx.fragment.app.FragmentActivity;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.util.Toast;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class AbstractWalletActivity extends FragmentActivity {\n    private WalletApplication application;\n\n    protected static final Logger log = LoggerFactory.getLogger(AbstractWalletActivity.class);\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        application = (WalletApplication) getApplication();\n        setTaskDescription(new TaskDescription(null, null, getColor(R.color.bg_action_bar)));\n        super.onCreate(savedInstanceState);\n    }\n\n    public WalletApplication getWalletApplication() {\n        return application;\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        if (item.getItemId() == android.R.id.home) {\n            onBackPressed();\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    @SuppressWarnings(\"deprecation\")\n    @Override\n    public void setShowWhenLocked(final boolean showWhenLocked) {\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1)\n            super.setShowWhenLocked(showWhenLocked);\n        else if (showWhenLocked)\n            getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);\n        else\n            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);\n    }\n\n    public void startExternalDocument(final Uri url) {\n        try {\n            startActivity(new Intent(Intent.ACTION_VIEW, url));\n        } catch (final ActivityNotFoundException x) {\n            log.info(\"Cannot view {}\", url);\n            new Toast(this).longToast(R.string.toast_start_external_document_failed);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AbstractWalletActivityViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.Observer;\nimport com.google.common.util.concurrent.ListenableFuture;\nimport com.google.common.util.concurrent.SettableFuture;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.BlockchainServiceLiveData;\nimport de.schildbach.wallet.data.WalletLiveData;\nimport de.schildbach.wallet.service.BlockchainService;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionBroadcast;\nimport org.bitcoinj.core.VerificationException;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class AbstractWalletActivityViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    public final BlockchainServiceLiveData blockchainService;\n    public final WalletLiveData wallet;\n\n    private static final Logger log = LoggerFactory.getLogger(AbstractWalletActivityViewModel.class);\n\n    public AbstractWalletActivityViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.blockchainService = new BlockchainServiceLiveData(this.application);\n        this.wallet = new WalletLiveData(this.application);\n    }\n\n    public ListenableFuture<Transaction> broadcastTransaction(final Transaction tx) throws VerificationException {\n        final SettableFuture<Transaction> future = SettableFuture.create();\n        wallet.observeForever(new Observer<Wallet>() {\n            @Override\n            public void onChanged(final Wallet wallet) {\n                blockchainService.observeForever(new Observer<BlockchainService>() {\n                    @Override\n                    public void onChanged(final BlockchainService blockchainService) {\n                        if (wallet.isTransactionRelevant(tx)) {\n                            wallet.receivePending(tx, null);\n                            final TransactionBroadcast broadcast = blockchainService.broadcastTransaction(tx);\n                            if (broadcast != null) {\n                                broadcast.future().addListener(() -> {\n                                    log.info(\"broadcasting transaction {} complete, dropping all peers\", tx.getTxId());\n                                    blockchainService.dropAllPeers();\n                                }, Threading.SAME_THREAD);\n                                future.setFuture(broadcast.future());\n                            } else {\n                                log.info(\"impediments; will send {} later\", tx.getTxId());\n                                future.cancel(false);\n                            }\n                        } else {\n                            log.info(\"tx {} irrelevant\", tx.getTxId());\n                            future.cancel(false);\n                        }\n                        AbstractWalletActivityViewModel.this.blockchainService.removeObserver(this);\n                    }\n                });\n                AbstractWalletActivityViewModel.this.wallet.removeObserver(this);\n            }\n        });\n        return future;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AddressAndLabel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport androidx.annotation.Nullable;\nimport com.google.common.base.Objects;\nimport de.schildbach.wallet.Constants;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.AddressFormatException;\nimport org.bitcoinj.core.NetworkParameters;\n\n/**\n * @author Andreas Schildbach\n */\npublic class AddressAndLabel implements Parcelable {\n    public final Address address;\n    public final String label;\n\n    public AddressAndLabel(final Address address, @Nullable final String label) {\n        this.address = address;\n        this.label = label;\n    }\n\n    public AddressAndLabel(final NetworkParameters addressParams, final String address, @Nullable final String label)\n            throws AddressFormatException {\n        this(Address.fromString(addressParams, address), label);\n    }\n\n    @Override\n    public boolean equals(final Object o) {\n        if (this == o)\n            return true;\n        if (o == null || getClass() != o.getClass())\n            return false;\n        final AddressAndLabel other = (AddressAndLabel) o;\n        return Objects.equal(this.address, other.address) && Objects.equal(this.label, other.label);\n    }\n\n    @Override\n    public int hashCode() {\n        return Objects.hashCode(address, label);\n    }\n\n    @Override\n    public String toString() {\n        final StringBuilder builder = new StringBuilder();\n        builder.append(getClass().getSimpleName());\n        builder.append('[');\n        builder.append(address.toString());\n        if (label != null) {\n            builder.append(',');\n            builder.append(label);\n        }\n        builder.append(']');\n        return builder.toString();\n    }\n\n    @Override\n    public int describeContents() {\n        return 0;\n    }\n\n    @Override\n    public void writeToParcel(final Parcel dest, final int flags) {\n        dest.writeString(address.toString());\n        dest.writeString(label);\n    }\n\n    public static final Parcelable.Creator<AddressAndLabel> CREATOR = new Parcelable.Creator<AddressAndLabel>() {\n        @Override\n        public AddressAndLabel createFromParcel(final Parcel in) {\n            return new AddressAndLabel(in);\n        }\n\n        @Override\n        public AddressAndLabel[] newArray(final int size) {\n            return new AddressAndLabel[size];\n        }\n    };\n\n    private AddressAndLabel(final Parcel in) {\n        address = Address.fromString(Constants.NETWORK_PARAMETERS, in.readString());\n        label = in.readString();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AddressBookActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport androidx.annotation.NonNull;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport androidx.recyclerview.widget.RecyclerView;\nimport androidx.viewpager2.adapter.FragmentStateAdapter;\nimport androidx.viewpager2.widget.ViewPager2;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.ui.scan.ScanActivity;\nimport de.schildbach.wallet.util.ViewPagerTabs;\nimport de.schildbach.wallet.util.ZoomOutPageTransformer;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.VerificationException;\nimport org.bitcoinj.wallet.Wallet;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class AddressBookActivity extends AbstractWalletActivity {\n    public static void start(final Context context) {\n        context.startActivity(new Intent(context, AddressBookActivity.class));\n    }\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private AddressBookViewModel viewModel;\n\n    private static final int REQUEST_CODE_SCAN = 0;\n\n    public static final int POSITION_WALLET_ADDRESSES = 0;\n    public static final int POSITION_SENDING_ADDRESSES = 1;\n    private static final int[] TAB_LABELS = { R.string.address_book_list_receiving_title,\n            R.string.address_book_list_sending_title };\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        final FragmentManager fragmentManager = getSupportFragmentManager();\n\n        setContentView(R.layout.address_book_content);\n        final ViewPager2 pager = findViewById(R.id.address_book_pager);\n        final ViewPagerTabs pagerTabs = findViewById(R.id.address_book_pager_tabs);\n\n        pagerTabs.addTabLabels(TAB_LABELS);\n\n        final boolean twoPanes = getResources().getBoolean(R.bool.address_book_two_panes);\n\n        walletActivityViewModel = new ViewModelProvider(this).get(AbstractWalletActivityViewModel.class);\n        walletActivityViewModel.wallet.observe(this, wallet -> invalidateOptionsMenu());\n        viewModel = new ViewModelProvider(this).get(AddressBookViewModel.class);\n        viewModel.pageTo.observe(this, new Event.Observer<Integer>() {\n            @Override\n            protected void onEvent(final Integer position) {\n                if (!twoPanes)\n                    pager.setCurrentItem(position, true);\n            }\n        });\n        viewModel.showEditAddressBookEntryDialog.observe(this, new Event.Observer<Address>() {\n            @Override\n            protected void onEvent(final Address address) {\n                EditAddressBookEntryFragment.edit(fragmentManager, address);\n            }\n        });\n        viewModel.showScanOwnAddressDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                final DialogBuilder dialog = DialogBuilder.dialog(AddressBookActivity.this,\n                        R.string.address_book_options_scan_title, R.string.address_book_options_scan_own_address);\n                dialog.singleDismissButton(null);\n                dialog.show();\n            }\n        });\n        viewModel.showScanInvalidDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                final DialogBuilder dialog = DialogBuilder.dialog(AddressBookActivity.this,\n                        R.string.address_book_options_scan_title, R.string.address_book_options_scan_invalid);\n                dialog.singleDismissButton(null);\n                dialog.show();\n            }\n        });\n\n        if (twoPanes) {\n            final RecyclerView recyclerView = (RecyclerView) pager.getChildAt(0);\n            recyclerView.setClipToPadding(false);\n            recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(() -> {\n                final int width = recyclerView.getWidth();\n                recyclerView.setPadding(0, 0, width / 2, 0);\n                pager.setCurrentItem(0);\n            });\n            pager.setUserInputEnabled(false);\n            pagerTabs.setMode(ViewPagerTabs.Mode.STATIC);\n        } else {\n            pager.setPageTransformer(new ZoomOutPageTransformer());\n            pager.registerOnPageChangeCallback(pagerTabs.getPageChangeCallback());\n            pagerTabs.setMode(ViewPagerTabs.Mode.DYNAMIC);\n        }\n\n        pager.setOffscreenPageLimit(1);\n        pager.setAdapter(new AddressBookActivity.PagerAdapter());\n    }\n\n    @Override\n    public void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {\n        if (requestCode == REQUEST_CODE_SCAN) {\n            if (resultCode == Activity.RESULT_OK) {\n                final String input = intent.getStringExtra(ScanActivity.INTENT_EXTRA_RESULT);\n\n                new InputParser.StringInputParser(input) {\n                    @Override\n                    protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                        if (paymentIntent.hasAddress()) {\n                            final Wallet wallet = walletActivityViewModel.wallet.getValue();\n                            final Address address = paymentIntent.getAddress();\n                            if (!wallet.isAddressMine(address)) {\n                                viewModel.showEditAddressBookEntryDialog.setValue(new Event<>(address));\n                            } else {\n                                viewModel.showScanOwnAddressDialog.setValue(Event.simple());\n                            }\n                        } else {\n                            viewModel.showScanInvalidDialog.setValue(Event.simple());\n                        }\n                    }\n\n                    @Override\n                    protected void handleDirectTransaction(final Transaction transaction) throws VerificationException {\n                        cannotClassify(input);\n                    }\n\n                    @Override\n                    protected void error(final int messageResId, final Object... messageArgs) {\n                        viewModel.showScanInvalidDialog.setValue(Event.simple());\n                    }\n                }.parse();\n            }\n        } else {\n            super.onActivityResult(requestCode, resultCode, intent);\n        }\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(final Menu menu) {\n        getMenuInflater().inflate(R.menu.address_book_activity_options, menu);\n        final PackageManager pm = getPackageManager();\n        menu.findItem(R.id.sending_addresses_options_scan).setVisible(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)\n                || pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT));\n        return super.onCreateOptionsMenu(menu);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        int itemId = item.getItemId();\n        if (itemId == R.id.sending_addresses_options_scan) {\n            ScanActivity.startForResult(this, REQUEST_CODE_SCAN);\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    private class PagerAdapter extends FragmentStateAdapter {\n        public PagerAdapter() {\n            super(AddressBookActivity.this);\n        }\n\n        @Override\n        public int getItemCount() {\n            return 2;\n        }\n\n        @NonNull\n        @Override\n        public Fragment createFragment(final int position) {\n            if (position == POSITION_WALLET_ADDRESSES)\n                return new WalletAddressesFragment();\n            else if (position == POSITION_SENDING_ADDRESSES)\n                return new SendingAddressesFragment();\n            else\n                throw new IllegalArgumentException();\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AddressBookAdapter.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport android.widget.Toolbar;\nimport androidx.annotation.ColorInt;\nimport androidx.annotation.Dimension;\nimport androidx.annotation.MainThread;\nimport androidx.annotation.Nullable;\nimport androidx.cardview.widget.CardView;\nimport androidx.recyclerview.widget.DiffUtil;\nimport androidx.recyclerview.widget.ListAdapter;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.google.common.hash.HashFunction;\nimport com.google.common.hash.Hashing;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.ECKey;\nimport org.bitcoinj.wallet.Wallet;\n\nimport java.nio.ByteBuffer;\nimport java.nio.charset.StandardCharsets;\nimport java.util.ArrayList;\nimport java.util.Collection;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Objects;\n\n/**\n * @author Andreas Schildbach\n */\npublic class AddressBookAdapter extends ListAdapter<AddressBookAdapter.ListItem, RecyclerView.ViewHolder> {\n    public static List<ListItem> buildListItems(final Context context,\n                                                final Collection<Address> derivedAddresses,\n                                                final Collection<Address> randomAddresses,\n                                                @Nullable final Wallet wallet,\n                                                @Nullable final Map<String, AddressBookEntry> addressBook) {\n        final List<ListItem> items = new ArrayList<>(derivedAddresses.size() + randomAddresses.size());\n        addListItems(items, derivedAddresses, context, wallet, addressBook);\n        if (!derivedAddresses.isEmpty() && !randomAddresses.isEmpty())\n            items.add(new ListItem.SeparatorItem(context.getString(R.string.address_book_list_receiving_random)));\n        addListItems(items, randomAddresses, context, wallet, addressBook);\n        return items;\n    }\n\n    private static void addListItems(final List<ListItem> items,\n                                     final Collection<Address> addresses, final Context context,\n                                     @Nullable final Wallet wallet,\n                                     @Nullable final Map<String, AddressBookEntry> addressBook) {\n        final int colorSignificant = context.getColor(R.color.fg_significant);\n        final int colorInsignificant = context.getColor(R.color.fg_insignificant);\n        final int colorLessSignificant = context.getColor(R.color.fg_less_significant);\n        final int colorError = context.getColor(R.color.fg_error);\n\n        final Address currentAddress = wallet != null ? wallet.currentReceiveAddress() : null;\n        for (final Address address : addresses) {\n            final boolean isRotateKey;\n            if (wallet != null) {\n                final ECKey key = wallet.findKeyFromAddress(address);\n                isRotateKey = wallet.isKeyRotating(key);\n            } else {\n                isRotateKey = false;\n            }\n            final int addressColor = isRotateKey ? colorInsignificant : colorSignificant;\n            final String label;\n            final int labelColor;\n            final AddressBookEntry entry = addressBook != null ? addressBook.get(address.toString()) : null;\n            if (entry != null) {\n                label = entry.getLabel();\n                labelColor = isRotateKey ? colorInsignificant : colorLessSignificant;\n            } else {\n                label = null;\n                labelColor = colorInsignificant;\n            }\n            final String message;\n            final int messageColor;\n            if (address.equals(currentAddress)) {\n                message = context.getString(R.string.address_book_row_current_address);\n                messageColor = colorInsignificant;\n            } else if (isRotateKey) {\n                message = context.getString(R.string.address_book_row_message_compromised_key);\n                messageColor = colorError;\n            } else {\n                message = null;\n                messageColor = 0;\n            }\n            items.add(new ListItem.AddressItem(address, addressColor, label, labelColor, message, messageColor));\n        }\n    }\n\n    public static List<ListItem> buildListItems(final Context context, final List<AddressBookEntry> addressBook) {\n        final int colorSignificant = context.getColor(R.color.fg_significant);\n        final int colorLessSignificant = context.getColor(R.color.fg_less_significant);\n\n        final List<ListItem> items = new ArrayList<>(addressBook.size());\n        for (final AddressBookEntry entry : addressBook) {\n            final Address address = Address.fromString(Constants.NETWORK_PARAMETERS, entry.getAddress());\n            items.add(new ListItem.AddressItem(address, colorSignificant, entry.getLabel(), colorLessSignificant,\n                    null, 0));\n        }\n        return items;\n    }\n\n    public static abstract class ListItem {\n        // internal item id\n        public final long id;\n\n        private ListItem(final long id) {\n            this.id = id;\n        }\n\n        public static class AddressItem extends ListItem {\n            public final Address address;\n            @ColorInt\n            public final int addressColor;\n            @Nullable\n            public final String label;\n            @ColorInt\n            public final int labelColor;\n            @Nullable\n            public final String message;\n            @ColorInt\n            public final int messageColor;\n\n            public AddressItem(final Address address, @ColorInt final int addressColor, final String label,\n                               @ColorInt final int labelColor, final String message, @ColorInt final int messageColor) {\n                super(id(address));\n                this.address = address;\n                this.addressColor = addressColor;\n                this.label = label;\n                this.labelColor = labelColor;\n                this.message = message;\n                this.messageColor = messageColor;\n            }\n\n            private static long id(final Address address) {\n                return ByteBuffer.wrap(address.getHash()).getLong();\n            }\n        }\n\n        public static class SeparatorItem extends ListItem {\n            public final CharSequence label;\n\n            public SeparatorItem(final CharSequence label) {\n                super(id(label));\n                this.label = label;\n            }\n\n            private static long id(final CharSequence label) {\n                return ID_HASH.newHasher().putString(label, StandardCharsets.UTF_8).hash().asLong();\n            }\n        }\n\n        private static final HashFunction ID_HASH = Hashing.farmHashFingerprint64();\n    }\n\n    public interface OnClickListener {\n        void onAddressClick(View view, Address address, @Nullable String label);\n    }\n\n    public interface ContextMenuCallback {\n        void onInflateAddressContextMenu(MenuInflater inflater, Menu menu);\n\n        boolean onClickAddressContextMenuItem(MenuItem item, Address address, @Nullable String label);\n    }\n\n    private final LayoutInflater inflater;\n    private final MenuInflater menuInflater;\n    private final String labelUnlabeled;\n    @Dimension\n    private final int cardElevationSelected;\n\n    @Nullable\n    private final OnClickListener onClickListener;\n    @Nullable\n    private final ContextMenuCallback contextMenuCallback;\n    @Nullable\n    private Address selectedAddress;\n\n    private static final int VIEW_TYPE_ADDRESS = 0;\n    private static final int VIEW_TYPE_SEPARATOR = 1;\n\n    public AddressBookAdapter(final Context context, @Nullable final OnClickListener onClickListener,\n                              @Nullable final ContextMenuCallback contextMenuCallback) {\n        super(new DiffUtil.ItemCallback<ListItem>() {\n            @Override\n            public boolean areItemsTheSame(final ListItem oldItem, final ListItem newItem) {\n                return oldItem.id == newItem.id;\n            }\n\n            @Override\n            public boolean areContentsTheSame(final ListItem oldItem, final ListItem newItem) {\n                if (oldItem instanceof ListItem.AddressItem) {\n                    final ListItem.AddressItem oldAddressItem = (ListItem.AddressItem) oldItem;\n                    final ListItem.AddressItem newAddressItem = (ListItem.AddressItem) newItem;\n                    if (!Objects.equals(oldAddressItem.address, newAddressItem.address))\n                        return false;\n                    if (!Objects.equals(oldAddressItem.addressColor, newAddressItem.addressColor))\n                        return false;\n                    if (!Objects.equals(oldAddressItem.label, newAddressItem.label))\n                        return false;\n                    if (!Objects.equals(oldAddressItem.labelColor, newAddressItem.labelColor))\n                        return false;\n                    if (!Objects.equals(oldAddressItem.message, newAddressItem.message))\n                        return false;\n                    if (!Objects.equals(oldAddressItem.messageColor, newAddressItem.messageColor))\n                        return false;\n                    return true;\n                } else {\n                    return true;\n                }\n            }\n        });\n\n        this.inflater = LayoutInflater.from(context);\n        this.menuInflater = new MenuInflater(context);\n        this.onClickListener = onClickListener;\n        this.contextMenuCallback = contextMenuCallback;\n        this.labelUnlabeled = context.getString(R.string.address_unlabeled);\n        this.cardElevationSelected = context.getResources().getDimensionPixelOffset(R.dimen.card_elevation_selected);\n\n        setHasStableIds(true);\n    }\n\n    @MainThread\n    public void setSelectedAddress(final Address newSelectedAddress) {\n        if (Objects.equals(newSelectedAddress, selectedAddress))\n            return;\n        if (selectedAddress != null)\n            notifyItemChanged(positionOf(selectedAddress));\n        if (newSelectedAddress != null)\n            notifyItemChanged(positionOf(newSelectedAddress));\n        this.selectedAddress = newSelectedAddress;\n    }\n\n    @MainThread\n    public int positionOf(final Address address) {\n        if (address != null) {\n            final List<ListItem> list = getCurrentList();\n            for (int i = 0; i < list.size(); i++) {\n                final ListItem item = list.get(i);\n                if (item instanceof ListItem.AddressItem && ((ListItem.AddressItem) item).address.equals(address))\n                    return i;\n            }\n        }\n        return RecyclerView.NO_POSITION;\n    }\n\n    @Override\n    public int getItemViewType(final int position) {\n        final ListItem listItem = getItem(position);\n        if (listItem instanceof ListItem.AddressItem)\n            return VIEW_TYPE_ADDRESS;\n        else if (listItem instanceof ListItem.SeparatorItem)\n            return VIEW_TYPE_SEPARATOR;\n        else\n            throw new IllegalStateException();\n    }\n\n    @Override\n    public long getItemId(final int position) {\n        final ListItem listItem = getItem(position);\n        return listItem.id;\n    }\n\n    @Override\n    public RecyclerView.ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {\n        if (viewType == VIEW_TYPE_ADDRESS)\n            return new AddressViewHolder(inflater.inflate(R.layout.address_book_row, parent, false));\n        else if (viewType == VIEW_TYPE_SEPARATOR)\n            return new SeparatorViewHolder(inflater.inflate(R.layout.row_separator, parent, false));\n        else\n            throw new IllegalStateException(\"unknown type: \" + viewType);\n    }\n\n    @Override\n    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {\n        final ListItem listItem = getItem(position);\n        if (holder instanceof AddressViewHolder) {\n            final AddressViewHolder addressHolder = (AddressViewHolder) holder;\n            final ListItem.AddressItem addressItem = (ListItem.AddressItem) listItem;\n            addressHolder.label.setText(addressItem.label != null ? addressItem.label : labelUnlabeled);\n            addressHolder.label.setTextColor(addressItem.labelColor);\n            addressHolder.address.setText(WalletUtils.formatAddress(addressItem.address,\n                    Constants.ADDRESS_FORMAT_GROUP_SIZE,\n                    Constants.ADDRESS_FORMAT_LINE_SIZE));\n            addressHolder.address.setTextColor(addressItem.addressColor);\n            addressHolder.message.setVisibility(addressItem.message != null ? View.VISIBLE : View.GONE);\n            addressHolder.message.setText(addressItem.message);\n            addressHolder.message.setTextColor(addressItem.messageColor);\n            final boolean isSelected = addressItem.address.equals(selectedAddress);\n            addressHolder.itemView.setSelected(isSelected);\n            ((CardView) addressHolder.itemView).setCardElevation(isSelected ? cardElevationSelected : 0);\n            if (onClickListener != null)\n                addressHolder.itemView.setOnClickListener(v -> onClickListener.onAddressClick(v, addressItem.address,\n                        addressItem.label));\n            addressHolder.contextBar.setVisibility(View.GONE);\n            if (contextMenuCallback != null && isSelected) {\n                final Menu menu = addressHolder.contextBar.getMenu();\n                menu.clear();\n                contextMenuCallback.onInflateAddressContextMenu(menuInflater, menu);\n                if (menu.hasVisibleItems()) {\n                    addressHolder.contextBar.setVisibility(View.VISIBLE);\n                    addressHolder.contextBar.setOnMenuItemClickListener(item ->\n                            contextMenuCallback.onClickAddressContextMenuItem(item, addressItem.address, addressItem.label));\n                }\n            }\n        } else if (holder instanceof SeparatorViewHolder) {\n            final SeparatorViewHolder separatorHolder = (SeparatorViewHolder) holder;\n            final ListItem.SeparatorItem separatorItem = (ListItem.SeparatorItem) listItem;\n            separatorHolder.label.setText(separatorItem.label);\n        }\n    }\n\n    public static class AddressViewHolder extends RecyclerView.ViewHolder {\n        private final TextView label;\n        private final TextView address;\n        private final TextView message;\n        private final Toolbar contextBar;\n\n        private AddressViewHolder(final View itemView) {\n            super(itemView);\n            label = itemView.findViewById(R.id.address_book_row_label);\n            address = itemView.findViewById(R.id.address_book_row_address);\n            message = itemView.findViewById(R.id.address_book_row_message);\n            contextBar = itemView.findViewById(R.id.address_book_row_context_bar);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AddressBookViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\nimport org.bitcoinj.core.Address;\n\n/**\n * @author Andreas Schildbach\n */\npublic class AddressBookViewModel extends ViewModel {\n    public final MutableLiveData<Address> selectedAddress = new MutableLiveData<>();\n    public final MutableLiveData<Event<Integer>> pageTo = new MutableLiveData<>();\n    public final MutableLiveData<Event<Address>> showEditAddressBookEntryDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showScanOwnAddressDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showScanInvalidDialog = new MutableLiveData<>();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AlertDialogsFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Dialog;\nimport android.bluetooth.BluetoothAdapter;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.content.pm.PackageInfo;\nimport android.content.pm.PackageManager;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.text.format.DateUtils;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.base.Splitter;\nimport com.google.common.primitives.Ints;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.util.CrashReporter;\nimport de.schildbach.wallet.util.Installer;\nimport okhttp3.Call;\nimport okhttp3.ConnectionSpec;\nimport okhttp3.Headers;\nimport okhttp3.HttpUrl;\nimport okhttp3.OkHttpClient.Builder;\nimport okhttp3.Request;\nimport okhttp3.Response;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.BufferedReader;\nimport java.net.SocketException;\nimport java.net.SocketTimeoutException;\nimport java.net.UnknownHostException;\nimport java.util.Collections;\nimport java.util.Date;\nimport java.util.HashMap;\nimport java.util.Iterator;\nimport java.util.Locale;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\npublic class AlertDialogsFragment extends Fragment {\n    private static final String FRAGMENT_TAG = AlertDialogsFragment.class.getName();\n\n    public static void add(final FragmentManager fm) {\n        Fragment fragment = fm.findFragmentByTag(FRAGMENT_TAG);\n        if (fragment == null) {\n            fragment = new AlertDialogsFragment();\n            fm.beginTransaction().add(fragment, FRAGMENT_TAG).commit();\n        }\n    }\n\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private PackageManager packageManager;\n    private @Nullable Installer installer;\n\n    private AlertDialogsViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(AlertDialogsFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.packageManager = activity.getPackageManager();\n        this.installer = Installer.from(application);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        viewModel = new ViewModelProvider(this).get(AlertDialogsViewModel.class);\n        viewModel.showTimeskewAlertDialog.observe(this, new Event.Observer<Long>() {\n            @Override\n            protected void onEvent(final Long diffMinutes) {\n                log.info(\"showing timeskew alert dialog\");\n                createTimeskewAlertDialog(diffMinutes).show();\n            }\n        });\n        viewModel.showVersionAlertDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                log.info(\"showing version alert dialog\");\n                createVersionAlertDialog().show();\n            }\n        });\n        viewModel.showInsecureBluetoothAlertDialog.observe(this, new Event.Observer<String>() {\n            @Override\n            protected void onEvent(final String minSecurityPatchLevel) {\n                log.info(\"showing insecure bluetooth alert dialog\");\n                createInsecureBluetoothAlertDialog(minSecurityPatchLevel).show();\n            }\n        });\n        viewModel.showLowStorageAlertDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                log.info(\"showing low storage alert dialog\");\n                createLowStorageAlertDialog().show();\n            }\n        });\n        viewModel.showSettingsFailedDialog.observe(this, new Event.Observer<String>() {\n            @Override\n            protected void onEvent(final String message) {\n                log.info(\"showing settings failed dialog\");\n                createSettingsFailedDialog(message).show();\n            }\n        });\n\n        if (savedInstanceState == null)\n            process();\n    }\n\n    private void process() {\n        final PackageInfo packageInfo = application.packageInfo();\n        final HttpUrl.Builder url = Constants.VERSION_URL.newBuilder();\n        url.addEncodedQueryParameter(\"package\", packageInfo.packageName);\n        final String installerPackageName = Installer.installerPackageName(application);\n        if (installerPackageName != null)\n            url.addEncodedQueryParameter(\"installer\", installerPackageName);\n        url.addQueryParameter(\"sdk\", Integer.toString(Build.VERSION.SDK_INT));\n        url.addQueryParameter(\"current\", Integer.toString(packageInfo.versionCode));\n        final HttpUrl versionUrl = url.build();\n\n        AsyncTask.execute(() -> {\n            try {\n                log.debug(\"querying \\\"{}\\\"...\", versionUrl);\n                final Request.Builder request = new Request.Builder();\n                request.url(versionUrl);\n                final Headers.Builder headers = new Headers.Builder();\n                headers.add(\"Accept-Charset\", \"utf-8\");\n                final String userAgent = application.httpUserAgent();\n                if (userAgent != null)\n                    headers.add(\"User-Agent\", userAgent);\n                request.headers(headers.build());\n\n                final Builder httpClientBuilder = Constants.HTTP_CLIENT.newBuilder();\n                httpClientBuilder.connectionSpecs(Collections.singletonList(ConnectionSpec.RESTRICTED_TLS));\n                final Call call = httpClientBuilder.build().newCall(request.build());\n\n                final Response response = call.execute();\n                if (response.isSuccessful()) {\n                    // Maybe show timeskew alert.\n                    final Date serverDate = response.headers().getDate(\"Date\");\n                    if (serverDate != null) {\n                        final long diffMinutes = Math.abs(\n                                (System.currentTimeMillis() - serverDate.getTime()) / DateUtils.MINUTE_IN_MILLIS);\n                        if (diffMinutes >= 60) {\n                            log.info(\"according to \\\"\" + versionUrl + \"\\\", system clock is off by \" + diffMinutes\n                                    + \" minutes\");\n                            viewModel.showTimeskewAlertDialog.postValue(new Event<>(diffMinutes));\n                            return;\n                        }\n                    }\n\n                    // Read properties from server.\n                    final Map<String, String> properties = new HashMap<>();\n                    try (final BufferedReader reader = new BufferedReader(response.body().charStream())) {\n                        while (true) {\n                            final String line = reader.readLine();\n                            if (line == null)\n                                break;\n                            if (line.charAt(0) == '#')\n                                continue;\n\n                            final Splitter splitter = Splitter.on('=').trimResults();\n                            final Iterator<String> split = splitter.split(line).iterator();\n                            if (!split.hasNext())\n                                continue;\n                            final String key = split.next();\n                            if (!split.hasNext()) {\n                                properties.put(null, key);\n                                continue;\n                            }\n                            final String value = split.next();\n                            if (!split.hasNext()) {\n                                properties.put(key.toLowerCase(Locale.US), value);\n                                continue;\n                            }\n                            log.info(\"Ignoring line: {}\", line);\n                        }\n                    }\n\n                    // Maybe show version alert.\n                    String versionKey = null;\n                    String version = null;\n                    if (installer != null) {\n                        versionKey = \"version.\" + installer.name().toLowerCase(Locale.US);\n                        version = properties.get(versionKey);\n                    }\n                    if (version == null) {\n                        versionKey = \"version\";\n                        version = properties.get(versionKey);\n                    }\n                    if (version != null) {\n                        log.info(\"according to \\\"{}\\\", strongly recommended minimum app {} is \\\"{}\\\"\", versionUrl,\n                                versionKey, version);\n                        final Integer recommendedVersionCode = Ints.tryParse(version);\n                        if (recommendedVersionCode != null) {\n                            if (recommendedVersionCode > application.packageInfo().versionCode) {\n                                viewModel.showVersionAlertDialog.postValue(Event.simple());\n                                return;\n                            }\n                        }\n                    }\n\n                    // Maybe show insecure bluetooth alert.\n                    final String minSecurityPatchLevel = properties.get(\"min.security_patch.bluetooth\");\n                    if (minSecurityPatchLevel != null) {\n                        log.info(\"according to \\\"{}\\\", minimum security patch level for bluetooth is {}\",\n                                versionUrl, minSecurityPatchLevel);\n                        if (Build.VERSION.SECURITY_PATCH.compareTo(minSecurityPatchLevel) < 0) {\n                            final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();\n                            if (bluetoothAdapter != null && BluetoothAdapter.getDefaultAdapter().isEnabled()) {\n                                viewModel.showInsecureBluetoothAlertDialog\n                                        .postValue(new Event<>(minSecurityPatchLevel));\n                                return;\n                            }\n                        }\n                    }\n\n                    // Maybe show low storage alert.\n                    final Intent stickyIntent = activity.registerReceiver(null,\n                            new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW));\n                    if (stickyIntent != null) {\n                        viewModel.showLowStorageAlertDialog.postValue(Event.simple());\n                        return;\n                    }\n\n                    log.info(\"all good, no alert dialog shown\");\n                }\n            } catch (final Exception x) {\n                if (x instanceof UnknownHostException || x instanceof SocketException\n                        || x instanceof SocketTimeoutException) {\n                    // swallow\n                    log.debug(\"problem reading\", x);\n                } else {\n                    CrashReporter.saveBackgroundTrace(new RuntimeException(versionUrl.toString(), x),\n                            application.packageInfo());\n                    log.warn(\"problem parsing\", x);\n                }\n            }\n        });\n    }\n\n    private Dialog createTimeskewAlertDialog(final long diffMinutes) {\n        final Intent settingsIntent = new Intent(android.provider.Settings.ACTION_DATE_SETTINGS);\n        final DialogBuilder dialog = DialogBuilder.warn(activity, R.string.wallet_timeskew_dialog_title,\n                R.string.wallet_timeskew_dialog_msg, diffMinutes);\n        if (packageManager.resolveActivity(settingsIntent, 0) != null) {\n            dialog.setPositiveButton(R.string.button_settings, (d, id) -> {\n                try {\n                    startActivity(settingsIntent);\n                    activity.finish();\n                } catch (final Exception x) {\n                    viewModel.showSettingsFailedDialog.setValue(new Event<>(x.getMessage()));\n                }\n            });\n        }\n        dialog.setNegativeButton(R.string.button_dismiss, null);\n        return dialog.create();\n    }\n\n    private Dialog createVersionAlertDialog() {\n        final Installer installer = this.installer != null ? this.installer : Installer.F_DROID;\n        final Intent marketIntent = new Intent(Intent.ACTION_VIEW,\n                Uri.parse(installer.appStorePageFor(application).toString()));\n        final Intent binaryIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.BINARY_URL));\n\n        final StringBuilder message = new StringBuilder(\n                getString(R.string.wallet_version_dialog_msg, installer.displayName));\n        if (Build.VERSION.SDK_INT < Constants.SDK_DEPRECATED_BELOW)\n            message.append(\"\\n\\n\").append(getString(R.string.wallet_version_dialog_msg_deprecated));\n        final DialogBuilder dialog = DialogBuilder.warn(activity, R.string.wallet_version_dialog_title, message);\n\n        if (packageManager.resolveActivity(marketIntent, 0) != null) {\n            dialog.setPositiveButton(installer.displayName, (d, id) -> {\n                startActivity(marketIntent);\n                activity.finish();\n            });\n        }\n\n        if (packageManager.resolveActivity(binaryIntent, 0) != null) {\n            dialog.setNeutralButton(R.string.wallet_version_dialog_button_binary,\n                    (d, id) -> {\n                        startActivity(binaryIntent);\n                        activity.finish();\n                    });\n        }\n\n        dialog.setNegativeButton(R.string.button_dismiss, null);\n        return dialog.create();\n    }\n\n    private Dialog createInsecureBluetoothAlertDialog(final String minSecurityPatch) {\n        final Intent settingsIntent = new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS);\n        final DialogBuilder dialog = DialogBuilder.warn(activity,\n                R.string.alert_dialogs_fragment_insecure_bluetooth_title,\n                R.string.alert_dialogs_fragment_insecure_bluetooth_message, minSecurityPatch);\n        if (packageManager.resolveActivity(settingsIntent, 0) != null) {\n            dialog.setPositiveButton(R.string.button_settings, (d, id) -> {\n                try {\n                    startActivity(settingsIntent);\n                    activity.finish();\n                } catch (final Exception x) {\n                    viewModel.showSettingsFailedDialog.setValue(new Event<>(x.getMessage()));\n                }\n            });\n        }\n        dialog.setNegativeButton(R.string.button_dismiss, null);\n        return dialog.create();\n    }\n\n    private Dialog createLowStorageAlertDialog() {\n        final Intent settingsIntent = new Intent(android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);\n        final DialogBuilder dialog = DialogBuilder.warn(activity, R.string.wallet_low_storage_dialog_title,\n                R.string.wallet_low_storage_dialog_msg);\n        if (packageManager.resolveActivity(settingsIntent, 0) != null) {\n            dialog.setPositiveButton(R.string.wallet_low_storage_dialog_button_apps,\n                    (d, id) -> {\n                        try {\n                            startActivity(settingsIntent);\n                            activity.finish();\n                        } catch (final Exception x) {\n                            viewModel.showSettingsFailedDialog.setValue(new Event<>(x.getMessage()));\n                        }\n                    });\n        }\n        dialog.setNegativeButton(R.string.button_dismiss, null);\n        return dialog.create();\n    }\n\n    private Dialog createSettingsFailedDialog(final String exceptionMessage) {\n        final DialogBuilder dialog = DialogBuilder.dialog(activity,\n                R.string.alert_dialogs_fragment_settings_failed_title, exceptionMessage);\n        dialog.singleDismissButton(null);\n        return dialog.create();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/AlertDialogsViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\n\n/**\n * @author Andreas Schildbach\n */\npublic class AlertDialogsViewModel extends ViewModel {\n    public final MutableLiveData<Event<Long>> showTimeskewAlertDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showVersionAlertDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<String>> showInsecureBluetoothAlertDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showLowStorageAlertDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<String>> showSettingsFailedDialog = new MutableLiveData<>();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/BitmapFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.os.Bundle;\nimport android.view.Window;\nimport android.widget.ImageView;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport de.schildbach.wallet.R;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BitmapFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = BitmapFragment.class.getName();\n    private static final String KEY_BITMAP = \"bitmap\";\n\n    public static void show(final FragmentManager fm, final Bitmap bitmap) {\n        instance(bitmap).show(fm, FRAGMENT_TAG);\n    }\n\n    private static BitmapFragment instance(final Bitmap bitmap) {\n        final BitmapFragment fragment = new BitmapFragment();\n\n        final Bundle args = new Bundle();\n        args.putParcelable(KEY_BITMAP, bitmap);\n        fragment.setArguments(args);\n\n        return fragment;\n    }\n\n    private Activity activity;\n\n    private static final Logger log = LoggerFactory.getLogger(BitmapFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final Bundle args = getArguments();\n        final BitmapDrawable bitmap = new BitmapDrawable(getResources(), (Bitmap) args.getParcelable(KEY_BITMAP));\n        bitmap.setFilterBitmap(false);\n\n        final Dialog dialog = new Dialog(activity);\n        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);\n        dialog.setContentView(R.layout.bitmap_dialog);\n        dialog.setCanceledOnTouchOutside(true);\n\n        final ImageView imageView = dialog.findViewById(R.id.bitmap_dialog_image);\n        imageView.setImageDrawable(bitmap);\n        imageView.setOnClickListener(v -> dismissAllowingStateLoss());\n\n        return dialog;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/CircularProgressView.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Paint.Style;\nimport android.graphics.Path;\nimport android.graphics.Path.Direction;\nimport android.graphics.RectF;\nimport android.util.AttributeSet;\nimport android.view.View;\n\n/**\n * @author Andreas Schildbach\n */\npublic class CircularProgressView extends View {\n    private int width;\n    private int height;\n    private int progress = 1;\n    private int maxProgress = 1;\n    private int size = 1;\n    private int maxSize = 1;\n    private final Path path = new Path();\n    private final Paint fillPaint = new Paint();\n    private final Paint strokePaint = new Paint();\n\n    public CircularProgressView(final Context context, final AttributeSet attrs) {\n        super(context, attrs);\n\n        final float density = getResources().getDisplayMetrics().density;\n\n        fillPaint.setStyle(Style.FILL);\n        fillPaint.setColor(Color.parseColor(\"#44ff44\"));\n        fillPaint.setAntiAlias(true);\n\n        strokePaint.setStyle(Style.STROKE);\n        strokePaint.setColor(Color.DKGRAY);\n        strokePaint.setStrokeWidth(1 * density);\n        strokePaint.setAntiAlias(true);\n    }\n\n    @Override\n    protected void onDraw(final Canvas canvas) {\n        super.onDraw(canvas);\n\n        canvas.drawPath(path, fillPaint);\n        canvas.drawPath(path, strokePaint);\n    }\n\n    public void setColors(final int fillColor, final int strokeColor) {\n        fillPaint.setColor(fillColor);\n        strokePaint.setColor(strokeColor);\n        invalidate();\n    }\n\n    public void setProgress(final int progress) {\n        this.progress = progress;\n\n        updatePath(getWidth(), getHeight());\n        invalidate();\n    }\n\n    public void setMaxProgress(final int maxProgress) {\n        this.maxProgress = maxProgress;\n\n        updatePath(getWidth(), getHeight());\n        invalidate();\n    }\n\n    public void setSize(final int size) {\n        this.size = size;\n\n        updatePath(getWidth(), getHeight());\n        invalidate();\n    }\n\n    public void setMaxSize(final int maxSize) {\n        this.maxSize = maxSize;\n\n        updatePath(getWidth(), getHeight());\n        invalidate();\n    }\n\n    @Override\n    protected void onSizeChanged(final int w, final int h, final int oldw, final int oldh) {\n        updatePath(w, h);\n\n        super.onSizeChanged(w, h, oldw, oldh);\n    }\n\n    private void updatePath(final int w, final int h) {\n        final float maxAbsSize = Math.min(w, h) / 2f;\n        final float absSize = size < maxSize ? maxAbsSize * size / maxSize : maxAbsSize - 1;\n\n        path.reset();\n\n        if (progress == 0) {\n            path.close();\n        } else if (progress < maxProgress) {\n            final float angle = (float) (progress * 360) / maxProgress;\n            final float x = w / 2f;\n            final float y = h / 2f;\n\n            path.moveTo(x, y);\n            path.arcTo(new RectF(x - absSize, y - absSize, x + absSize, y + absSize), 270, angle);\n            path.close();\n        } else {\n            path.addCircle(w / 2f, h / 2f, absSize, Direction.CW);\n        }\n    }\n\n    @Override\n    protected void onMeasure(final int wMeasureSpec, final int hMeasureSpec) {\n        final int wMode = MeasureSpec.getMode(wMeasureSpec);\n        final int wSize = MeasureSpec.getSize(wMeasureSpec);\n\n        if (wMode == MeasureSpec.EXACTLY)\n            width = wSize;\n        else if (wMode == MeasureSpec.AT_MOST)\n            width = Math.min(width, wSize);\n\n        final int hMode = MeasureSpec.getMode(hMeasureSpec);\n        final int hSize = MeasureSpec.getSize(hMeasureSpec);\n\n        if (hMode == MeasureSpec.EXACTLY)\n            height = hSize;\n        else if (hMode == MeasureSpec.AT_MOST)\n            height = Math.min(height, hSize);\n\n        setMeasuredDimension(this.width, this.height);\n    }\n\n    @Override\n    public int getBaseline() {\n        return getMeasuredHeight() - 1;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/CurrencyAmountView.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.graphics.Paint;\nimport android.graphics.drawable.Drawable;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.text.Editable;\nimport android.text.InputType;\nimport android.text.Spannable;\nimport android.text.TextWatcher;\nimport android.util.AttributeSet;\nimport android.view.Gravity;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.EditText;\nimport android.widget.FrameLayout;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.util.GenericUtils;\nimport de.schildbach.wallet.util.MonetarySpannable;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Monetary;\nimport org.bitcoinj.utils.MonetaryFormat;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class CurrencyAmountView extends FrameLayout {\n    public interface Listener {\n        void changed();\n\n        void focusChanged(final boolean hasFocus);\n    }\n\n    private int significantColor, lessSignificantColor, errorColor;\n    private Drawable deleteButtonDrawable, contextButtonDrawable;\n    private Drawable currencySymbolDrawable;\n    private String localCurrencyCode = null;\n    private MonetaryFormat inputFormat;\n    private Monetary hint = null;\n    private MonetaryFormat hintFormat = new MonetaryFormat().noCode();\n    private boolean amountSigned = false;\n    private boolean validateAmount = true;\n\n    private TextView textView;\n    private View contextButton;\n    private Listener listener;\n    private OnClickListener contextButtonClickListener;\n\n    public CurrencyAmountView(final Context context) {\n        super(context);\n        init(context);\n    }\n\n    public CurrencyAmountView(final Context context, final AttributeSet attrs) {\n        super(context, attrs);\n        init(context);\n    }\n\n    private void init(final Context context) {\n        significantColor = context.getColor(R.color.fg_significant);\n        lessSignificantColor = context.getColor(R.color.fg_less_significant);\n        errorColor = context.getColor(R.color.fg_error);\n        deleteButtonDrawable = context.getDrawable(R.drawable.ic_clear_grey600_24dp);\n    }\n\n    @Override\n    protected void onFinishInflate() {\n        super.onFinishInflate();\n\n        final Context context = getContext();\n\n        textView = (TextView) getChildAt(0);\n        textView.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);\n        textView.setHintTextColor(lessSignificantColor);\n        textView.setHorizontalFadingEdgeEnabled(true);\n        textView.setSingleLine();\n        setValidateAmount(textView instanceof EditText);\n        textView.addTextChangedListener(textViewListener);\n        textView.setOnFocusChangeListener(textViewListener);\n\n        contextButton = new View(context) {\n            @Override\n            protected void onMeasure(final int wMeasureSpec, final int hMeasureSpec) {\n                setMeasuredDimension(textView.getCompoundPaddingRight(), textView.getMeasuredHeight());\n            }\n        };\n        final LayoutParams chooseViewParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,\n                ViewGroup.LayoutParams.WRAP_CONTENT);\n        chooseViewParams.gravity = Gravity.RIGHT;\n        contextButton.setLayoutParams(chooseViewParams);\n        this.addView(contextButton);\n\n        updateAppearance();\n    }\n\n    public void setCurrencySymbol(@Nullable final String currencyCode) {\n        final String bitcoinSymbol = Character.toString(Constants.CHAR_BITCOIN);\n        final boolean hasBitcoinSymbol = textView.getPaint().hasGlyph(bitcoinSymbol);\n        final float textSize = textView.getTextSize();\n        final float smallerTextSize = textSize * (20f / 24f);\n        final float offset = textSize * 0.37f;\n        if (\"DOGE\".equals(currencyCode)) {\n            if (hasBitcoinSymbol)\n                currencySymbolDrawable = new CurrencySymbolDrawable(bitcoinSymbol, smallerTextSize,\n                        lessSignificantColor, offset);\n            else\n                currencySymbolDrawable = getContext().getDrawable(R.drawable.currency_symbol_btc);\n            localCurrencyCode = null;\n        } else if (\"mDOGE\".equals(currencyCode)) {\n            if (hasBitcoinSymbol)\n                currencySymbolDrawable = new CurrencySymbolDrawable(\"m\" + bitcoinSymbol, smallerTextSize,\n                        lessSignificantColor, offset);\n            else\n                currencySymbolDrawable = getContext().getDrawable(R.drawable.currency_symbol_mbtc);\n            localCurrencyCode = null;\n        } else if (\"µDOGE\".equals(currencyCode)) {\n            if (hasBitcoinSymbol)\n                currencySymbolDrawable = new CurrencySymbolDrawable(\"µ\" + bitcoinSymbol, smallerTextSize,\n                        lessSignificantColor, offset);\n            else\n                currencySymbolDrawable = getContext().getDrawable(R.drawable.currency_symbol_ubtc);\n            localCurrencyCode = null;\n        } else if (currencyCode != null) {\n            currencySymbolDrawable = new CurrencySymbolDrawable(GenericUtils.currencySymbol(currencyCode),\n                    smallerTextSize, lessSignificantColor, offset);\n            localCurrencyCode = currencyCode;\n        } else {\n            currencySymbolDrawable = null;\n            localCurrencyCode = null;\n        }\n\n        updateAppearance();\n    }\n\n    public void setInputFormat(final MonetaryFormat inputFormat) {\n        this.inputFormat = inputFormat.noCode();\n    }\n\n    public void setHintFormat(final MonetaryFormat hintFormat) {\n        this.hintFormat = hintFormat.noCode();\n        updateAppearance();\n    }\n\n    public void setHint(@Nullable final Monetary hint) {\n        this.hint = hint;\n        updateAppearance();\n    }\n\n    public void setAmountSigned(final boolean amountSigned) {\n        this.amountSigned = amountSigned;\n    }\n\n    public void setValidateAmount(final boolean validateAmount) {\n        this.validateAmount = validateAmount;\n    }\n\n    public void setContextButton(final int contextButtonResId, final OnClickListener contextButtonClickListener) {\n        this.contextButtonDrawable = getContext().getDrawable(contextButtonResId);\n        this.contextButtonClickListener = contextButtonClickListener;\n\n        updateAppearance();\n    }\n\n    public void setListener(final Listener listener) {\n        this.listener = listener;\n    }\n\n    @Nullable\n    public Monetary getAmount() {\n        if (!isValidAmount(false))\n            return null;\n\n        final String amountStr = textView.getText().toString().trim();\n        if (localCurrencyCode == null)\n            return inputFormat.parse(amountStr);\n        else\n            return inputFormat.parseFiat(localCurrencyCode, amountStr);\n    }\n\n    public void setAmount(@Nullable final Monetary amount, final boolean fireListener) {\n        if (!fireListener)\n            textViewListener.setFire(false);\n\n        if (amount != null)\n            textView.setText(new MonetarySpannable(inputFormat, amountSigned, amount));\n        else\n            textView.setText(null);\n\n        if (!fireListener)\n            textViewListener.setFire(true);\n    }\n\n    @Override\n    public void setEnabled(final boolean enabled) {\n        super.setEnabled(enabled);\n\n        textView.setEnabled(enabled);\n\n        updateAppearance();\n    }\n\n    public void setTextColor(final int color) {\n        significantColor = color;\n\n        updateAppearance();\n    }\n\n    public void setStrikeThru(final boolean strikeThru) {\n        if (strikeThru)\n            textView.setPaintFlags(textView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);\n        else\n            textView.setPaintFlags(textView.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);\n    }\n\n    public TextView getTextView() {\n        return textView;\n    }\n\n    public void setNextFocusId(final int nextFocusId) {\n        textView.setNextFocusDownId(nextFocusId);\n        textView.setNextFocusForwardId(nextFocusId);\n    }\n\n    private boolean isValidAmount(final boolean zeroIsValid) {\n        final String str = textView.getText().toString().trim();\n\n        try {\n            if (!str.isEmpty()) {\n                final Monetary amount;\n                if (localCurrencyCode == null) {\n                    amount = inputFormat.parse(str);\n                    if (((Coin) amount).isGreaterThan(Constants.NETWORK_PARAMETERS.getMaxMoney()))\n                        return false;\n                } else {\n                    amount = inputFormat.parseFiat(localCurrencyCode, str);\n                }\n\n                // exactly zero\n                return zeroIsValid || amount.signum() > 0;\n            }\n        } catch (final Exception x) {\n        }\n\n        return false;\n    }\n\n    private final OnClickListener deleteClickListener = new OnClickListener() {\n        @Override\n        public void onClick(final View v) {\n            setAmount(null, true);\n            textView.requestFocus();\n        }\n    };\n\n    private void updateAppearance() {\n        final boolean enabled = textView.isEnabled();\n        final String amount = textView.getText().toString().trim();\n\n        if (enabled && !amount.isEmpty()) {\n            textView.setCompoundDrawablesWithIntrinsicBounds(currencySymbolDrawable, null, deleteButtonDrawable, null);\n            contextButton.setOnClickListener(deleteClickListener);\n            contextButton.setVisibility(View.VISIBLE);\n        } else if (enabled && contextButtonDrawable != null) {\n            textView.setCompoundDrawablesWithIntrinsicBounds(currencySymbolDrawable, null, contextButtonDrawable, null);\n            contextButton.setOnClickListener(contextButtonClickListener);\n            contextButton.setVisibility(View.VISIBLE);\n        } else {\n            textView.setCompoundDrawablesWithIntrinsicBounds(currencySymbolDrawable, null, null, null);\n            contextButton.setOnClickListener(null);\n            contextButton.setVisibility(View.GONE);\n        }\n\n        contextButton.requestLayout();\n\n        textView.setTextColor(!validateAmount || isValidAmount(true) ? significantColor : errorColor);\n\n        final Spannable hintSpannable = new MonetarySpannable(hintFormat, hint != null ? hint : Coin.ZERO)\n                .applyMarkup(null, MonetarySpannable.STANDARD_INSIGNIFICANT_SPANS);\n        textView.setHint(hintSpannable);\n    }\n\n    @Override\n    protected Parcelable onSaveInstanceState() {\n        final Bundle state = new Bundle();\n        state.putParcelable(\"super_state\", super.onSaveInstanceState());\n        state.putParcelable(\"child_textview\", textView.onSaveInstanceState());\n        state.putSerializable(\"amount\", getAmount());\n        return state;\n    }\n\n    @Override\n    protected void onRestoreInstanceState(final Parcelable state) {\n        if (state instanceof Bundle) {\n            final Bundle bundle = (Bundle) state;\n            super.onRestoreInstanceState(bundle.getParcelable(\"super_state\"));\n            textView.onRestoreInstanceState(bundle.getParcelable(\"child_textview\"));\n            setAmount((Monetary) bundle.getSerializable(\"amount\"), false);\n        } else {\n            super.onRestoreInstanceState(state);\n        }\n    }\n\n    private final TextViewListener textViewListener = new TextViewListener();\n\n    private final class TextViewListener implements TextWatcher, OnFocusChangeListener {\n        private boolean fire = true;\n\n        public void setFire(final boolean fire) {\n            this.fire = fire;\n        }\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n            // workaround for German keyboards\n            final String original = s.toString();\n            final String replaced = original.replace(',', '.');\n            if (!replaced.equals(original)) {\n                s.clear();\n                s.append(replaced);\n            }\n\n            MonetarySpannable.applyMarkup(s, null, MonetarySpannable.STANDARD_SIGNIFICANT_SPANS,\n                    MonetarySpannable.STANDARD_INSIGNIFICANT_SPANS);\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n            updateAppearance();\n            if (listener != null && fire)\n                listener.changed();\n        }\n\n        @Override\n        public void onFocusChange(final View v, final boolean hasFocus) {\n            if (!hasFocus) {\n                final Monetary amount = getAmount();\n                if (amount != null)\n                    setAmount(amount, false);\n            }\n\n            if (listener != null && fire)\n                listener.focusChanged(hasFocus);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/CurrencyCalculatorLink.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.view.View;\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.ui.CurrencyAmountView.Listener;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.utils.ExchangeRate;\nimport org.bitcoinj.utils.Fiat;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class CurrencyCalculatorLink {\n    private final CurrencyAmountView btcAmountView;\n    private final CurrencyAmountView localAmountView;\n\n    private Listener listener = null;\n    private boolean enabled = true;\n    private ExchangeRate exchangeRate = null;\n    private boolean exchangeDirection = true;\n\n    private final CurrencyAmountView.Listener btcAmountViewListener = new CurrencyAmountView.Listener() {\n        @Override\n        public void changed() {\n            if (btcAmountView.getAmount() != null)\n                setExchangeDirection(true);\n            else\n                localAmountView.setHint(null);\n\n            if (listener != null)\n                listener.changed();\n        }\n\n        @Override\n        public void focusChanged(final boolean hasFocus) {\n            if (listener != null)\n                listener.focusChanged(hasFocus);\n        }\n    };\n\n    private final CurrencyAmountView.Listener localAmountViewListener = new CurrencyAmountView.Listener() {\n        @Override\n        public void changed() {\n            if (localAmountView.getAmount() != null)\n                setExchangeDirection(false);\n            else\n                btcAmountView.setHint(null);\n\n            if (listener != null)\n                listener.changed();\n        }\n\n        @Override\n        public void focusChanged(final boolean hasFocus) {\n            if (listener != null)\n                listener.focusChanged(hasFocus);\n        }\n    };\n\n    public CurrencyCalculatorLink(final CurrencyAmountView btcAmountView, final CurrencyAmountView localAmountView) {\n        this.btcAmountView = btcAmountView;\n        this.btcAmountView.setListener(btcAmountViewListener);\n\n        this.localAmountView = localAmountView;\n        this.localAmountView.setListener(localAmountViewListener);\n\n        update();\n    }\n\n    public void setListener(@Nullable final Listener listener) {\n        this.listener = listener;\n    }\n\n    public void setEnabled(final boolean enabled) {\n        this.enabled = enabled;\n\n        update();\n    }\n\n    public void setExchangeRate(final ExchangeRate exchangeRate) {\n        this.exchangeRate = exchangeRate;\n\n        update();\n    }\n\n    public ExchangeRate getExchangeRate() {\n        return exchangeRate;\n    }\n\n    @Nullable\n    public Coin getAmount() {\n        if (exchangeDirection) {\n            return (Coin) btcAmountView.getAmount();\n        } else if (exchangeRate != null) {\n            final Fiat localAmount = (Fiat) localAmountView.getAmount();\n            if (localAmount == null)\n                return null;\n            try {\n                final Coin btcAmount = exchangeRate.fiatToCoin(localAmount);\n                if (((Coin) btcAmount).isGreaterThan(Constants.NETWORK_PARAMETERS.getMaxMoney()))\n                    throw new ArithmeticException();\n                return btcAmount;\n            } catch (ArithmeticException x) {\n                return null;\n            }\n        } else {\n            return null;\n        }\n    }\n\n    public boolean hasAmount() {\n        return getAmount() != null;\n    }\n\n    private void update() {\n        btcAmountView.setEnabled(enabled);\n\n        if (exchangeRate != null) {\n            localAmountView.setEnabled(enabled);\n            localAmountView.setCurrencySymbol(exchangeRate.fiat.currencyCode);\n\n            if (exchangeDirection) {\n                final Coin btcAmount = (Coin) btcAmountView.getAmount();\n                if (btcAmount != null) {\n                    btcAmountView.setHint(null);\n                    localAmountView.setAmount(null, false);\n                    try {\n                        final Fiat localAmount = exchangeRate.coinToFiat(btcAmount);\n                        localAmountView.setHint(localAmount);\n                    } catch (final ArithmeticException x) {\n                        localAmountView.setHint(null);\n                    }\n                }\n            } else {\n                final Fiat localAmount = (Fiat) localAmountView.getAmount();\n                if (localAmount != null) {\n                    localAmountView.setHint(null);\n                    btcAmountView.setAmount(null, false);\n                    try {\n                        final Coin btcAmount = exchangeRate.fiatToCoin(localAmount);\n                        if (((Coin) btcAmount).isGreaterThan(Constants.NETWORK_PARAMETERS.getMaxMoney()))\n                            throw new ArithmeticException();\n                        btcAmountView.setHint(btcAmount);\n                    } catch (final ArithmeticException x) {\n                        btcAmountView.setHint(null);\n                    }\n                }\n            }\n        } else {\n            localAmountView.setEnabled(false);\n            localAmountView.setHint(null);\n            btcAmountView.setHint(null);\n        }\n    }\n\n    public void setExchangeDirection(final boolean exchangeDirection) {\n        this.exchangeDirection = exchangeDirection;\n\n        update();\n    }\n\n    public boolean getExchangeDirection() {\n        return exchangeDirection;\n    }\n\n    public View activeTextView() {\n        if (exchangeDirection)\n            return btcAmountView.getTextView();\n        else\n            return localAmountView.getTextView();\n    }\n\n    public void requestFocus() {\n        activeTextView().requestFocus();\n    }\n\n    public void setBtcAmount(final Coin amount) {\n        final Listener listener = this.listener;\n        this.listener = null;\n\n        btcAmountView.setAmount(amount, true);\n\n        this.listener = listener;\n    }\n\n    public void setNextFocusId(final int nextFocusId) {\n        btcAmountView.setNextFocusId(nextFocusId);\n        localAmountView.setNextFocusId(nextFocusId);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/CurrencySymbolDrawable.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.graphics.Canvas;\nimport android.graphics.ColorFilter;\nimport android.graphics.Paint;\nimport android.graphics.PixelFormat;\nimport android.graphics.drawable.Drawable;\nimport de.schildbach.wallet.Constants;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class CurrencySymbolDrawable extends Drawable {\n    private final Paint paint = new Paint();\n    private final String symbol;\n    private final float y;\n\n    public CurrencySymbolDrawable(final String symbol, final float textSize, final int color, final float y) {\n        paint.setColor(color);\n        paint.setAntiAlias(true);\n        paint.setTextSize(textSize);\n\n        this.symbol = symbol + Constants.CHAR_HAIR_SPACE;\n        this.y = y;\n    }\n\n    @Override\n    public void draw(final Canvas canvas) {\n        canvas.drawText(symbol, 0, y, paint);\n    }\n\n    @Override\n    public int getIntrinsicWidth() {\n        return (int) paint.measureText(symbol);\n    }\n\n    @Override\n    public int getOpacity() {\n        return PixelFormat.TRANSLUCENT;\n    }\n\n    @Override\n    public void setAlpha(final int alpha) {\n    }\n\n    @Override\n    public void setColorFilter(final ColorFilter cf) {\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/CurrencyTextView.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.graphics.Paint;\nimport android.text.style.ForegroundColorSpan;\nimport android.text.style.RelativeSizeSpan;\nimport android.text.style.ScaleXSpan;\nimport android.util.AttributeSet;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.util.MonetarySpannable;\nimport org.bitcoinj.core.Monetary;\nimport org.bitcoinj.utils.MonetaryFormat;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class CurrencyTextView extends TextView {\n    private Monetary amount = null;\n    private MonetaryFormat format = null;\n    private boolean alwaysSigned = false;\n    private RelativeSizeSpan prefixRelativeSizeSpan = null;\n    private ScaleXSpan prefixScaleXSpan = null;\n    private ForegroundColorSpan prefixColorSpan = null;\n    private RelativeSizeSpan insignificantRelativeSizeSpan = null;\n\n    public CurrencyTextView(final Context context) {\n        super(context);\n    }\n\n    public CurrencyTextView(final Context context, final AttributeSet attrs) {\n        super(context, attrs);\n    }\n\n    public void setAmount(final Monetary amount) {\n        this.amount = amount;\n        updateView();\n    }\n\n    public void setFormat(@Nullable final MonetaryFormat format) {\n        this.format = format != null ? format.codeSeparator(Constants.CHAR_HAIR_SPACE) : null;\n        updateView();\n    }\n\n    public void setAlwaysSigned(final boolean alwaysSigned) {\n        this.alwaysSigned = alwaysSigned;\n        updateView();\n    }\n\n    public void setStrikeThru(final boolean strikeThru) {\n        if (strikeThru)\n            setPaintFlags(getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);\n        else\n            setPaintFlags(getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);\n    }\n\n    public void setInsignificantRelativeSize(final float insignificantRelativeSize) {\n        if (insignificantRelativeSize != 1) {\n            this.prefixRelativeSizeSpan = new RelativeSizeSpan(insignificantRelativeSize);\n            this.insignificantRelativeSizeSpan = new RelativeSizeSpan(insignificantRelativeSize);\n        } else {\n            this.prefixRelativeSizeSpan = null;\n            this.insignificantRelativeSizeSpan = null;\n        }\n    }\n\n    public void setPrefixColor(final int prefixColor) {\n        this.prefixColorSpan = new ForegroundColorSpan(prefixColor);\n        updateView();\n    }\n\n    public void setPrefixScaleX(final float prefixScaleX) {\n        this.prefixScaleXSpan = new ScaleXSpan(prefixScaleX);\n        updateView();\n    }\n\n    @Override\n    protected void onFinishInflate() {\n        super.onFinishInflate();\n\n        setPrefixColor(getContext().getColor(R.color.fg_less_significant));\n        setPrefixScaleX(1);\n        setInsignificantRelativeSize(0.85f);\n        setSingleLine();\n    }\n\n    private void updateView() {\n        final MonetarySpannable text;\n\n        if (amount != null)\n            text = new MonetarySpannable(format, alwaysSigned, amount).applyMarkup(\n                    new Object[] { prefixRelativeSizeSpan, prefixScaleXSpan, prefixColorSpan },\n                    new Object[] { insignificantRelativeSizeSpan });\n        else\n            text = null;\n\n        setText(text);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/DialogBuilder.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.AlertDialog;\nimport android.content.Context;\nimport android.content.DialogInterface.OnClickListener;\nimport android.graphics.drawable.Drawable;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport androidx.annotation.DrawableRes;\nimport androidx.annotation.Nullable;\nimport androidx.annotation.StringRes;\nimport de.schildbach.wallet.R;\n\n/**\n * @author Andreas Schildbach\n */\npublic class DialogBuilder extends AlertDialog.Builder {\n    private final View customTitle;\n    private final ImageView iconView;\n    private final TextView titleView;\n\n    public static DialogBuilder dialog(final Context context, @StringRes final int titleResId,\n                                       @StringRes final int messageResId,\n                                       final Object... messageArgs) {\n        return dialog(context, titleResId, context.getString(messageResId, messageArgs));\n    }\n\n    public static DialogBuilder dialog(final Context context, @StringRes final int titleResId, final CharSequence message) {\n        final DialogBuilder builder = new DialogBuilder(context);\n        if (titleResId != 0)\n            builder.setTitle(titleResId);\n        builder.setMessage(message);\n        return builder;\n    }\n\n    public static DialogBuilder warn(final Context context, @StringRes final int titleResId,\n                                     @StringRes final int messageResId,\n                                     final Object... messageArgs) {\n        return warn(context, titleResId, context.getString(messageResId, messageArgs));\n    }\n\n    public static DialogBuilder warn(final Context context, @StringRes final int titleResId,\n                                     final CharSequence message) {\n        final DialogBuilder builder = dialog(context, titleResId, message);\n        builder.setIcon(R.drawable.ic_warning_grey600_24dp);\n        return builder;\n    }\n\n    public static DialogBuilder custom(final Context context, @StringRes final int titleResId, final View view) {\n        final DialogBuilder builder = new DialogBuilder(context);\n        if (titleResId != 0)\n            builder.setTitle(titleResId);\n        builder.setView(view);\n        return builder;\n    }\n\n    protected DialogBuilder(final Context context) {\n        super(context, R.style.My_Theme_Dialog);\n        this.customTitle = LayoutInflater.from(context).inflate(R.layout.dialog_title, null);\n        this.iconView = customTitle.findViewById(android.R.id.icon);\n        this.titleView = customTitle.findViewById(android.R.id.title);\n    }\n\n    @Override\n    public DialogBuilder setIcon(final Drawable icon) {\n        if (icon != null) {\n            setCustomTitle(customTitle);\n            iconView.setImageDrawable(icon);\n            iconView.setVisibility(View.VISIBLE);\n        }\n\n        return this;\n    }\n\n    @Override\n    public DialogBuilder setIcon(@DrawableRes final int iconResId) {\n        if (iconResId != 0) {\n            setCustomTitle(customTitle);\n            iconView.setImageResource(iconResId);\n            iconView.setVisibility(View.VISIBLE);\n        }\n\n        return this;\n    }\n\n    @Override\n    public DialogBuilder setTitle(final CharSequence title) {\n        if (title != null) {\n            setCustomTitle(customTitle);\n            titleView.setText(title);\n        }\n\n        return this;\n    }\n\n    @Override\n    public DialogBuilder setTitle(@StringRes final int titleResId) {\n        if (titleResId != 0) {\n            setCustomTitle(customTitle);\n            titleView.setText(titleResId);\n        }\n\n        return this;\n    }\n\n    @Override\n    public DialogBuilder setMessage(final CharSequence message) {\n        super.setMessage(message);\n\n        return this;\n    }\n\n    @Override\n    public DialogBuilder setMessage(@StringRes final int messageResId) {\n        super.setMessage(messageResId);\n\n        return this;\n    }\n\n    public DialogBuilder singleDismissButton(@Nullable final OnClickListener dismissListener) {\n        setNeutralButton(R.string.button_dismiss, dismissListener);\n\n        return this;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/DialogEvent.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport androidx.annotation.StringRes;\n\n/**\n * @author Andreas Schildbach\n */\npublic class DialogEvent extends Event<DialogEvent.Params> {\n    public static DialogEvent dialog(@StringRes final int titleResId, @StringRes final int messageResId,\n                                     final Object... messageArgs) {\n        return new DialogEvent(false, titleResId, messageResId, messageArgs);\n    }\n\n    public static DialogEvent warn(@StringRes final int titleResId, @StringRes final int messageResId,\n                                   final Object... messageArgs) {\n        return new DialogEvent(true, titleResId, messageResId, messageArgs);\n    }\n\n    private DialogEvent(final boolean warn, @StringRes final int titleResId, @StringRes final int messageResId,\n                        final Object... messageArgs) {\n        super(new Params(warn, titleResId, messageResId, messageArgs));\n    }\n\n    public static class Observer extends Event.Observer<Params> {\n        private Context context;\n\n        public Observer(final Context context) {\n            this.context = context;\n        }\n\n        @Override\n        protected final void onEvent(final Params params) {\n            onDialogEvent(params.warn, params.titleResId, params.messageResId, params.messageArgs);\n        }\n\n        protected void onDialogEvent(final boolean warn, @StringRes final int titleResId,\n                                     @StringRes final int messageResId, final Object[] messageArgs) {\n            final DialogBuilder dialog;\n            if (warn)\n                dialog = DialogBuilder.warn(context, titleResId, messageResId, messageArgs);\n            else\n                dialog = DialogBuilder.dialog(context, titleResId, messageResId, messageArgs);\n            onBuildButtons(dialog);\n            dialog.show();\n        }\n\n        protected void onBuildButtons(final DialogBuilder dialog) {\n            dialog.singleDismissButton(null);\n        }\n    }\n\n    protected static class Params {\n        private final boolean warn;\n        @StringRes\n        private final int titleResId;\n        @StringRes\n        private final int messageResId;\n        private final Object[] messageArgs;\n\n        private Params(final boolean warn, @StringRes final int titleResId, @StringRes final int messageResId,\n                       final Object... messageArgs) {\n            this.warn = warn;\n            this.titleResId = titleResId;\n            this.messageResId = messageResId;\n            this.messageArgs = messageArgs;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/DividerItemDecoration.java",
    "content": "/*\n * Copyright (C) 2014 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Canvas;\nimport android.graphics.Rect;\nimport android.graphics.drawable.Drawable;\nimport android.view.View;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\npublic class DividerItemDecoration extends RecyclerView.ItemDecoration {\n    private static final int[] ATTRS = new int[] { android.R.attr.listDivider };\n\n    public static final int HORIZONTAL_LIST = LinearLayoutManager.HORIZONTAL;\n    public static final int VERTICAL_LIST = LinearLayoutManager.VERTICAL;\n\n    private final Drawable mDivider;\n    private int mOrientation;\n\n    public DividerItemDecoration(final Context context, final int orientation) {\n        final TypedArray a = context.obtainStyledAttributes(ATTRS);\n        mDivider = a.getDrawable(0);\n        a.recycle();\n        setOrientation(orientation);\n    }\n\n    public void setOrientation(final int orientation) {\n        if (orientation != HORIZONTAL_LIST && orientation != VERTICAL_LIST)\n            throw new IllegalArgumentException(\"invalid orientation\");\n\n        mOrientation = orientation;\n    }\n\n    @Override\n    public void onDraw(final Canvas c, final RecyclerView parent) {\n        if (mOrientation == VERTICAL_LIST)\n            drawVertical(c, parent);\n        else\n            drawHorizontal(c, parent);\n    }\n\n    public void drawVertical(final Canvas c, final RecyclerView parent) {\n        final int left = parent.getPaddingLeft();\n        final int right = parent.getWidth() - parent.getPaddingRight();\n        final int childCount = parent.getChildCount();\n\n        for (int i = 0; i < childCount; i++) {\n            final View child = parent.getChildAt(i);\n            final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();\n            final int top = child.getBottom() + params.bottomMargin + Math.round(child.getTranslationY());\n            final int bottom = top + mDivider.getIntrinsicHeight();\n            mDivider.setBounds(left, top, right, bottom);\n            mDivider.draw(c);\n        }\n    }\n\n    public void drawHorizontal(final Canvas c, final RecyclerView parent) {\n        final int top = parent.getPaddingTop();\n        final int bottom = parent.getHeight() - parent.getPaddingBottom();\n        final int childCount = parent.getChildCount();\n\n        for (int i = 0; i < childCount; i++) {\n            final View child = parent.getChildAt(i);\n            final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();\n            final int left = child.getRight() + params.rightMargin + Math.round(child.getTranslationX());\n            final int right = left + mDivider.getIntrinsicHeight();\n            mDivider.setBounds(left, top, right, bottom);\n            mDivider.draw(c);\n        }\n    }\n\n    @Override\n    public void getItemOffsets(final Rect outRect, final int itemPosition, final RecyclerView parent) {\n        if (mOrientation == VERTICAL_LIST)\n            outRect.set(0, 0, 0, mDivider.getIntrinsicHeight());\n        else\n            outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/EditAddressBookEntryFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDao;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class EditAddressBookEntryFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = EditAddressBookEntryFragment.class.getName();\n\n    private static final String KEY_ADDRESS = \"address\";\n    private static final String KEY_SUGGESTED_ADDRESS_LABEL = \"suggested_address_label\";\n\n    public static void edit(final FragmentManager fm, final Address address) {\n        edit(fm, address, null);\n    }\n\n    private static void edit(final FragmentManager fm, final Address address,\n            @Nullable final String suggestedAddressLabel) {\n        final DialogFragment newFragment = EditAddressBookEntryFragment.instance(address, suggestedAddressLabel);\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    private static EditAddressBookEntryFragment instance(final Address address,\n            @Nullable final String suggestedAddressLabel) {\n        final EditAddressBookEntryFragment fragment = new EditAddressBookEntryFragment();\n\n        final Bundle args = new Bundle();\n        args.putString(KEY_ADDRESS, address.toString());\n        args.putString(KEY_SUGGESTED_ADDRESS_LABEL, suggestedAddressLabel);\n        fragment.setArguments(args);\n\n        return fragment;\n    }\n\n    private AbstractWalletActivity activity;\n    private AddressBookDao addressBookDao;\n    private Wallet wallet;\n\n    private static final Logger log = LoggerFactory.getLogger(EditAddressBookEntryFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        final WalletApplication application = activity.getWalletApplication();\n        this.addressBookDao = AddressBookDatabase.getDatabase(context).addressBookDao();\n        this.wallet = application.getWallet();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final Bundle args = getArguments();\n        final Address address = Address.fromString(Constants.NETWORK_PARAMETERS, args.getString(KEY_ADDRESS));\n        final String suggestedAddressLabel = args.getString(KEY_SUGGESTED_ADDRESS_LABEL);\n\n        final LayoutInflater inflater = LayoutInflater.from(activity);\n\n        final String label = addressBookDao.resolveLabel(address.toString());\n\n        final boolean isAdd = label == null;\n        final boolean isOwn = wallet.isAddressMine(address);\n        final int titleResId;\n        if (isOwn)\n            titleResId = isAdd ? R.string.edit_address_book_entry_dialog_title_add_receive\n                    : R.string.edit_address_book_entry_dialog_title_edit_receive;\n        else\n            titleResId = isAdd ? R.string.edit_address_book_entry_dialog_title_add\n                    : R.string.edit_address_book_entry_dialog_title_edit;\n\n        final View view = inflater.inflate(R.layout.edit_address_book_entry_dialog, null);\n\n        final TextView viewAddress = view.findViewById(R.id.edit_address_book_entry_address);\n        viewAddress.setText(WalletUtils.formatAddress(address, Constants.ADDRESS_FORMAT_GROUP_SIZE,\n                Constants.ADDRESS_FORMAT_LINE_SIZE));\n\n        final TextView viewLabel = view.findViewById(R.id.edit_address_book_entry_label);\n        viewLabel.setText(label != null ? label : suggestedAddressLabel);\n\n        final DialogBuilder dialog = DialogBuilder.custom(activity, titleResId, view);\n\n        final DialogInterface.OnClickListener onClickListener = (d, which) -> {\n            if (which == DialogInterface.BUTTON_POSITIVE) {\n                final String newLabel = viewLabel.getText().toString().trim();\n                if (!newLabel.isEmpty()) {\n                    addressBookDao.insertOrUpdate(new AddressBookEntry(address.toString(), newLabel));\n                    maybeSelectAddress(address);\n                } else if (!isAdd) {\n                    addressBookDao.delete(address.toString());\n                }\n            } else if (which == DialogInterface.BUTTON_NEUTRAL) {\n                addressBookDao.delete(address.toString());\n            }\n\n            dismiss();\n        };\n\n        dialog.setPositiveButton(isAdd ? R.string.button_add : R.string.edit_address_book_entry_dialog_button_edit,\n                onClickListener);\n        if (!isAdd)\n            dialog.setNeutralButton(R.string.button_delete, onClickListener);\n        dialog.setNegativeButton(R.string.button_cancel, (d, which) -> dismissAllowingStateLoss());\n\n        return dialog.create();\n    }\n\n    private void maybeSelectAddress(final Address address) {\n        // Yes, this is quite hacky. The delay is needed because if an address is added it takes a moment to appear\n        // in the address book.\n        if (activity instanceof AddressBookActivity) {\n            final AddressBookViewModel activityViewModel =\n                    new ViewModelProvider(activity).get(AddressBookViewModel.class);\n            new Handler().postDelayed(() -> activityViewModel.selectedAddress.setValue(address), 250);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/EncryptKeysDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.AlertDialog;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnShowListener;\nimport android.graphics.Typeface;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Process;\nimport android.text.Editable;\nimport android.text.TextWatcher;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.CheckBox;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.base.Strings;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.crypto.KeyCrypterException;\nimport org.bitcoinj.crypto.KeyCrypterScrypt;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bouncycastle.crypto.params.KeyParameter;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class EncryptKeysDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = EncryptKeysDialogFragment.class.getName();\n\n    public static void show(final FragmentManager fm) {\n        final DialogFragment newFragment = new EncryptKeysDialogFragment();\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n    private Wallet wallet;\n\n    @Nullable\n    private AlertDialog dialog;\n\n    private View oldPasswordGroup;\n    private EditText oldPasswordView;\n    private EditText newPasswordView;\n    private View badPasswordView;\n    private TextView passwordStrengthView;\n    private CheckBox showView;\n    private Button positiveButton, negativeButton;\n\n    private final Handler handler = new Handler();\n    private HandlerThread backgroundThread;\n    private Handler backgroundHandler;\n\n    private WalletActivityViewModel activityViewModel;\n\n    private enum State {\n        INPUT, CRYPTING, DONE\n    }\n\n    private State state = State.INPUT;\n\n    private static final Logger log = LoggerFactory.getLogger(EncryptKeysDialogFragment.class);\n\n    private final TextWatcher textWatcher = new TextWatcher() {\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n            badPasswordView.setVisibility(View.INVISIBLE);\n            updateView();\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n        }\n    };\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n        this.wallet = application.getWallet();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n\n        activityViewModel = new ViewModelProvider(activity).get(WalletActivityViewModel.class);\n\n        backgroundThread = new HandlerThread(\"backgroundThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        backgroundThread.start();\n        backgroundHandler = new Handler(backgroundThread.getLooper());\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final View view = LayoutInflater.from(activity).inflate(R.layout.encrypt_keys_dialog, null);\n\n        oldPasswordGroup = view.findViewById(R.id.encrypt_keys_dialog_password_old_group);\n\n        oldPasswordView = view.findViewById(R.id.encrypt_keys_dialog_password_old);\n        oldPasswordView.setText(null);\n\n        newPasswordView = view.findViewById(R.id.encrypt_keys_dialog_password_new);\n        newPasswordView.setText(null);\n\n        badPasswordView = view.findViewById(R.id.encrypt_keys_dialog_bad_password);\n\n        passwordStrengthView = view.findViewById(R.id.encrypt_keys_dialog_password_strength);\n\n        showView = view.findViewById(R.id.encrypt_keys_dialog_show);\n\n        final DialogBuilder builder = DialogBuilder.custom(activity, R.string.encrypt_keys_dialog_title, view);\n        // dummies, just to make buttons show\n        builder.setPositiveButton(R.string.button_ok, null);\n        builder.setNegativeButton(R.string.button_cancel, null);\n        builder.setCancelable(false);\n\n        final AlertDialog dialog = builder.create();\n        dialog.setCanceledOnTouchOutside(false);\n\n        dialog.setOnShowListener((OnShowListener) d -> {\n            positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);\n            negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);\n\n            positiveButton.setTypeface(Typeface.DEFAULT_BOLD);\n            positiveButton.setOnClickListener(v -> handleGo());\n\n            negativeButton.setOnClickListener(v -> dismissAllowingStateLoss());\n\n            oldPasswordView.addTextChangedListener(textWatcher);\n            newPasswordView.addTextChangedListener(textWatcher);\n\n            showView = dialog.findViewById(R.id.encrypt_keys_dialog_show);\n            showView.setOnCheckedChangeListener(new ShowPasswordCheckListener(newPasswordView, oldPasswordView));\n            showView.setChecked(true);\n\n            EncryptKeysDialogFragment.this.dialog = dialog;\n            updateView();\n        });\n\n        return dialog;\n    }\n\n    @Override\n    public void onResume() {\n        super.onResume();\n\n        updateView();\n    }\n\n    @Override\n    public void onDismiss(final DialogInterface dialog) {\n        this.dialog = null;\n\n        oldPasswordView.removeTextChangedListener(textWatcher);\n        newPasswordView.removeTextChangedListener(textWatcher);\n\n        showView.setOnCheckedChangeListener(null);\n\n        wipePasswords();\n\n        super.onDismiss(dialog);\n    }\n\n    @Override\n    public void onDestroy() {\n        backgroundThread.getLooper().quit();\n\n        super.onDestroy();\n    }\n\n    private void handleGo() {\n        final String oldPassword = Strings.emptyToNull(oldPasswordView.getText().toString().trim());\n        final String newPassword = Strings.emptyToNull(newPasswordView.getText().toString().trim());\n\n        if (oldPassword != null && newPassword != null)\n            log.info(\"changing spending password\");\n        else if (newPassword != null)\n            log.info(\"setting spending password\");\n        else if (oldPassword != null)\n            log.info(\"removing spending password\");\n        else\n            throw new IllegalStateException();\n\n        state = State.CRYPTING;\n        updateView();\n\n        backgroundHandler.post(() -> {\n            // For the old key, we use the key crypter that was used to derive the password in the first\n            // place.\n            final KeyParameter oldKey = oldPassword != null ? wallet.getKeyCrypter().deriveKey(oldPassword) : null;\n\n            // For the new key, we create a new key crypter according to the desired parameters.\n            final KeyCrypterScrypt keyCrypter = new KeyCrypterScrypt(application.scryptIterationsTarget());\n            final KeyParameter newKey = newPassword != null ? keyCrypter.deriveKey(newPassword) : null;\n\n            handler.post(() -> {\n                // Decrypt from old password\n                if (wallet.isEncrypted()) {\n                    if (oldKey == null) {\n                        log.info(\"wallet is encrypted, but did not provide spending password\");\n                        state = State.INPUT;\n                        oldPasswordView.requestFocus();\n                    } else {\n                        try {\n                            wallet.decrypt(oldKey);\n\n                            state = State.DONE;\n                            log.info(\"wallet successfully decrypted\");\n                        } catch (final KeyCrypterException x) {\n                            log.info(\"wallet decryption failed: \" + x.getMessage());\n                            badPasswordView.setVisibility(View.VISIBLE);\n                            state = State.INPUT;\n                            oldPasswordView.requestFocus();\n                        }\n                    }\n                }\n\n                // Use opportunity to maybe upgrade wallet\n                if (wallet.isDeterministicUpgradeRequired(Constants.UPGRADE_OUTPUT_SCRIPT_TYPE)\n                        && !wallet.isEncrypted())\n                    wallet.upgradeToDeterministic(Constants.UPGRADE_OUTPUT_SCRIPT_TYPE, null);\n\n                // Encrypt to new password\n                if (newKey != null && !wallet.isEncrypted()) {\n                    wallet.encrypt(keyCrypter, newKey);\n                    config.updateLastEncryptKeysTime();\n                    log.info(\n                            \"wallet successfully encrypted, using key derived by new spending password ({} scrypt iterations)\",\n                            keyCrypter.getScryptParameters().getN());\n                    state = State.DONE;\n                }\n\n                updateView();\n\n                if (state == State.DONE) {\n                    WalletUtils.autoBackupWallet(activity, wallet);\n                    // trigger load manually because of missing callbacks for encryption state\n                    activityViewModel.walletEncrypted.load();\n                    handler.postDelayed(() -> dismiss(), 2000);\n                }\n            });\n        });\n    }\n\n    private void wipePasswords() {\n        oldPasswordView.setText(null);\n        newPasswordView.setText(null);\n    }\n\n    private void updateView() {\n        if (dialog == null)\n            return;\n\n        final boolean hasOldPassword = !oldPasswordView.getText().toString().trim().isEmpty();\n        final boolean hasPassword = !newPasswordView.getText().toString().trim().isEmpty();\n\n        oldPasswordGroup.setVisibility(wallet.isEncrypted() ? View.VISIBLE : View.GONE);\n        oldPasswordView.setEnabled(state == State.INPUT);\n\n        newPasswordView.setEnabled(state == State.INPUT);\n\n        final int passwordLength = newPasswordView.getText().length();\n        passwordStrengthView.setVisibility(state == State.INPUT && passwordLength > 0 ? View.VISIBLE : View.INVISIBLE);\n        if (passwordLength < 4) {\n            passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_weak);\n            passwordStrengthView.setTextColor(activity.getColor(R.color.fg_password_strength_weak));\n        } else if (passwordLength < 6) {\n            passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_fair);\n            passwordStrengthView.setTextColor(activity.getColor(R.color.fg_password_strength_fair));\n        } else if (passwordLength < 8) {\n            passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_good);\n            passwordStrengthView.setTextColor(activity.getColor(R.color.fg_password_strength_good));\n        } else {\n            passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_strong);\n            passwordStrengthView.setTextColor(activity.getColor(R.color.fg_password_strength_strong));\n        }\n\n        showView.setEnabled(state == State.INPUT);\n\n        if (state == State.INPUT) {\n            if (wallet.isEncrypted()) {\n                positiveButton.setText(hasPassword ? R.string.button_edit : R.string.button_remove);\n                positiveButton.setEnabled(hasOldPassword);\n            } else {\n                positiveButton.setText(R.string.button_set);\n                positiveButton.setEnabled(hasPassword);\n            }\n\n            negativeButton.setEnabled(true);\n        } else if (state == State.CRYPTING) {\n            positiveButton.setText(newPasswordView.getText().toString().trim().isEmpty()\n                    ? R.string.encrypt_keys_dialog_state_decrypting : R.string.encrypt_keys_dialog_state_encrypting);\n            positiveButton.setEnabled(false);\n            negativeButton.setEnabled(false);\n        } else if (state == State.DONE) {\n            positiveButton.setText(R.string.encrypt_keys_dialog_state_done);\n            positiveButton.setEnabled(false);\n            negativeButton.setEnabled(false);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/Event.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport static androidx.core.util.Preconditions.checkState;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Event<T> {\n    private final T content;\n    private boolean hasBeenHandled = false;\n\n    public static Event<Void> simple() {\n        return new Event<>(null);\n    }\n\n    public Event(final T content) {\n        this.content = content;\n    }\n\n    public boolean hasBeenHandled() {\n        return hasBeenHandled;\n    }\n\n    public T getContentOrThrow() {\n        checkState(!hasBeenHandled);\n        hasBeenHandled = true;\n        return content;\n    }\n\n    public T getContentIfNotHandled() {\n        if (hasBeenHandled)\n            return null;\n        hasBeenHandled = true;\n        return content;\n    }\n\n    public static abstract class Observer<T> implements androidx.lifecycle.Observer<Event<T>> {\n        @Override\n        public final void onChanged(final Event<T> event) {\n            if (!event.hasBeenHandled())\n                onEvent(event.getContentOrThrow());\n        }\n\n        protected abstract void onEvent(final T content);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ExchangeRatesActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.os.Bundle;\nimport de.schildbach.wallet.R;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class ExchangeRatesActivity extends AbstractWalletActivity {\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        setContentView(R.layout.exchange_rates_content);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ExchangeRatesAdapter.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport android.widget.Toolbar;\nimport androidx.annotation.Dimension;\nimport androidx.annotation.MainThread;\nimport androidx.annotation.Nullable;\nimport androidx.cardview.widget.CardView;\nimport androidx.recyclerview.widget.DiffUtil;\nimport androidx.recyclerview.widget.ListAdapter;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.google.common.hash.HashFunction;\nimport com.google.common.hash.Hashing;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.exchangerate.ExchangeRateEntry;\nimport de.schildbach.wallet.service.BlockchainState;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.utils.ExchangeRate;\nimport org.bitcoinj.utils.Fiat;\nimport org.libdohj.params.AbstractDogecoinParams;\n\nimport java.util.ArrayList;\nimport java.util.EnumSet;\nimport java.util.List;\nimport java.util.Objects;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ExchangeRatesAdapter extends ListAdapter<ExchangeRatesAdapter.ListItem, ExchangeRatesAdapter.ViewHolder> {\n    public static List<ListItem> buildListItems(final List<ExchangeRateEntry> exchangeRates, final Coin balance,\n                                                final BlockchainState blockchainState, final String defaultCurrency,\n                                                final Coin rateBase) {\n        final List<ListItem> items = new ArrayList<>(exchangeRates.size());\n        for (final ExchangeRateEntry exchangeRate : exchangeRates) {\n            final ExchangeRate rate = exchangeRate.exchangeRate();\n            final String source = exchangeRate.getSource();\n            final String currencyCode = rate.fiat.currencyCode;\n            final Fiat baseRateAsFiat = rate.coinToFiat(rateBase);\n            final int baseRateMinDecimals = !rateBase.isLessThan(Coin.COIN) ? 2 : 4;\n            final Fiat balanceAsFiat = balance != null && (blockchainState == null || !blockchainState.replaying)\n                    ? rate.coinToFiat(balance) : null;\n            final boolean isDefault = currencyCode.equals(defaultCurrency);\n            items.add(new ListItem(source, currencyCode, baseRateAsFiat, baseRateMinDecimals,\n                    balanceAsFiat, isDefault));\n        }\n        return items;\n    }\n\n    public static class ListItem {\n        // internal item id\n        public final long id;\n\n        public final String currencyCode;\n        public final Fiat baseRateAsFiat;\n        public final int baseRateMinDecimals;\n        public final Fiat balanceAsFiat;\n        public final boolean isDefault;\n\n        public ListItem(final String source, final String currencyCode, final Fiat baseRateAsFiat,\n                        final int baseRateMinDecimals, final Fiat balanceAsFiat, final boolean isDefault) {\n            this.id = id(source, currencyCode);\n            this.currencyCode = currencyCode;\n            this.baseRateAsFiat = baseRateAsFiat;\n            this.baseRateMinDecimals = baseRateMinDecimals;\n            this.balanceAsFiat = balanceAsFiat;\n            this.isDefault = isDefault;\n        }\n\n        private static long id(final String source, final String currencyCode) {\n            return ID_HASH.newHasher().putUnencodedChars(source).putUnencodedChars(currencyCode).hash().asLong();\n        }\n\n        private static final HashFunction ID_HASH = Hashing.farmHashFingerprint64();\n    }\n\n    public interface OnClickListener {\n        void onExchangeRateClick(View view, String exchangeRateCode);\n    }\n\n    public interface ContextMenuCallback {\n        void onInflateBlockContextMenu(MenuInflater inflater, Menu menu);\n\n        boolean onClickBlockContextMenuItem(MenuItem item, String exchangeRateCode);\n    }\n\n    private final LayoutInflater inflater;\n    private final MenuInflater menuInflater;\n    @Dimension\n    private final int cardElevationSelected;\n\n    @Nullable\n    private final OnClickListener onClickListener;\n    @Nullable\n    private final ContextMenuCallback contextMenuCallback;\n    @Nullable\n    private String selectedExchangeRateCode;\n\n    private enum ChangeType {\n        RATE, DEFAULT, SELECTION\n    }\n\n    public ExchangeRatesAdapter(final Context context, @Nullable final OnClickListener onClickListener,\n                                @Nullable final ContextMenuCallback contextMenuCallback) {\n        super(new DiffUtil.ItemCallback<ListItem>() {\n            @Override\n            public boolean areItemsTheSame(final ListItem oldItem, final ListItem newItem) {\n                return oldItem.id == newItem.id;\n            }\n\n            @Override\n            public boolean areContentsTheSame(final ListItem oldItem, final ListItem newItem) {\n                if (!Objects.equals(oldItem.baseRateAsFiat, newItem.baseRateAsFiat))\n                    return false;\n                if (!Objects.equals(oldItem.baseRateMinDecimals, newItem.baseRateMinDecimals))\n                    return false;\n                if (!Objects.equals(oldItem.balanceAsFiat, newItem.balanceAsFiat))\n                    return false;\n                if (!Objects.equals(oldItem.isDefault, newItem.isDefault))\n                    return false;\n                return true;\n            }\n\n            @Nullable\n            @Override\n            public Object getChangePayload(final ListItem oldItem, final ListItem newItem) {\n                final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n                if (!(Objects.equals(oldItem.baseRateAsFiat, newItem.baseRateAsFiat)\n                        && Objects.equals(oldItem.baseRateMinDecimals, newItem.baseRateMinDecimals)\n                        && Objects.equals(oldItem.balanceAsFiat, newItem.balanceAsFiat)))\n                    changes.add(ChangeType.RATE);\n                if (!Objects.equals(oldItem.isDefault, newItem.isDefault))\n                    changes.add(ChangeType.DEFAULT);\n                return changes;\n            }\n        });\n\n        this.inflater = LayoutInflater.from(context);\n        this.menuInflater = new MenuInflater(context);\n        this.onClickListener = onClickListener;\n        this.contextMenuCallback = contextMenuCallback;\n        this.cardElevationSelected = context.getResources().getDimensionPixelOffset(R.dimen.card_elevation_selected);\n\n        setHasStableIds(true);\n    }\n\n    @MainThread\n    public void setSelectedExchangeRate(final String newSelectedExchangeRateCode) {\n        if (Objects.equals(newSelectedExchangeRateCode, selectedExchangeRateCode))\n            return;\n        if (selectedExchangeRateCode != null)\n            notifyItemChanged(positionOf(selectedExchangeRateCode), EnumSet.of(ChangeType.SELECTION));\n        if (newSelectedExchangeRateCode != null)\n            notifyItemChanged(positionOf(newSelectedExchangeRateCode), EnumSet.of(ChangeType.SELECTION));\n        this.selectedExchangeRateCode = newSelectedExchangeRateCode;\n    }\n\n    @MainThread\n    public int positionOf(final String exchangeRateCode) {\n        if (exchangeRateCode != null) {\n            final List<ListItem> list = getCurrentList();\n            for (int i = 0; i < list.size(); i++) {\n                final ListItem item = list.get(i);\n                if (item.currencyCode.equals(exchangeRateCode))\n                    return i;\n            }\n        }\n        return RecyclerView.NO_POSITION;\n    }\n\n    @Override\n    public long getItemId(final int position) {\n        final ListItem listItem = getItem(position);\n        return listItem.id;\n    }\n\n    @Override\n    public ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {\n        return new ViewHolder(inflater.inflate(R.layout.exchange_rate_row, parent, false));\n    }\n\n    @Override\n    public void onBindViewHolder(final ViewHolder holder, final int position) {\n        throw new UnsupportedOperationException();\n    }\n\n    @Override\n    public void onBindViewHolder(final ViewHolder holder, final int position, final List<Object> payloads) {\n        final boolean fullBind = payloads.isEmpty();\n        final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n        for (final Object payload : payloads)\n            changes.addAll((EnumSet<ChangeType>) payload);\n\n        final ListItem listItem = getItem(position);\n        if (fullBind || changes.contains(ChangeType.SELECTION)) {\n            final boolean isSelected = listItem.currencyCode.equals(selectedExchangeRateCode);\n            holder.itemView.setSelected(isSelected);\n            ((CardView) holder.itemView).setCardElevation(isSelected ? cardElevationSelected : 0);\n            holder.contextBar.setVisibility(View.GONE);\n            if (contextMenuCallback != null && isSelected) {\n                final Menu menu = holder.contextBar.getMenu();\n                menu.clear();\n                contextMenuCallback.onInflateBlockContextMenu(menuInflater, menu);\n                if (menu.hasVisibleItems()) {\n                    holder.contextBar.setVisibility(View.VISIBLE);\n                    holder.contextBar.setOnMenuItemClickListener(item ->\n                            contextMenuCallback.onClickBlockContextMenuItem(item, listItem.currencyCode));\n                }\n            }\n        }\n        if (fullBind || changes.contains(ChangeType.DEFAULT)) {\n            holder.defaultView.setVisibility(listItem.isDefault ? View.VISIBLE : View.INVISIBLE);\n        }\n        if (fullBind || changes.contains(ChangeType.RATE)) {\n            holder.rateView.setFormat(Constants.LOCAL_FORMAT.postfixCode().code(0, \"/1k\"));\n            holder.rateView.setAmount(listItem.baseRateAsFiat.multiply(1000));\n            holder.walletView.setFormat(Constants.LOCAL_FORMAT);\n            if (listItem.balanceAsFiat != null) {\n                holder.walletView.setAmount(listItem.balanceAsFiat);\n                holder.walletView.setStrikeThru(!Constants.NETWORK_PARAMETERS.getId().equals(AbstractDogecoinParams.ID_DOGE_MAINNET));\n            } else {\n                holder.walletView.setText(\"n/a\");\n                holder.walletView.setStrikeThru(false);\n            }\n        }\n        if (fullBind) {\n            holder.currencyCodeView.setText(listItem.currencyCode);\n            final OnClickListener onClickListener = this.onClickListener;\n            if (onClickListener != null)\n                holder.itemView.setOnClickListener(v -> onClickListener.onExchangeRateClick(v, listItem.currencyCode));\n        }\n    }\n\n    public static class ViewHolder extends RecyclerView.ViewHolder {\n        private final View defaultView;\n        private final TextView currencyCodeView;\n        private final CurrencyTextView rateView;\n        private final CurrencyTextView walletView;\n        private final Toolbar contextBar;\n\n        public ViewHolder(final View itemView) {\n            super(itemView);\n            defaultView = itemView.findViewById(R.id.exchange_rate_row_default);\n            currencyCodeView = itemView.findViewById(R.id.exchange_rate_row_currency_code);\n            rateView = itemView.findViewById(R.id.exchange_rate_row_rate);\n            walletView = itemView.findViewById(R.id.exchange_rate_row_balance);\n            contextBar = itemView.findViewById(R.id.exchange_rate_row_context_bar);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ExchangeRatesFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.EditText;\nimport android.widget.SearchView;\nimport android.widget.SearchView.OnQueryTextListener;\nimport android.widget.ViewAnimator;\nimport androidx.fragment.app.Fragment;\nimport androidx.lifecycle.ViewModelProvider;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.google.common.base.Strings;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.exchangerate.ExchangeRateEntry;\n\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class ExchangeRatesFragment extends Fragment implements OnSharedPreferenceChangeListener,\n        ExchangeRatesAdapter.OnClickListener, ExchangeRatesAdapter.ContextMenuCallback {\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n\n    private ViewAnimator viewGroup;\n    private RecyclerView recyclerView;\n    private ExchangeRatesAdapter adapter;\n\n    private ExchangeRatesViewModel viewModel;\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setHasOptionsMenu(true);\n\n        viewModel = new ViewModelProvider(this).get(ExchangeRatesViewModel.class);\n        if (Constants.ENABLE_EXCHANGE_RATES) {\n            viewModel.getExchangeRates().observe(this, exchangeRates -> {\n                if (!exchangeRates.isEmpty()) {\n                    viewGroup.setDisplayedChild(2);\n                    maybeSubmitList();\n\n                    final String initialExchangeRate = viewModel.getInitialExchangeRate();\n                    if (initialExchangeRate != null)\n                        // The delay is needed because of the list needs time to populate.\n                        new Handler().postDelayed(() -> viewModel.selectedExchangeRate.setValue(initialExchangeRate),\n                                250);\n\n                    if (activity instanceof ExchangeRatesActivity) {\n                        final String source = exchangeRates.iterator().next().getSource();\n                        activity.getActionBar().setSubtitle(getString(R.string.exchange_rates_fragment_source, source));\n                    }\n                } else if (exchangeRates.isEmpty() && viewModel.isConstrained()) {\n                    viewGroup.setDisplayedChild(1);\n                } else {\n                    viewGroup.setDisplayedChild(0);\n                }\n            });\n        }\n        viewModel.getBalance().observe(this, balance -> maybeSubmitList());\n        application.blockchainState.observe(this, blockchainState -> maybeSubmitList());\n        viewModel.selectedExchangeRate.observe(this, exchangeRateCode -> {\n            adapter.setSelectedExchangeRate(exchangeRateCode);\n            final int position = adapter.positionOf(exchangeRateCode);\n            if (position != RecyclerView.NO_POSITION)\n                recyclerView.smoothScrollToPosition(position);\n        });\n\n        adapter = new ExchangeRatesAdapter(activity, this, this);\n\n        config.registerOnSharedPreferenceChangeListener(this);\n\n        viewModel.setInitialExchangeRate(config.getExchangeCurrencyCode());\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.exchange_rates_fragment, container, false);\n        viewGroup = view.findViewById(R.id.exchange_rates_list_group);\n        recyclerView = view.findViewById(R.id.exchange_rates_list);\n        recyclerView.setHasFixedSize(true);\n        recyclerView.setLayoutManager(new LinearLayoutManager(activity));\n        recyclerView.setAdapter(adapter);\n        return view;\n    }\n\n    @Override\n    public void onDestroy() {\n        config.unregisterOnSharedPreferenceChangeListener(this);\n        super.onDestroy();\n    }\n\n    private void maybeSubmitList() {\n        final List<ExchangeRateEntry> exchangeRates = viewModel.getExchangeRates().getValue();\n        if (exchangeRates != null)\n            adapter.submitList(ExchangeRatesAdapter.buildListItems(exchangeRates, viewModel.getBalance().getValue(),\n                    application.blockchainState.getValue(), config.getExchangeCurrencyCode(), config.getBtcBase()));\n    }\n\n    @Override\n    public void onExchangeRateClick(final View view, final String exchangeRateCode) {\n        viewModel.selectedExchangeRate.setValue(exchangeRateCode);\n    }\n\n    public void onInflateBlockContextMenu(final MenuInflater inflater, final Menu menu) {\n        inflater.inflate(R.menu.exchange_rates_context, menu);\n    }\n\n    @Override\n    public boolean onClickBlockContextMenuItem(final MenuItem item, final String exchangeRateCode) {\n        final int itemId = item.getItemId();\n        if (itemId == R.id.exchange_rates_context_set_as_default) {\n            config.setExchangeCurrencyCode(exchangeRateCode);\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    @Override\n    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {\n        inflater.inflate(R.menu.exchange_rates_fragment_options, menu);\n\n        final MenuItem searchMenuItem = menu.findItem(R.id.exchange_rates_options_search);\n        if (Constants.ENABLE_EXCHANGE_RATES) {\n            final SearchView searchView = (SearchView) searchMenuItem.getActionView();\n            searchView.setOnQueryTextListener(new OnQueryTextListener() {\n                @Override\n                public boolean onQueryTextChange(final String newText) {\n                    viewModel.setConstraint(Strings.emptyToNull(newText.trim()));\n                    maybeSubmitList();\n                    return true;\n                }\n\n                @Override\n                public boolean onQueryTextSubmit(final String query) {\n                    searchView.clearFocus();\n                    return true;\n                }\n            });\n\n            // Workaround for not being able to style the SearchView\n            final int id = searchView.getContext().getResources().getIdentifier(\"android:id/search_src_text\", null,\n                    null);\n            final EditText searchInput = searchView.findViewById(id);\n            searchInput.setTextColor(activity.getColor(R.color.fg_on_dark_bg_network_significant));\n            searchInput.setHintTextColor(activity.getColor(R.color.fg_on_dark_bg_network_insignificant));\n        } else {\n            searchMenuItem.setVisible(false);\n        }\n\n        super.onCreateOptionsMenu(menu, inflater);\n    }\n\n    @Override\n    public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {\n        if (Configuration.PREFS_KEY_EXCHANGE_CURRENCY.equals(key))\n            maybeSubmitList();\n        else if (Configuration.PREFS_KEY_BTC_PRECISION.equals(key))\n            maybeSubmitList();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ExchangeRatesViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport androidx.annotation.MainThread;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MediatorLiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.WalletBalanceLiveData;\nimport de.schildbach.wallet.exchangerate.ExchangeRateDao;\nimport de.schildbach.wallet.exchangerate.ExchangeRateEntry;\nimport de.schildbach.wallet.exchangerate.ExchangeRatesRepository;\n\nimport java.util.List;\nimport java.util.Locale;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ExchangeRatesViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    private final ExchangeRateDao exchangeRateDao;\n    private final MediatorLiveData<List<ExchangeRateEntry>> exchangeRateLiveData = new MediatorLiveData<>();\n    private LiveData<List<ExchangeRateEntry>> underlyingExchangeRateLiveData;\n    private WalletBalanceLiveData balance;\n    private boolean isConstrained = false;\n    public final MutableLiveData<String> selectedExchangeRate = new MutableLiveData<>();\n    private Event<String> initialExchangeRate;\n\n    public ExchangeRatesViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.exchangeRateDao = ExchangeRatesRepository.get(this.application).exchangeRateDao();\n        setConstraint(null);\n    }\n\n    public LiveData<List<ExchangeRateEntry>> getExchangeRates() {\n        return exchangeRateLiveData;\n    }\n\n    public void setConstraint(final String constraint) {\n        if (underlyingExchangeRateLiveData != null)\n            exchangeRateLiveData.removeSource(underlyingExchangeRateLiveData);\n        if (constraint != null) {\n            underlyingExchangeRateLiveData = exchangeRateDao.findByConstraint(constraint.toLowerCase(Locale.US));\n            isConstrained = true;\n        } else {\n            underlyingExchangeRateLiveData = exchangeRateDao.findAll();\n            isConstrained = false;\n        }\n        exchangeRateLiveData.addSource(underlyingExchangeRateLiveData,\n                exchangeRates -> exchangeRateLiveData.setValue(exchangeRates));\n    }\n\n    public boolean isConstrained() {\n        return isConstrained;\n    }\n\n    public WalletBalanceLiveData getBalance() {\n        if (balance == null)\n            balance = new WalletBalanceLiveData(application);\n        return balance;\n    }\n\n    @MainThread\n    public void setInitialExchangeRate(final String exchangeRateCode) {\n        initialExchangeRate = new Event<>(exchangeRateCode);\n    }\n\n    @MainThread\n    public String getInitialExchangeRate() {\n        return initialExchangeRate.getContentIfNotHandled();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/HelpDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.text.Html;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class HelpDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = HelpDialogFragment.class.getName();\n\n    private static final String KEY_MESSAGE = \"message\";\n\n    public static void page(final FragmentManager fm, final int messageResId) {\n        final DialogFragment newFragment = HelpDialogFragment.instance(messageResId);\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    private static HelpDialogFragment instance(final int messageResId) {\n        final HelpDialogFragment fragment = new HelpDialogFragment();\n\n        final Bundle args = new Bundle();\n        args.putInt(KEY_MESSAGE, messageResId);\n        fragment.setArguments(args);\n\n        return fragment;\n    }\n\n    private Activity activity;\n\n    private static final Logger log = LoggerFactory.getLogger(HelpDialogFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final Bundle args = getArguments();\n        final int messageResId = args.getInt(KEY_MESSAGE);\n\n        final DialogBuilder dialog = DialogBuilder.dialog(activity, 0, Html.fromHtml(getString(messageResId)));\n        dialog.singleDismissButton(null);\n        return dialog.create();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/InputParser.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport com.google.common.hash.Hashing;\nimport com.google.common.io.ByteStreams;\nimport com.google.protobuf.InvalidProtocolBufferException;\nimport com.google.protobuf.UninitializedMessageException;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.util.Qr;\nimport org.bitcoin.protocols.payments.Protos;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.AddressFormatException;\nimport org.bitcoinj.core.DumpedPrivateKey;\nimport org.bitcoinj.core.LegacyAddress;\nimport org.bitcoinj.core.PrefixedChecksummedBytes;\nimport org.bitcoinj.core.ProtocolException;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.VerificationException;\nimport org.bitcoinj.crypto.BIP38PrivateKey;\nimport org.bitcoinj.crypto.TrustStoreLoader;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.bitcoinj.protocols.payments.PaymentProtocol.PkiVerificationData;\nimport org.bitcoinj.protocols.payments.PaymentProtocolException;\nimport org.bitcoinj.protocols.payments.PaymentSession;\nimport org.bitcoinj.uri.BitcoinURI;\nimport org.bitcoinj.uri.BitcoinURIParseException;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.FileNotFoundException;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.security.KeyStore;\nimport java.security.KeyStoreException;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.regex.Pattern;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class InputParser {\n    private static final Logger log = LoggerFactory.getLogger(InputParser.class);\n\n    public abstract static class StringInputParser extends InputParser {\n        private final String input;\n\n        public StringInputParser(final String input) {\n            this.input = input;\n        }\n\n        @Override\n        public void parse() {\n            if (input.startsWith(\"DOGECOIN:-\")) {\n                try {\n                    final byte[] serializedPaymentRequest = Qr.decodeBinary(input.substring(9));\n\n                    parseAndHandlePaymentRequest(serializedPaymentRequest);\n                } catch (final IOException x) {\n                    log.info(\"i/o error while fetching payment request\", x);\n\n                    error(R.string.input_parser_io_error, x.getMessage());\n                } catch (final PaymentProtocolException.PkiVerificationException x) {\n                    log.info(\"got unverifyable payment request\", x);\n\n                    error(R.string.input_parser_unverifyable_paymentrequest, x.getMessage());\n                } catch (final PaymentProtocolException x) {\n                    log.info(\"got invalid payment request\", x);\n\n                    error(R.string.input_parser_invalid_paymentrequest, x.getMessage());\n                }\n            } else if (input.startsWith(\"dogecoin:\") || input.startsWith(\"DOGECOIN:\")) {\n                try {\n                    final BitcoinURI bitcoinUri = new BitcoinURI(Constants.NETWORK_PARAMETERS, \"dogecoin:\" + input.substring(8));\n                    final Address address = bitcoinUri.getAddress();\n                    if (address != null && !Constants.NETWORK_PARAMETERS.equals(address.getParameters()))\n                        throw new BitcoinURIParseException(\"mismatched network\");\n\n                    handlePaymentIntent(PaymentIntent.fromBitcoinUri(bitcoinUri));\n                } catch (final BitcoinURIParseException x) {\n                    log.info(\"got invalid dogecoin uri: '\" + input + \"'\", x);\n\n                    error(R.string.input_parser_invalid_bitcoin_uri, input);\n                }\n            } else if (PATTERN_TRANSACTION.matcher(input).matches()) {\n                try {\n                    final Transaction tx = new Transaction(Constants.NETWORK_PARAMETERS,\n                            Qr.decodeDecompressBinary(input));\n\n                    handleDirectTransaction(tx);\n                } catch (final IOException x) {\n                    log.info(\"i/o error while fetching transaction\", x);\n\n                    error(R.string.input_parser_invalid_transaction, x.getMessage());\n                } catch (final ProtocolException x) {\n                    log.info(\"got invalid transaction\", x);\n\n                    error(R.string.input_parser_invalid_transaction, x.getMessage());\n                }\n            } else {\n                try {\n                    handlePrivateKey(DumpedPrivateKey.fromBase58(Constants.NETWORK_PARAMETERS, input));\n                } catch (AddressFormatException x) {\n                    try {\n                        handlePrivateKey(BIP38PrivateKey.fromBase58(Constants.NETWORK_PARAMETERS, input));\n                    } catch (final AddressFormatException x2) {\n                        try {\n                            handlePaymentIntent(PaymentIntent\n                                    .fromAddress(Address.fromString(Constants.NETWORK_PARAMETERS, input), null));\n                        } catch (AddressFormatException.WrongNetwork x3) {\n                            log.info(\"detected address, but wrong network\", x3);\n                            error(R.string.input_parser_invalid_address);\n                        } catch (AddressFormatException x3) {\n                            cannotClassify(input);\n                        }\n                    }\n                }\n            }\n        }\n\n        protected void handlePrivateKey(final PrefixedChecksummedBytes key) {\n            final Address address = LegacyAddress.fromKey(Constants.NETWORK_PARAMETERS,\n                    ((DumpedPrivateKey) key).getKey());\n\n            handlePaymentIntent(PaymentIntent.fromAddress(address, null));\n        }\n    }\n\n    public abstract static class BinaryInputParser extends InputParser {\n        private final String inputType;\n        private final byte[] input;\n\n        public BinaryInputParser(final String inputType, final byte[] input) {\n            this.inputType = inputType;\n            this.input = input;\n        }\n\n        @Override\n        public void parse() {\n            if (Constants.MIMETYPE_TRANSACTION.equals(inputType)) {\n                try {\n                    final Transaction tx = new Transaction(Constants.NETWORK_PARAMETERS, input);\n\n                    handleDirectTransaction(tx);\n                } catch (final VerificationException x) {\n                    log.info(\"got invalid transaction\", x);\n\n                    error(R.string.input_parser_invalid_transaction, x.getMessage());\n                }\n            } else if (PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(inputType)) {\n                try {\n                    parseAndHandlePaymentRequest(input);\n                } catch (final PaymentProtocolException.PkiVerificationException x) {\n                    log.info(\"got unverifyable payment request\", x);\n\n                    error(R.string.input_parser_unverifyable_paymentrequest, x.getMessage());\n                } catch (final PaymentProtocolException x) {\n                    log.info(\"got invalid payment request\", x);\n\n                    error(R.string.input_parser_invalid_paymentrequest, x.getMessage());\n                }\n            } else {\n                cannotClassify(inputType);\n            }\n        }\n\n        @Override\n        protected final void handleDirectTransaction(final Transaction transaction) throws VerificationException {\n            throw new UnsupportedOperationException();\n        }\n    }\n\n    public abstract static class StreamInputParser extends InputParser {\n        private final String inputType;\n        private final InputStream is;\n\n        public StreamInputParser(final String inputType, final InputStream is) {\n            this.inputType = inputType;\n            this.is = is;\n        }\n\n        @Override\n        public void parse() {\n            if (PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(inputType)) {\n                try (final ByteArrayOutputStream baos = new ByteArrayOutputStream()) {\n                    ByteStreams.copy(is, baos);\n                    parseAndHandlePaymentRequest(baos.toByteArray());\n                } catch (final IOException x) {\n                    log.info(\"i/o error while fetching payment request\", x);\n\n                    error(R.string.input_parser_io_error, x.getMessage());\n                } catch (final PaymentProtocolException.PkiVerificationException x) {\n                    log.info(\"got unverifyable payment request\", x);\n\n                    error(R.string.input_parser_unverifyable_paymentrequest, x.getMessage());\n                } catch (final PaymentProtocolException x) {\n                    log.info(\"got invalid payment request\", x);\n\n                    error(R.string.input_parser_invalid_paymentrequest, x.getMessage());\n                } finally {\n                    try {\n                        is.close();\n                    } catch (IOException x) {\n                        x.printStackTrace();\n                    }\n                }\n            } else {\n                cannotClassify(inputType);\n            }\n        }\n\n        @Override\n        protected final void handleDirectTransaction(final Transaction transaction) throws VerificationException {\n            throw new UnsupportedOperationException();\n        }\n    }\n\n    public abstract void parse();\n\n    protected final void parseAndHandlePaymentRequest(final byte[] serializedPaymentRequest)\n            throws PaymentProtocolException {\n        final PaymentIntent paymentIntent = parsePaymentRequest(serializedPaymentRequest);\n\n        handlePaymentIntent(paymentIntent);\n    }\n\n    public static PaymentIntent parsePaymentRequest(final byte[] serializedPaymentRequest)\n            throws PaymentProtocolException {\n        try {\n            if (serializedPaymentRequest.length > 50000)\n                throw new PaymentProtocolException(\"payment request too big: \" + serializedPaymentRequest.length);\n\n            final Protos.PaymentRequest paymentRequest = Protos.PaymentRequest.parseFrom(serializedPaymentRequest);\n\n            final String pkiName;\n            final String pkiCaName;\n            if (!\"none\".equals(paymentRequest.getPkiType())) {\n                final KeyStore keystore = new TrustStoreLoader.DefaultTrustStoreLoader().getKeyStore();\n                final PkiVerificationData verificationData = PaymentProtocol.verifyPaymentRequestPki(paymentRequest,\n                        keystore);\n                pkiName = verificationData.displayName;\n                pkiCaName = verificationData.rootAuthorityName;\n            } else {\n                pkiName = null;\n                pkiCaName = null;\n            }\n\n            final PaymentSession paymentSession = PaymentProtocol.parsePaymentRequest(paymentRequest);\n\n            if (paymentSession.isExpired())\n                throw new PaymentProtocolException.Expired(\"payment details expired: current time \" + new Date()\n                        + \" after expiry time \" + paymentSession.getExpires());\n\n            if (!paymentSession.getNetworkParameters().equals(Constants.NETWORK_PARAMETERS))\n                throw new PaymentProtocolException.InvalidNetwork(\n                        \"cannot handle payment request network: \" + paymentSession.getNetworkParameters());\n\n            final ArrayList<PaymentIntent.Output> outputs = new ArrayList<>(1);\n            for (final PaymentProtocol.Output output : paymentSession.getOutputs())\n                outputs.add(PaymentIntent.Output.valueOf(output));\n\n            final String memo = paymentSession.getMemo();\n\n            final String paymentUrl = paymentSession.getPaymentUrl();\n\n            final byte[] merchantData = paymentSession.getMerchantData();\n\n            final byte[] paymentRequestHash = Hashing.sha256().hashBytes(serializedPaymentRequest).asBytes();\n\n            final PaymentIntent paymentIntent = new PaymentIntent(PaymentIntent.Standard.BIP70, pkiName, pkiCaName,\n                    outputs.toArray(new PaymentIntent.Output[0]), memo, paymentUrl, merchantData, null,\n                    paymentRequestHash);\n\n            if (paymentIntent.hasPaymentUrl() && !paymentIntent.isSupportedPaymentUrl())\n                throw new PaymentProtocolException.InvalidPaymentURL(\n                        \"cannot handle payment url: \" + paymentIntent.paymentUrl);\n\n            return paymentIntent;\n        } catch (final InvalidProtocolBufferException | UninitializedMessageException x) {\n            throw new PaymentProtocolException(x);\n        } catch (final FileNotFoundException | KeyStoreException x) {\n            throw new RuntimeException(x);\n        }\n    }\n\n    protected abstract void handlePaymentIntent(PaymentIntent paymentIntent);\n\n    protected abstract void handleDirectTransaction(Transaction transaction) throws VerificationException;\n\n    protected abstract void error(int messageResId, Object... messageArgs);\n\n    protected void cannotClassify(final String input) {\n        log.info(\"cannot classify: '{}'\", input);\n\n        error(R.string.input_parser_cannot_classify, input);\n    }\n\n    private static final Pattern PATTERN_TRANSACTION = Pattern\n            .compile(\"[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$\\\\*\\\\+\\\\-\\\\.\\\\/\\\\:]{100,}\");\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/MaybeMaintenanceFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.os.Bundle;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.ui.send.MaintenanceDialogFragment;\n\n/**\n * @author Andreas Schildbach\n */\npublic class MaybeMaintenanceFragment extends Fragment {\n    private static final String FRAGMENT_TAG = MaybeMaintenanceFragment.class.getName();\n\n    public static void add(final FragmentManager fm) {\n        Fragment fragment = fm.findFragmentByTag(FRAGMENT_TAG);\n        if (fragment == null) {\n            fragment = new MaybeMaintenanceFragment();\n            fm.beginTransaction().add(fragment, FRAGMENT_TAG).commit();\n        }\n    }\n\n    private MaybeMaintenanceViewModel viewModel;\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        viewModel = new ViewModelProvider(this).get(MaybeMaintenanceViewModel.class);\n        viewModel.showDialog.observe(this, v -> {\n            if (!viewModel.getDialogWasShown()) {\n                MaintenanceDialogFragment.show(getParentFragmentManager());\n                viewModel.setDialogWasShown();\n            }\n        });\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/MaybeMaintenanceViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.os.AsyncTask;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.MediatorLiveData;\nimport com.google.common.util.concurrent.ListenableFuture;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport de.schildbach.wallet.service.BlockchainState;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.wallet.DeterministicUpgradeRequiresPassword;\nimport org.bitcoinj.wallet.Wallet;\n\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic class MaybeMaintenanceViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    private final WalletMaintenanceRecommendedLiveData walletMaintenanceRecommended;\n    public final MediatorLiveData<Void> showDialog = new MediatorLiveData<>();\n    private boolean dialogWasShown = false;\n\n    public MaybeMaintenanceViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.walletMaintenanceRecommended = new WalletMaintenanceRecommendedLiveData(this.application);\n        showDialog.addSource(walletMaintenanceRecommended, maintenanceRecommended -> maybeShowDialog());\n        showDialog.addSource(this.application.blockchainState, blockchainState -> maybeShowDialog());\n    }\n\n    private void maybeShowDialog() {\n        final BlockchainState blockchainState = application.blockchainState.getValue();\n        final Boolean maintenanceRecommended = MaybeMaintenanceViewModel.this.walletMaintenanceRecommended.getValue();\n        if (blockchainState != null && !blockchainState.replaying && maintenanceRecommended != null\n                && maintenanceRecommended)\n            showDialog.postValue(null);\n    }\n\n    public void setDialogWasShown() {\n        dialogWasShown = true;\n    }\n\n    public boolean getDialogWasShown() {\n        return dialogWasShown;\n    }\n\n    public static class WalletMaintenanceRecommendedLiveData extends AbstractWalletLiveData<Boolean> {\n        public WalletMaintenanceRecommendedLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            load();\n        }\n\n        @Override\n        protected void load() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                try {\n                    final ListenableFuture<List<Transaction>> result = wallet.doMaintenance(null, false);\n                    postValue(!result.get().isEmpty());\n                } catch (final DeterministicUpgradeRequiresPassword x) {\n                    postValue(true);\n                } catch (final Exception x) {\n                    throw new RuntimeException(x);\n                }\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ProgressDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.os.Bundle;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ProgressDialogFragment extends DialogFragment {\n    public static class Observer implements androidx.lifecycle.Observer<String> {\n        private final FragmentManager fm;\n\n        public Observer(final FragmentManager fm) {\n            this.fm = fm;\n        }\n\n        @Override\n        public void onChanged(final String message) {\n            final DialogFragment fragment = (DialogFragment) fm.findFragmentByTag(FRAGMENT_TAG);\n            if (fragment != null) {\n                fm.beginTransaction().remove(fragment).commit();\n            }\n            if (message != null) {\n                final Fragment newFragment = new ProgressDialogFragment();\n                final Bundle args = new Bundle();\n                args.putString(KEY_MESSAGE, message);\n                newFragment.setArguments(args);\n                fm.beginTransaction().add(newFragment, FRAGMENT_TAG).commit();\n            }\n        }\n    }\n\n    private static final String FRAGMENT_TAG = ProgressDialogFragment.class.getName();\n    private static final String KEY_MESSAGE = \"message\";\n\n    private Activity activity;\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (Activity) context;\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        setCancelable(false);\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final Bundle args = getArguments();\n        final String message = args.getString(KEY_MESSAGE);\n\n        return ProgressDialog.show(activity, null, message, true);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ReportIssueDialogBuilder.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnClickListener;\nimport android.net.Uri;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.CheckBox;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.core.app.ShareCompat;\nimport androidx.core.content.FileProvider;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.util.CrashReporter;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.OutputStreamWriter;\nimport java.io.Writer;\nimport java.nio.charset.StandardCharsets;\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class ReportIssueDialogBuilder extends DialogBuilder implements OnClickListener {\n    private final Activity activity;\n\n    private EditText viewDescription;\n    private CheckBox viewCollectDeviceInfo;\n    private CheckBox viewCollectApplicationLog;\n    private CheckBox viewCollectWalletDump;\n\n    private static final Logger log = LoggerFactory.getLogger(ReportIssueDialogBuilder.class);\n\n    public ReportIssueDialogBuilder(final Activity activity, final int titleResId, final int messageResId) {\n        super(activity);\n\n        this.activity = activity;\n\n        final LayoutInflater inflater = LayoutInflater.from(activity);\n        final View view = inflater.inflate(R.layout.report_issue_dialog, null);\n\n        ((TextView) view.findViewById(R.id.report_issue_dialog_message)).setText(messageResId);\n\n        viewDescription = view.findViewById(R.id.report_issue_dialog_description);\n\n        viewCollectDeviceInfo = view.findViewById(R.id.report_issue_dialog_collect_device_info);\n        viewCollectApplicationLog = view.findViewById(R.id.report_issue_dialog_collect_application_log);\n        viewCollectWalletDump = view.findViewById(R.id.report_issue_dialog_collect_wallet_dump);\n\n        setTitle(titleResId);\n        setView(view);\n        setPositiveButton(R.string.report_issue_dialog_report, this);\n        setNegativeButton(R.string.button_cancel, null);\n    }\n\n    @Override\n    public void onClick(final DialogInterface dialog, final int which) {\n        final StringBuilder text = new StringBuilder();\n        final List<Uri> attachments = new ArrayList<>();\n        final File cacheDir = activity.getCacheDir();\n        final File reportDir = new File(cacheDir, \"report\");\n        reportDir.mkdir();\n\n        text.append(viewDescription.getText()).append('\\n');\n\n        try {\n            final CharSequence contextualData = collectContextualData();\n            if (contextualData != null) {\n                text.append(\"\\n\\n\\n=== contextual data ===\\n\\n\");\n                text.append(contextualData);\n            }\n        } catch (final IOException x) {\n            text.append(x.toString()).append('\\n');\n        }\n\n        try {\n            text.append(\"\\n\\n\\n=== application info ===\\n\\n\");\n\n            final CharSequence applicationInfo = collectApplicationInfo();\n\n            text.append(applicationInfo);\n        } catch (final IOException x) {\n            text.append(x.toString()).append('\\n');\n        }\n\n        try {\n            final CharSequence stackTrace = collectStackTrace();\n\n            if (stackTrace != null) {\n                text.append(\"\\n\\n\\n=== stack trace ===\\n\\n\");\n                text.append(stackTrace);\n            }\n        } catch (final IOException x) {\n            text.append(\"\\n\\n\\n=== stack trace ===\\n\\n\");\n            text.append(x.toString()).append('\\n');\n        }\n\n        if (viewCollectDeviceInfo.isChecked()) {\n            try {\n                text.append(\"\\n\\n\\n=== device info ===\\n\\n\");\n\n                final CharSequence deviceInfo = collectDeviceInfo();\n\n                text.append(deviceInfo);\n            } catch (final IOException x) {\n                text.append(x.toString()).append('\\n');\n            }\n        }\n\n        if (viewCollectApplicationLog.isChecked()) {\n            final File logDir = new File(activity.getFilesDir(), \"log\");\n            if (logDir.exists())\n                for (final File logFile : logDir.listFiles())\n                    if (logFile.isFile() && logFile.length() > 0)\n                        attachments.add(FileProvider.getUriForFile(activity,\n                                activity.getPackageName() + \".file_attachment\", logFile));\n        }\n\n        if (viewCollectWalletDump.isChecked()) {\n            try {\n                final CharSequence walletDump = collectWalletDump();\n\n                if (walletDump != null) {\n                    final File file = File.createTempFile(\"wallet-dump.\", \".txt\", reportDir);\n\n                    final Writer writer = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);\n                    writer.write(walletDump.toString());\n                    writer.close();\n\n                    attachments.add(\n                            FileProvider.getUriForFile(activity, activity.getPackageName() + \".file_attachment\", file));\n                }\n            } catch (final IOException x) {\n                log.info(\"problem writing attachment\", x);\n            }\n        }\n\n        try {\n            final File savedBackgroundTraces = File.createTempFile(\"background-traces.\", \".txt\", reportDir);\n            if (CrashReporter.collectSavedBackgroundTraces(savedBackgroundTraces)) {\n                attachments.add(FileProvider.getUriForFile(activity, activity.getPackageName() + \".file_attachment\",\n                        savedBackgroundTraces));\n            }\n            savedBackgroundTraces.deleteOnExit();\n        } catch (final IOException x) {\n            log.info(\"problem writing attachment\", x);\n        }\n\n        text.append(\"\\n\\nPUT ADDITIONAL COMMENTS TO THE TOP. DOWN HERE NOBODY WILL NOTICE.\");\n\n        startSend(subject(), text, attachments);\n    }\n\n    private void startSend(final String subject, final CharSequence text, final List<Uri> attachments) {\n        final ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);\n        for (final Uri attachment : attachments)\n            builder.addStream(attachment);\n        builder.addEmailTo(Constants.REPORT_EMAIL);\n        if (subject != null)\n            builder.setSubject(subject);\n        builder.setText(text);\n        builder.setType(\"text/plain\");\n        builder.setChooserTitle(R.string.report_issue_dialog_mail_intent_chooser);\n        builder.startChooser();\n        log.info(\"invoked chooser for sending issue report\");\n    }\n\n    @Nullable\n    protected abstract String subject();\n\n    @Nullable\n    protected CharSequence collectApplicationInfo() throws IOException {\n        return null;\n    }\n\n    @Nullable\n    protected CharSequence collectStackTrace() throws IOException {\n        return null;\n    }\n\n    @Nullable\n    protected CharSequence collectDeviceInfo() throws IOException {\n        return null;\n    }\n\n    @Nullable\n    protected CharSequence collectContextualData() throws IOException {\n        return null;\n    }\n\n    @Nullable\n    protected CharSequence collectWalletDump() throws IOException {\n        return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ReportIssueDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.ActivityManager;\nimport android.app.AlertDialog;\nimport android.app.Dialog;\nimport android.app.admin.DevicePolicyManager;\nimport android.bluetooth.BluetoothAdapter;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.pm.PackageInfo;\nimport android.content.res.Resources;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.widget.Button;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.base.Joiner;\nimport de.schildbach.wallet.BuildConfig;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.util.Bluetooth;\nimport de.schildbach.wallet.util.CrashReporter;\nimport de.schildbach.wallet.util.Installer;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionOutput;\nimport org.bitcoinj.core.Utils;\nimport org.bitcoinj.script.ScriptException;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.Calendar;\nimport java.util.Date;\nimport java.util.Formatter;\nimport java.util.GregorianCalendar;\nimport java.util.List;\nimport java.util.Locale;\nimport java.util.Set;\nimport java.util.TimeZone;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ReportIssueDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = ReportIssueDialogFragment.class.getName();\n    private static final String KEY_TITLE = \"title\";\n    private static final String KEY_MESSAGE = \"message\";\n    private static final String KEY_SUBJECT = \"subject\";\n    private static final String KEY_CONTEXTUAL_TRANSACTION_HASH = \"contextual_transaction_hash\";\n\n    private static final TimeZone UTC = TimeZone.getTimeZone(\"UTC\");\n\n    public static void show(final FragmentManager fm, final int titleResId, final int messageResId,\n            final String subject, final Sha256Hash contextualTransactionHash) {\n        final DialogFragment newFragment = new ReportIssueDialogFragment();\n        final Bundle args = new Bundle();\n        args.putInt(KEY_TITLE, titleResId);\n        args.putInt(KEY_MESSAGE, messageResId);\n        args.putString(KEY_SUBJECT, subject);\n        if (contextualTransactionHash != null)\n            args.putByteArray(KEY_CONTEXTUAL_TRANSACTION_HASH, contextualTransactionHash.getBytes());\n        newFragment.setArguments(args);\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n\n    private Button positiveButton;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(ReportIssueDialogFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n\n        walletActivityViewModel = new ViewModelProvider(activity).get(AbstractWalletActivityViewModel.class);\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final Bundle args = getArguments();\n        final int titleResId = args.getInt(KEY_TITLE);\n        final int messageResId = args.getInt(KEY_MESSAGE);\n        final String subject = args.getString(KEY_SUBJECT);\n        final Sha256Hash contextualTransactionHash = args.containsKey(KEY_CONTEXTUAL_TRANSACTION_HASH) ?\n                Sha256Hash.wrap(args.getByteArray(KEY_CONTEXTUAL_TRANSACTION_HASH)) : null;\n\n        final ReportIssueDialogBuilder builder = new ReportIssueDialogBuilder(activity, titleResId, messageResId) {\n            @Override\n            protected String subject() {\n                final StringBuilder builder = new StringBuilder(subject).append(\": \");\n                final PackageInfo pi = application.packageInfo();\n                builder.append(WalletApplication.versionLine(pi));\n                final String installer = Installer.installerPackageName(application);\n                if (installer != null)\n                    builder.append(\", installer \").append(installer);\n                builder.append(\", android \").append(Build.VERSION.RELEASE);\n                builder.append(\" (\").append(Build.VERSION.SECURITY_PATCH).append(\")\");\n                builder.append(\", \").append(Build.MANUFACTURER);\n                if (!Build.BRAND.equalsIgnoreCase(Build.MANUFACTURER))\n                    builder.append(' ').append(Build.BRAND);\n                builder.append(' ').append(Build.MODEL);\n                return builder.toString();\n            }\n\n            @Override\n            protected CharSequence collectApplicationInfo() throws IOException {\n                final StringBuilder applicationInfo = new StringBuilder();\n                appendApplicationInfo(applicationInfo, application);\n                return applicationInfo;\n            }\n\n            @Override\n            protected CharSequence collectStackTrace() throws IOException {\n                final StringBuilder stackTrace = new StringBuilder();\n                CrashReporter.appendSavedCrashTrace(stackTrace);\n                return stackTrace.length() > 0 ? stackTrace : null;\n            }\n\n            @Override\n            protected CharSequence collectDeviceInfo() throws IOException {\n                final StringBuilder deviceInfo = new StringBuilder();\n                appendDeviceInfo(deviceInfo, activity);\n                return deviceInfo;\n            }\n\n            @Override\n            protected CharSequence collectContextualData() {\n                if (contextualTransactionHash == null)\n                    return null;\n\n                final Wallet wallet = walletActivityViewModel.wallet.getValue();\n                final Transaction tx = wallet.getTransaction(contextualTransactionHash);\n                final StringBuilder contextualData = new StringBuilder();\n                try {\n                    contextualData.append(tx.getValue(wallet).toFriendlyString()).append(\" total value\");\n                } catch (final ScriptException x) {\n                    contextualData.append(x.getMessage());\n                }\n                contextualData.append('\\n');\n                if (tx.hasConfidence())\n                    contextualData.append(\"  confidence: \").append(tx.getConfidence()).append('\\n');\n                final String[] blockExplorers = activity.getResources()\n                        .getStringArray(R.array.preferences_block_explorer_values);\n                for (final String blockExplorer : blockExplorers)\n                    contextualData\n                            .append(Uri.withAppendedPath(Uri.parse(blockExplorer), \"tx/\" + tx.getTxId().toString()))\n                            .append('\\n');\n                contextualData.append(tx.toString()).append('\\n');\n                contextualData.append(Constants.HEX.encode(tx.unsafeBitcoinSerialize())).append('\\n');\n                return contextualData;\n            }\n\n            @Override\n            protected CharSequence collectWalletDump() {\n                return walletActivityViewModel.wallet.getValue().toString(false, false, null, true, true, null);\n            }\n        };\n        final AlertDialog dialog = builder.create();\n\n        dialog.setOnShowListener(d -> {\n            positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);\n            positiveButton.setEnabled(false);\n\n            walletActivityViewModel.wallet.observe(ReportIssueDialogFragment.this, wallet -> positiveButton.setEnabled(true));\n        });\n\n        return dialog;\n    }\n\n    @Override\n    public void onDismiss(final DialogInterface dialog) {\n        CrashReporter.deleteSaveCrashTrace();\n        super.onDismiss(dialog);\n    }\n\n    private void appendApplicationInfo(final Appendable report, final WalletApplication application)\n            throws IOException {\n        final PackageInfo pi = application.packageInfo();\n        final Configuration config = application.getConfiguration();\n        final Calendar calendar = new GregorianCalendar(UTC);\n\n        report.append(\"Version: \").append(pi.versionName).append(\" (\").append(String.valueOf(pi.versionCode)).append(\n                \")\\n\");\n        report.append(\"APK Hash: \").append(application.apkHash().toString()).append(\"\\n\");\n        report.append(\"Package: \").append(pi.packageName).append(\"\\n\");\n        report.append(\"Flavor: \" + BuildConfig.FLAVOR + \"\\n\");\n        report.append(\"Build Type: \" + BuildConfig.BUILD_TYPE + \"\\n\");\n        final String installerPackageName = Installer.installerPackageName(application);\n        final Installer installer = Installer.from(installerPackageName);\n        if (installer != null)\n            report.append(\"Installer: \").append(installer.displayName).append(\" (\").append(installerPackageName).append(\")\\n\");\n        else\n            report.append(\"Installer: unknown\\n\");\n        report.append(\"Timezone: \").append(TimeZone.getDefault().getID()).append(\"\\n\");\n        calendar.setTimeInMillis(System.currentTimeMillis());\n        report.append(\"Current time: \").append(String.format(Locale.US, \"%tF %tT %tZ\", calendar, calendar, calendar)).append(\"\\n\");\n        calendar.setTimeInMillis(WalletApplication.TIME_CREATE_APPLICATION);\n        report.append(\"Time of app launch: \").append(String.format(Locale.US, \"%tF %tT %tZ\", calendar, calendar,\n                calendar)).append(\"\\n\");\n        calendar.setTimeInMillis(pi.firstInstallTime);\n        report.append(\"Time of first app install: \").append(String.format(Locale.US, \"%tF %tT %tZ\", calendar,\n                calendar, calendar)).append(\"\\n\");\n        calendar.setTimeInMillis(pi.lastUpdateTime);\n        report.append(\"Time of last app update: \").append(String.format(Locale.US, \"%tF %tT %tZ\", calendar, calendar,\n                calendar)).append(\"\\n\");\n        final long lastBackupTime = config.getLastBackupTime();\n        calendar.setTimeInMillis(lastBackupTime);\n        report.append(\"Time of last backup: \").append(lastBackupTime > 0 ? String.format(Locale.US, \"%tF %tT %tZ\",\n                calendar, calendar, calendar) : \"none\").append(\"\\n\");\n        final long lastRestoreTime = config.getLastRestoreTime();\n        calendar.setTimeInMillis(lastRestoreTime);\n        report.append(\"Time of last restore: \").append(lastRestoreTime > 0 ? String.format(Locale.US, \"%tF %tT %tZ\",\n                calendar, calendar, calendar) : \"none\").append(\"\\n\");\n        final long lastEncryptKeysTime = config.getLastEncryptKeysTime();\n        calendar.setTimeInMillis(lastEncryptKeysTime);\n        report.append(\"Time of last encrypt keys: \").append(lastEncryptKeysTime > 0 ? String.format(Locale.US, \"%tF \" +\n                \"%tT %tZ\", calendar, calendar, calendar) :\n                \"none\").append(\"\\n\");\n        final long lastBlockchainResetTime = config.getLastBlockchainResetTime();\n        calendar.setTimeInMillis(lastBlockchainResetTime);\n        report.append(\"Time of last blockchain reset: \").append(lastBlockchainResetTime > 0\n                ? String.format(Locale.US, \"%tF %tT %tZ\", calendar, calendar, calendar) : \"none\").append(\"\\n\");\n        report.append(\"Network: \").append(Constants.NETWORK_PARAMETERS.getId()).append(\"\\n\");\n        report.append(\"Sync mode: \").append(config.getSyncMode().name()).append(\"\\n\");\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        report.append(\"Encrypted: \").append(String.valueOf(wallet.isEncrypted())).append(\"\\n\");\n        report.append(\"Keychain size: \").append(String.valueOf(wallet.getKeyChainGroupSize())).append(\"\\n\");\n\n        final Set<Transaction> transactions = wallet.getTransactions(true);\n        int numInputs = 0;\n        int numOutputs = 0;\n        int numSpentOutputs = 0;\n        for (final Transaction tx : transactions) {\n            numInputs += tx.getInputs().size();\n            final List<TransactionOutput> outputs = tx.getOutputs();\n            numOutputs += outputs.size();\n            for (final TransactionOutput txout : outputs) {\n                if (!txout.isAvailableForSpending())\n                    numSpentOutputs++;\n            }\n        }\n        report.append(\"Transactions: \").append(String.valueOf(transactions.size())).append(\"\\n\");\n        report.append(\"Inputs: \").append(String.valueOf(numInputs)).append(\"\\n\");\n        report.append(\"Outputs: \").append(String.valueOf(numOutputs)).append(\" (spent: \").append(String.valueOf(numSpentOutputs)).append(\")\\n\");\n        final int lastBlockSeenHeight = wallet.getLastBlockSeenHeight();\n        final Date lastBlockSeenTime = wallet.getLastBlockSeenTime();\n        report.append(\"Last block seen: \").append(String.valueOf(lastBlockSeenHeight)).append(\" (\")\n                .append(lastBlockSeenTime == null ? \"time unknown\" : Utils.dateTimeFormat(lastBlockSeenTime))\n                .append(\")\\n\");\n        report.append(\"Best chain height ever: \").append(Integer.toString(config.getBestChainHeightEver()))\n                .append(\"\\n\");\n\n        report.append(\"Databases:\");\n        for (final String db : application.databaseList())\n            report.append(\" \").append(db);\n        report.append(\"\\n\");\n\n        final File filesDir = application.getFilesDir();\n        report.append(\"\\nContents of FilesDir \").append(String.valueOf(filesDir)).append(\":\\n\");\n        appendDir(report, filesDir, 0);\n        report.append(\"free/usable space: \").append(Long.toString(filesDir.getFreeSpace() / 1024))\n                .append(\"/\").append(Long.toString(filesDir.getUsableSpace() / 1024)).append(\" kB\\n\");\n    }\n\n    private static void appendDir(final Appendable report, final File file, final int indent) throws IOException {\n        for (int i = 0; i < indent; i++)\n            report.append(\"  - \");\n\n        final Formatter formatter = new Formatter(report);\n        final Calendar calendar = new GregorianCalendar(UTC);\n        calendar.setTimeInMillis(file.lastModified());\n        formatter.format(Locale.US, \"%tF %tT %8d kB  %s\\n\",\n                calendar, calendar, file.length() / 1024, file.getName());\n        formatter.close();\n\n        final File[] files = file.listFiles();\n        if (files != null)\n            for (final File f : files)\n                appendDir(report, f, indent + 1);\n    }\n\n    private static void appendDeviceInfo(final Appendable report, final Context context) throws IOException {\n        final Resources res = context.getResources();\n        final android.content.res.Configuration config = res.getConfiguration();\n        final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);\n        final DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context\n                .getSystemService(Context.DEVICE_POLICY_SERVICE);\n\n        report.append(\"Manufacturer: \").append(Build.MANUFACTURER).append(\"\\n\");\n        report.append(\"Device Model: \").append(Build.MODEL).append(\"\\n\");\n        report.append(\"Android Version: \").append(Build.VERSION.RELEASE)\n                .append(\" (\").append(Integer.toString(Build.VERSION.SDK_INT)).append(\")\\n\");\n        report.append(\"Android security patch level: \").append(Build.VERSION.SECURITY_PATCH).append(\"\\n\");\n        report.append(\"ABIs: \").append(Joiner.on(\", \").skipNulls().join(Build.SUPPORTED_ABIS)).append(\"\\n\");\n        report.append(\"Board: \").append(Build.BOARD).append(\"\\n\");\n        report.append(\"Brand: \").append(Build.BRAND).append(\"\\n\");\n        report.append(\"Device: \").append(Build.DEVICE).append(\"\\n\");\n        report.append(\"Product: \").append(Build.PRODUCT).append(\"\\n\");\n        report.append(\"Configuration: \").append(String.valueOf(config)).append(\"\\n\");\n        report.append(\"Screen Layout: size \").append(String.valueOf(config.screenLayout & android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK))\n                .append(\" long \").append(String.valueOf(config.screenLayout & android.content.res.Configuration.SCREENLAYOUT_LONG_MASK))\n                .append(\" layoutdir \").append(String.valueOf(config.screenLayout & android.content.res.Configuration.SCREENLAYOUT_LAYOUTDIR_MASK))\n                .append(\" round \").append(String.valueOf(config.screenLayout & android.content.res.Configuration.SCREENLAYOUT_ROUND_MASK))\n                .append(\"\\n\");\n        report.append(\"Display Metrics: \").append(String.valueOf(res.getDisplayMetrics())).append(\"\\n\");\n        report.append(\"Memory Class: \").append(String.valueOf(activityManager.getMemoryClass())).append(\"/\")\n                .append(String.valueOf(activityManager.getLargeMemoryClass()))\n                .append(activityManager.isLowRamDevice() ? \" (low RAM device)\" : \"\").append(\"\\n\");\n        report.append(\"Storage Encryption Status: \").append(String.valueOf(devicePolicyManager.getStorageEncryptionStatus())).append(\"\\n\");\n        report.append(\"Bluetooth MAC: \").append(bluetoothMac()).append(\"\\n\");\n        report.append(\"Runtime: \").append(System.getProperty(\"java.vm.name\")).append(\" \")\n                .append(System.getProperty(\"java.vm.version\")).append(\"\\n\");\n    }\n\n    private static String bluetoothMac() {\n        try {\n            return Bluetooth.getAddress(BluetoothAdapter.getDefaultAdapter());\n        } catch (final Exception x) {\n            return x.getMessage();\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/RequestCoinsActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport androidx.annotation.Nullable;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.R;\nimport org.bitcoinj.script.Script;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class RequestCoinsActivity extends AbstractWalletActivity {\n    public static final String INTENT_EXTRA_OUTPUT_SCRIPT_TYPE = \"output_script_type\";\n\n    public static void start(final Context context) {\n        start(context, null);\n    }\n\n    public static void start(final Context context, final @Nullable Script.ScriptType outputScriptType) {\n        final Intent intent = new Intent(context, RequestCoinsActivity.class);\n        if (outputScriptType != null)\n            intent.putExtra(INTENT_EXTRA_OUTPUT_SCRIPT_TYPE, outputScriptType);\n        context.startActivity(intent);\n    }\n\n    private RequestCoinsActivityViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(RequestCoinsActivity.class);\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"Referrer: {}\", getReferrer());\n        setContentView(R.layout.request_coins_content);\n\n        viewModel = new ViewModelProvider(this).get(RequestCoinsActivityViewModel.class);\n        viewModel.showHelpDialog.observe(this, new Event.Observer<Integer>() {\n            @Override\n            protected void onEvent(final Integer messageResId) {\n                HelpDialogFragment.page(getSupportFragmentManager(), messageResId);\n            }\n        });\n    }\n\n    @Override\n    public void onAttachedToWindow() {\n        setShowWhenLocked(true);\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(final Menu menu) {\n        getMenuInflater().inflate(R.menu.request_coins_activity_options, menu);\n\n        return super.onCreateOptionsMenu(menu);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        if (item.getItemId() == R.id.request_coins_options_help) {\n            viewModel.showHelpDialog.setValue(new Event<>(R.string.help_request_coins));\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/RequestCoinsActivityViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\n\n/**\n * @author Andreas Schildbach\n */\npublic class RequestCoinsActivityViewModel extends ViewModel {\n    public final MutableLiveData<Event<Integer>> showHelpDialog = new MutableLiveData<>();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/RequestCoinsFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.bluetooth.BluetoothAdapter;\nimport android.content.ActivityNotFoundException;\nimport android.content.ClipData;\nimport android.content.ClipboardManager;\nimport android.content.ComponentName;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.graphics.Bitmap;\nimport android.graphics.Color;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.net.Uri;\nimport android.nfc.NdefMessage;\nimport android.nfc.NdefRecord;\nimport android.nfc.NfcAdapter;\nimport android.os.Bundle;\nimport android.text.SpannableStringBuilder;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.CheckBox;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.cardview.widget.CardView;\nimport androidx.core.app.ShareCompat;\nimport androidx.core.content.ContextCompat;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.offline.AcceptBluetoothService;\nimport de.schildbach.wallet.ui.send.SendCoinsActivity;\nimport de.schildbach.wallet.util.Bluetooth;\nimport de.schildbach.wallet.util.Nfc;\nimport de.schildbach.wallet.util.Toast;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.bitcoinj.script.Script;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class RequestCoinsFragment extends Fragment {\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n    private FragmentManager fragmentManager;\n    private ClipboardManager clipboardManager;\n    @Nullable\n    private BluetoothAdapter bluetoothAdapter;\n    @Nullable\n    private NfcAdapter nfcAdapter;\n\n    private ImageView qrView;\n    private CardView qrCardView;\n    private CheckBox acceptBluetoothPaymentView;\n    private TextView initiateRequestView;\n    private CurrencyCalculatorLink amountCalculatorLink;\n\n    private static final int REQUEST_CODE_ENABLE_BLUETOOTH = 0;\n    private static final String KEY_RECEIVE_ADDRESS = \"receive_address\";\n\n    private RequestCoinsViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(RequestCoinsFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n        this.clipboardManager = (ClipboardManager) activity.getSystemService(Context.CLIPBOARD_SERVICE);\n        this.bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();\n        this.nfcAdapter = NfcAdapter.getDefaultAdapter(activity);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        this.fragmentManager = getChildFragmentManager();\n\n        setHasOptionsMenu(true);\n\n        viewModel = new ViewModelProvider(this).get(RequestCoinsViewModel.class);\n        final Intent intent = activity.getIntent();\n        if (intent.hasExtra(RequestCoinsActivity.INTENT_EXTRA_OUTPUT_SCRIPT_TYPE))\n            viewModel.freshReceiveAddress.overrideOutputScriptType((Script.ScriptType) intent\n                    .getSerializableExtra(RequestCoinsActivity.INTENT_EXTRA_OUTPUT_SCRIPT_TYPE));\n        viewModel.freshReceiveAddress.observe(this, address -> log.info(\"request coins address: {}\", address));\n        viewModel.qrCode.observe(this, qrCode -> {\n            final BitmapDrawable qrDrawable = new BitmapDrawable(getResources(), qrCode);\n            qrDrawable.setFilterBitmap(false);\n            qrView.setImageDrawable(qrDrawable);\n            qrCardView.setOnClickListener(v -> viewModel.showBitmapDialog.setValue(new Event<>(viewModel.qrCode.getValue())));\n        });\n        viewModel.paymentRequest.observe(this, paymentRequest -> {\n            final NfcAdapter nfcAdapter = RequestCoinsFragment.this.nfcAdapter;\n            final SpannableStringBuilder initiateText = new SpannableStringBuilder(\n                    getString(R.string.request_coins_fragment_initiate_request_qr));\n            if (nfcAdapter != null && nfcAdapter.isEnabled()) {\n                initiateText.append(' ').append(getString(R.string.request_coins_fragment_initiate_request_nfc));\n                nfcAdapter.setNdefPushMessage(createNdefMessage(paymentRequest), activity);\n            }\n            initiateRequestView.setText(initiateText);\n        });\n        viewModel.bitcoinUri.observe(this, bitcoinUri -> activity.invalidateOptionsMenu());\n        if (Constants.ENABLE_EXCHANGE_RATES) {\n            viewModel.exchangeRate.observe(this,\n                    exchangeRate -> amountCalculatorLink.setExchangeRate(exchangeRate != null ?\n                            exchangeRate.exchangeRate() : null));\n        }\n        viewModel.showBitmapDialog.observe(this, new Event.Observer<Bitmap>() {\n            @Override\n            protected void onEvent(final Bitmap bitmap) {\n                BitmapFragment.show(fragmentManager, bitmap);\n            }\n        });\n\n        if (savedInstanceState != null) {\n            restoreInstanceState(savedInstanceState);\n        }\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.request_coins_fragment, container, false);\n\n        qrView = view.findViewById(R.id.request_coins_qr);\n\n        qrCardView = view.findViewById(R.id.request_coins_qr_card);\n        qrCardView.setCardBackgroundColor(Color.WHITE);\n        qrCardView.setPreventCornerOverlap(false);\n        qrCardView.setUseCompatPadding(false);\n        qrCardView.setMaxCardElevation(0); // we're using Lollipop elevation\n\n        final CurrencyAmountView btcAmountView = view.findViewById(R.id.request_coins_amount_btc);\n        btcAmountView.setCurrencySymbol(config.getFormat().code());\n        btcAmountView.setInputFormat(config.getMaxPrecisionFormat());\n        btcAmountView.setHintFormat(config.getFormat());\n\n        final CurrencyAmountView localAmountView = view.findViewById(R.id.request_coins_amount_local);\n        localAmountView.setInputFormat(Constants.LOCAL_FORMAT);\n        localAmountView.setHintFormat(Constants.LOCAL_FORMAT);\n        amountCalculatorLink = new CurrencyCalculatorLink(btcAmountView, localAmountView);\n\n        final BluetoothAdapter bluetoothAdapter = this.bluetoothAdapter;\n        acceptBluetoothPaymentView = view.findViewById(R.id.request_coins_accept_bluetooth_payment);\n        acceptBluetoothPaymentView.setVisibility(\n                bluetoothAdapter != null &&\n                        (Bluetooth.getAddress(bluetoothAdapter) != null || config.getLastBluetoothAddress() != null || config.getBluetoothAddress() != null) ?\n                        View.VISIBLE : View.GONE);\n        acceptBluetoothPaymentView.setChecked(bluetoothAdapter != null && bluetoothAdapter.isEnabled());\n        acceptBluetoothPaymentView.setOnCheckedChangeListener((buttonView, isChecked) -> {\n            if (bluetoothAdapter != null && isChecked) {\n                if (bluetoothAdapter.isEnabled()) {\n                    maybeStartBluetoothListening();\n                } else {\n                    // ask for permission to enable bluetooth\n                    startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE),\n                            REQUEST_CODE_ENABLE_BLUETOOTH);\n                }\n            } else {\n                stopBluetoothListening();\n            }\n        });\n\n        initiateRequestView = view.findViewById(R.id.request_coins_fragment_initiate_request);\n\n        return view;\n    }\n\n    @Override\n    public void onViewCreated(final View view, final Bundle savedInstanceState) {\n        super.onViewCreated(view, savedInstanceState);\n\n        amountCalculatorLink.setExchangeDirection(config.getLastExchangeDirection());\n        amountCalculatorLink.requestFocus();\n    }\n\n    @Override\n    public void onResume() {\n        super.onResume();\n\n        amountCalculatorLink.setListener(new CurrencyAmountView.Listener() {\n            @Override\n            public void changed() {\n                viewModel.amount.setValue(amountCalculatorLink.getAmount());\n            }\n\n            @Override\n            public void focusChanged(final boolean hasFocus) {\n                // focus linking\n                final int activeAmountViewId = amountCalculatorLink.activeTextView().getId();\n                acceptBluetoothPaymentView.setNextFocusUpId(activeAmountViewId);\n            }\n        });\n\n        final BluetoothAdapter bluetoothAdapter = this.bluetoothAdapter;\n        if (bluetoothAdapter != null && bluetoothAdapter.isEnabled() && acceptBluetoothPaymentView.isChecked())\n            maybeStartBluetoothListening();\n    }\n\n    @Override\n    public void onDestroyView() {\n        super.onDestroyView();\n\n        config.setLastExchangeDirection(amountCalculatorLink.getExchangeDirection());\n    }\n\n    @Override\n    public void onPause() {\n        amountCalculatorLink.setListener(null);\n\n        super.onPause();\n    }\n\n    @Override\n    public void onSaveInstanceState(final Bundle outState) {\n        super.onSaveInstanceState(outState);\n        saveInstanceState(outState);\n    }\n\n    private void saveInstanceState(final Bundle outState) {\n        final Address receiveAddress = viewModel.freshReceiveAddress.getValue();\n        if (receiveAddress != null)\n            outState.putString(KEY_RECEIVE_ADDRESS, receiveAddress.toString());\n    }\n\n    private void restoreInstanceState(final Bundle savedInstanceState) {\n        if (savedInstanceState.containsKey(KEY_RECEIVE_ADDRESS))\n            viewModel.freshReceiveAddress.setValue(Address.fromString(Constants.NETWORK_PARAMETERS,\n                    savedInstanceState.getString(KEY_RECEIVE_ADDRESS)));\n    }\n\n    @Override\n    public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {\n        if (requestCode == REQUEST_CODE_ENABLE_BLUETOOTH) {\n            boolean started = false;\n            if (resultCode == Activity.RESULT_OK && bluetoothAdapter != null)\n                started = maybeStartBluetoothListening();\n            acceptBluetoothPaymentView.setChecked(started);\n        }\n    }\n\n    private boolean maybeStartBluetoothListening() {\n        String bluetoothAddress = Bluetooth.getAddress(bluetoothAdapter);\n        if (bluetoothAddress == null)\n            bluetoothAddress = config.getLastBluetoothAddress();\n        if (bluetoothAddress == null)\n            bluetoothAddress = config.getBluetoothAddress();\n        if (bluetoothAddress != null && acceptBluetoothPaymentView.isChecked()) {\n            viewModel.bluetoothServiceIntent = new Intent(activity, AcceptBluetoothService.class);\n            ContextCompat.startForegroundService(activity, viewModel.bluetoothServiceIntent);\n            viewModel.bluetoothMac.setValue(Bluetooth.compressMac(bluetoothAddress));\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    private void stopBluetoothListening() {\n        if (viewModel.bluetoothServiceIntent != null) {\n            activity.stopService(viewModel.bluetoothServiceIntent);\n            viewModel.bluetoothServiceIntent = null;\n        }\n        viewModel.bluetoothMac.setValue(null);\n    }\n\n    @Override\n    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {\n        inflater.inflate(R.menu.request_coins_fragment_options, menu);\n        super.onCreateOptionsMenu(menu, inflater);\n    }\n\n    @Override\n    public void onPrepareOptionsMenu(final Menu menu) {\n        final boolean hasBitcoinUri = viewModel.bitcoinUri.getValue() != null;\n        menu.findItem(R.id.request_coins_options_copy).setEnabled(hasBitcoinUri);\n        menu.findItem(R.id.request_coins_options_share).setEnabled(hasBitcoinUri);\n        menu.findItem(R.id.request_coins_options_local_app).setEnabled(hasBitcoinUri);\n        super.onPrepareOptionsMenu(menu);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        int itemId = item.getItemId();\n        if (itemId == R.id.request_coins_options_copy) {\n            handleCopy();\n            return true;\n        } else if (itemId == R.id.request_coins_options_share) {\n            handleShare();\n            return true;\n        } else if (itemId == R.id.request_coins_options_local_app) {\n            handleLocalApp();\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    private void handleCopy() {\n        final Uri request = viewModel.bitcoinUri.getValue();\n        clipboardManager.setPrimaryClip(ClipData.newRawUri(\"Dogecoin payment request\", request));\n        log.info(\"payment request copied to clipboard: {}\", request);\n        new Toast(activity).toast(R.string.request_coins_clipboard_msg);\n    }\n\n    private void handleShare() {\n        final Uri request = viewModel.bitcoinUri.getValue();\n        final ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);\n        builder.setType(\"text/plain\");\n        builder.setText(request.toString());\n        builder.setChooserTitle(R.string.request_coins_share_dialog_title);\n        builder.startChooser();\n        log.info(\"payment request shared via intent: {}\", request);\n    }\n\n    private void handleLocalApp() {\n        final ComponentName component = new ComponentName(activity, SendCoinsActivity.class);\n        final PackageManager pm = activity.getPackageManager();\n        final Intent intent = new Intent(Intent.ACTION_VIEW, viewModel.bitcoinUri.getValue());\n\n        try {\n            // launch intent chooser with ourselves excluded\n            pm.setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,\n                    PackageManager.DONT_KILL_APP);\n            startActivity(intent);\n        } catch (final ActivityNotFoundException x) {\n            new Toast(activity).longToast(R.string.request_coins_no_local_app_msg);\n        } finally {\n            pm.setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,\n                    PackageManager.DONT_KILL_APP);\n        }\n\n        activity.finish();\n    }\n\n    private static NdefMessage createNdefMessage(final byte[] paymentRequest) {\n        if (paymentRequest != null)\n            return new NdefMessage(\n                    new NdefRecord[] { Nfc.createMime(PaymentProtocol.MIMETYPE_PAYMENTREQUEST, paymentRequest) });\n        else\n            return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/RequestCoinsViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.content.Intent;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport androidx.annotation.Nullable;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.MediatorLiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport de.schildbach.wallet.data.ConfigOwnNameLiveData;\nimport de.schildbach.wallet.data.SelectedExchangeRateLiveData;\nimport de.schildbach.wallet.util.Bluetooth;\nimport de.schildbach.wallet.util.Qr;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.params.AbstractBitcoinNetParams;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.uri.BitcoinURI;\nimport org.bitcoinj.wallet.Wallet;\n\n/**\n * @author Andreas Schildbach\n */\npublic class RequestCoinsViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    public final FreshReceiveAddressLiveData freshReceiveAddress;\n    private final ConfigOwnNameLiveData ownName;\n    public final SelectedExchangeRateLiveData exchangeRate;\n    public final MutableLiveData<Coin> amount = new MutableLiveData<>();\n    public final MutableLiveData<String> bluetoothMac = new MutableLiveData<>();\n    public final MediatorLiveData<Bitmap> qrCode = new MediatorLiveData<>();\n    public final MediatorLiveData<byte[]> paymentRequest = new MediatorLiveData<>();\n    public final MediatorLiveData<Uri> bitcoinUri = new MediatorLiveData<>();\n    public final MutableLiveData<Event<Bitmap>> showBitmapDialog = new MutableLiveData<>();\n\n    @Nullable\n    public Intent bluetoothServiceIntent = null;\n\n    public RequestCoinsViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.freshReceiveAddress = new FreshReceiveAddressLiveData(this.application);\n        this.ownName = new ConfigOwnNameLiveData(this.application);\n        this.exchangeRate = new SelectedExchangeRateLiveData(this.application);\n        this.qrCode.addSource(freshReceiveAddress, receiveAddress -> maybeGenerateQrCode());\n        this.qrCode.addSource(ownName, label -> maybeGenerateQrCode());\n        this.qrCode.addSource(amount, amount -> maybeGenerateQrCode());\n        this.qrCode.addSource(bluetoothMac, bluetoothMac -> maybeGenerateQrCode());\n        this.paymentRequest.addSource(freshReceiveAddress, receiveAddress -> maybeGeneratePaymentRequest());\n        this.paymentRequest.addSource(ownName, label -> maybeGeneratePaymentRequest());\n        this.paymentRequest.addSource(amount, amount -> maybeGeneratePaymentRequest());\n        this.paymentRequest.addSource(bluetoothMac, bluetoothMac -> maybeGeneratePaymentRequest());\n        this.bitcoinUri.addSource(freshReceiveAddress, receiveAddress -> maybeGenerateBitcoinUri());\n        this.bitcoinUri.addSource(ownName, label -> maybeGenerateBitcoinUri());\n        this.bitcoinUri.addSource(amount, amount -> maybeGenerateBitcoinUri());\n    }\n\n    private void maybeGenerateQrCode() {\n        final Address address = freshReceiveAddress.getValue();\n        if (address != null) {\n            AsyncTask.execute(() -> qrCode.postValue(\n                    Qr.bitmap(uri(address, amount.getValue(), ownName.getValue(), bluetoothMac.getValue()))));\n        }\n    }\n\n    private void maybeGeneratePaymentRequest() {\n        final Address address = freshReceiveAddress.getValue();\n        if (address != null) {\n            final String bluetoothMac = this.bluetoothMac.getValue();\n            final String paymentUrl = bluetoothMac != null ? \"bt:\" + bluetoothMac : null;\n            paymentRequest.setValue(PaymentProtocol.createPaymentRequest(Constants.NETWORK_PARAMETERS,\n                    amount.getValue(), address, ownName.getValue(), paymentUrl, null).build().toByteArray());\n        }\n    }\n\n    private void maybeGenerateBitcoinUri() {\n        final Address address = freshReceiveAddress.getValue();\n        if (address != null) {\n            bitcoinUri.setValue(Uri.parse(uri(address, amount.getValue(), ownName.getValue(), null)));\n        }\n    }\n\n    private String uri(final Address address, final Coin amount, final String label, final String bluetoothMac) {\n        final StringBuilder uri = new StringBuilder(BitcoinURI.convertToBitcoinURI(address, amount, label, null));\n        if (bluetoothMac != null) {\n            uri.append(amount == null && label == null ? '?' : '&');\n            uri.append(Bluetooth.MAC_URI_PARAM).append('=').append(bluetoothMac);\n        }\n        return uri.toString().replace(AbstractBitcoinNetParams.BITCOIN_SCHEME, \"dogecoin\");\n    }\n\n    public static class FreshReceiveAddressLiveData extends AbstractWalletLiveData<Address> {\n        private Script.ScriptType outputScriptType = null;\n\n        public FreshReceiveAddressLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        public void overrideOutputScriptType(final Script.ScriptType outputScriptType) {\n            this.outputScriptType = outputScriptType;\n        }\n\n        @Override\n        public void setValue(final Address address) {\n            super.setValue(address);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            maybeLoad();\n        }\n\n        private void maybeLoad() {\n            if (getValue() == null) {\n                final Wallet wallet = getWallet();\n                final Script.ScriptType outputScriptType = this.outputScriptType;\n                AsyncTask.execute(() -> {\n                    org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                    postValue(outputScriptType != null ? wallet.freshReceiveAddress(outputScriptType)\n                            : wallet.freshReceiveAddress());\n                });\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/SendCoinsQrActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.content.DialogInterface.OnClickListener;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.ui.InputParser.StringInputParser;\nimport de.schildbach.wallet.ui.scan.ScanActivity;\nimport de.schildbach.wallet.ui.send.SendCoinsActivity;\nimport de.schildbach.wallet.ui.send.SweepWalletActivity;\nimport org.bitcoinj.core.PrefixedChecksummedBytes;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.VerificationException;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class SendCoinsQrActivity extends AbstractWalletActivity {\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n\n    private static final int REQUEST_CODE_SCAN = 0;\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        walletActivityViewModel = new ViewModelProvider(this).get(AbstractWalletActivityViewModel.class);\n\n        if (savedInstanceState == null)\n            ScanActivity.startForResult(this, REQUEST_CODE_SCAN);\n    }\n\n    @Override\n    public void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {\n        if (requestCode == REQUEST_CODE_SCAN && resultCode == Activity.RESULT_OK) {\n            final String input = intent.getStringExtra(ScanActivity.INTENT_EXTRA_RESULT);\n\n            new StringInputParser(input) {\n                @Override\n                protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                    SendCoinsActivity.start(SendCoinsQrActivity.this, paymentIntent);\n\n                    SendCoinsQrActivity.this.finish();\n                }\n\n                @Override\n                protected void handlePrivateKey(final PrefixedChecksummedBytes key) {\n                    if (Constants.ENABLE_SWEEP_WALLET) {\n                        SweepWalletActivity.start(SendCoinsQrActivity.this, key);\n                        SendCoinsQrActivity.this.finish();\n                    } else {\n                        super.handlePrivateKey(key);\n                    }\n                }\n\n                @Override\n                protected void handleDirectTransaction(final Transaction transaction) throws VerificationException {\n                    walletActivityViewModel.broadcastTransaction(transaction);\n                    SendCoinsQrActivity.this.finish();\n                }\n\n                @Override\n                protected void error(final int messageResId, final Object... messageArgs) {\n                    final DialogBuilder dialog = DialogBuilder.dialog(SendCoinsQrActivity.this, 0, messageResId, messageArgs);\n                    dialog.singleDismissButton(dismissListener);\n                    dialog.show();\n                }\n\n                private final OnClickListener dismissListener = (dialog, which) -> SendCoinsQrActivity.this.finish();\n            }.parse();\n        } else {\n            finish();\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/SendingAddressesFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.ClipData;\nimport android.content.ClipboardManager;\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ViewAnimator;\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.addressbook.AddressBookDao;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.ui.send.SendCoinsActivity;\nimport de.schildbach.wallet.util.Qr;\nimport de.schildbach.wallet.util.Toast;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.params.AbstractBitcoinNetParams;\nimport org.bitcoinj.uri.BitcoinURI;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class SendingAddressesFragment extends Fragment implements AddressBookAdapter.OnClickListener,\n        AddressBookAdapter.ContextMenuCallback {\n    private AbstractWalletActivity activity;\n    private FragmentManager fragmentManager;\n    private AddressBookDao addressBookDao;\n    private ClipboardManager clipboardManager;\n\n    private ViewAnimator viewGroup;\n    private RecyclerView recyclerView;\n    private AddressBookAdapter adapter;\n\n    private AddressBookViewModel activityViewModel;\n    private SendingAddressesViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(SendingAddressesFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.addressBookDao = AddressBookDatabase.getDatabase(context).addressBookDao();\n        this.clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        this.fragmentManager = getChildFragmentManager();\n\n        activityViewModel = new ViewModelProvider(activity).get(AddressBookViewModel.class);\n        activityViewModel.selectedAddress.observe(this, address -> {\n            adapter.setSelectedAddress(address);\n            final int position = adapter.positionOf(address);\n            if (position != RecyclerView.NO_POSITION) {\n                activityViewModel.pageTo.setValue(new Event(AddressBookActivity.POSITION_SENDING_ADDRESSES));\n                recyclerView.smoothScrollToPosition(position);\n            }\n        });\n        viewModel = new ViewModelProvider(this).get(SendingAddressesViewModel.class);\n        viewModel.addressesToExclude.observe(this, addressesToExclude -> {\n            viewModel.addressBook = addressBookDao.getAllExcept(addressesToExclude);\n            viewModel.addressBook.observe(SendingAddressesFragment.this, addressBook -> {\n                viewGroup.setDisplayedChild(addressBook.isEmpty() ? 1 : 2);\n                adapter.submitList(AddressBookAdapter.buildListItems(activity, addressBook));\n            });\n        });\n        viewModel.showBitmapDialog.observe(this, new Event.Observer<Bitmap>() {\n            @Override\n            protected void onEvent(final Bitmap bitmap) {\n                BitmapFragment.show(fragmentManager, bitmap);\n            }\n        });\n        viewModel.showEditAddressBookEntryDialog.observe(this, new Event.Observer<Address>() {\n            @Override\n            protected void onEvent(final Address address) {\n                EditAddressBookEntryFragment.edit(fragmentManager, address);\n            }\n        });\n\n        adapter = new AddressBookAdapter(activity, this, this);\n    }\n\n    @Nullable\n    @Override\n    public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable final ViewGroup container,\n                             @Nullable final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.sending_addresses_fragment, container, false);\n        viewGroup = view.findViewById(R.id.sending_addresses_list_group);\n        recyclerView = view.findViewById(R.id.sending_addresses_list);\n        recyclerView.setHasFixedSize(true);\n        recyclerView.setLayoutManager(new LinearLayoutManager(activity));\n        recyclerView.setAdapter(adapter);\n        return view;\n    }\n\n    @Override\n    public void onAddressClick(final View view, final Address address, final String label) {\n        activityViewModel.selectedAddress.setValue(address);\n    }\n\n    @Override\n    public void onInflateAddressContextMenu(final MenuInflater inflater, final Menu menu) {\n        inflater.inflate(R.menu.sending_addresses_context, menu);\n    }\n\n    @Override\n    public boolean onClickAddressContextMenuItem(final MenuItem item, final Address address, final String label) {\n        int itemId = item.getItemId();\n        if (itemId == R.id.sending_addresses_context_send) {\n            SendCoinsActivity.start(activity, PaymentIntent.fromAddress(address, label));\n            return true;\n        } else if (itemId == R.id.sending_addresses_context_edit) {\n            viewModel.showEditAddressBookEntryDialog.setValue(new Event<>(address));\n            return true;\n        } else if (itemId == R.id.sending_addresses_context_remove) {\n            addressBookDao.delete(address.toString());\n            return true;\n        } else if (itemId == R.id.sending_addresses_context_show_qr) {\n            final String uri = BitcoinURI.convertToBitcoinURI(Constants.NETWORK_PARAMETERS,\n                    address.toString(), null, label, null).replace(AbstractBitcoinNetParams.BITCOIN_SCHEME, \"dogecoin\");;\n            viewModel.showBitmapDialog.setValue(new Event<>(Qr.bitmap(uri)));\n            return true;\n        } else if (itemId == R.id.sending_addresses_context_copy_to_clipboard) {\n            clipboardManager.setPrimaryClip(ClipData.newPlainText(\"Dogecoin address\", address.toString()));\n            log.info(\"sending address copied to clipboard: {}\", address);\n            new Toast(activity).toast(R.string.wallet_address_fragment_clipboard_msg);\n            return true;\n        } else {\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/SendingAddressesViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.graphics.Bitmap;\nimport android.os.AsyncTask;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.ECKey;\nimport org.bitcoinj.core.LegacyAddress;\nimport org.bitcoinj.wallet.Wallet;\n\nimport java.util.HashSet;\nimport java.util.List;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SendingAddressesViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    public LiveData<List<AddressBookEntry>> addressBook;\n    public final AddressesToExcludeLiveData addressesToExclude;\n    public final MutableLiveData<Event<Bitmap>> showBitmapDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Address>> showEditAddressBookEntryDialog = new MutableLiveData<>();\n\n    public SendingAddressesViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.addressesToExclude = new AddressesToExcludeLiveData(this.application);\n    }\n\n    public static class AddressesToExcludeLiveData extends AbstractWalletLiveData<Set<String>> {\n        public AddressesToExcludeLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            loadAddressesToExclude();\n        }\n\n        private void loadAddressesToExclude() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                final List<Address> derivedAddresses = wallet.getIssuedReceiveAddresses();\n                final List<ECKey> randomKeys = wallet.getImportedKeys();\n\n                final Set<String> addresses = new HashSet<>(derivedAddresses.size() + randomKeys.size());\n                for (final Address address : derivedAddresses)\n                    addresses.add(address.toString());\n                for (final ECKey key : randomKeys)\n                    addresses.add(LegacyAddress.fromKey(Constants.NETWORK_PARAMETERS, key).toString());\n                postValue(addresses);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/SeparatorViewHolder.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.view.View;\nimport android.widget.TextView;\nimport androidx.recyclerview.widget.RecyclerView;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SeparatorViewHolder extends RecyclerView.ViewHolder {\n    public final TextView label;\n\n    public SeparatorViewHolder(final View itemView) {\n        super(itemView);\n        label = itemView.findViewById(android.R.id.text1);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/ShowPasswordCheckListener.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.text.method.PasswordTransformationMethod;\nimport android.text.method.TransformationMethod;\nimport android.widget.CompoundButton;\nimport android.widget.CompoundButton.OnCheckedChangeListener;\nimport android.widget.EditText;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class ShowPasswordCheckListener implements OnCheckedChangeListener {\n    private EditText[] passwordViews;\n\n    public ShowPasswordCheckListener(final EditText... passwordViews) {\n        this.passwordViews = passwordViews;\n    }\n\n    @Override\n    public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {\n        final TransformationMethod transformationMethod = isChecked ? null : PasswordTransformationMethod.getInstance();\n\n        for (final EditText passwordView : passwordViews)\n            passwordView.setTransformationMethod(transformationMethod);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/StickToTopLinearLayoutManager.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\n/**\n * @author Andreas Schildbach\n */\npublic class StickToTopLinearLayoutManager extends LinearLayoutManager {\n    public StickToTopLinearLayoutManager(final Context context) {\n        super(context);\n    }\n\n    @Override\n    public void onItemsAdded(final RecyclerView recyclerView, final int positionStart, final int itemCount) {\n        super.onItemsAdded(recyclerView, positionStart, itemCount);\n        if (positionStart == 0 && findFirstCompletelyVisibleItemPosition() <= itemCount)\n            scrollToPosition(0);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/TransactionsAdapter.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.graphics.Color;\nimport android.graphics.Typeface;\nimport android.text.Html;\nimport android.text.Spanned;\nimport android.text.SpannedString;\nimport android.text.format.DateUtils;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport android.widget.Toolbar;\nimport androidx.annotation.MainThread;\nimport androidx.annotation.Nullable;\nimport androidx.core.graphics.ColorUtils;\nimport androidx.recyclerview.widget.DiffUtil;\nimport androidx.recyclerview.widget.ListAdapter;\nimport androidx.recyclerview.widget.RecyclerView;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.ui.TransactionsAdapter.ListItem.TransactionItem;\nimport de.schildbach.wallet.util.Formats;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.Transaction.Purpose;\nimport org.bitcoinj.core.TransactionConfidence;\nimport org.bitcoinj.core.TransactionConfidence.ConfidenceType;\nimport org.bitcoinj.utils.ExchangeRate;\nimport org.bitcoinj.utils.Fiat;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.wallet.DefaultCoinSelector;\nimport org.bitcoinj.wallet.Wallet;\n\nimport java.nio.ByteBuffer;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.EnumSet;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Objects;\n\n/**\n * @author Andreas Schildbach\n */\npublic class TransactionsAdapter extends ListAdapter<TransactionsAdapter.ListItem, RecyclerView.ViewHolder> {\n    public static List<ListItem> buildListItems(final Context context, final List<Transaction> transactions,\n            final WarningType warning, final @Nullable Wallet wallet,\n            final @Nullable Map<String, AddressBookEntry> addressBook, final MonetaryFormat format,\n            final int maxConnectedPeers) {\n        final MonetaryFormat noCodeFormat = format.noCode();\n        final List<ListItem> items = new ArrayList<>(transactions.size() + 1);\n        if (warning != null)\n            items.add(new ListItem.WarningItem(warning));\n        for (final Transaction tx : transactions)\n            items.add(new ListItem.TransactionItem(context, tx, wallet, addressBook, noCodeFormat, maxConnectedPeers));\n        return items;\n    }\n\n    public static abstract class ListItem {\n        // internal item id\n        public final long id;\n\n        private ListItem(final long id) {\n            this.id = id;\n        }\n\n        public static class TransactionItem extends ListItem {\n            public final Sha256Hash transactionId;\n            public final int confidenceCircularProgress, confidenceCircularMaxProgress;\n            public final int confidenceCircularSize, confidenceCircularMaxSize;\n            public final int confidenceCircularFillColor, confidenceCircularStrokeColor;\n            @Nullable\n            public final String confidenceTextual;\n            public final int confidenceTextualColor;\n            @Nullable\n            public final Spanned confidenceMessage;\n            public final boolean confidenceMessageOnlyShownWhenSelected;\n            public final CharSequence time, timeSelected;\n            public final int timeColor;\n            @Nullable\n            public final Spanned address;\n            public final int addressColor;\n            public final Typeface addressTypeface;\n            @Nullable\n            public final Coin fee;\n            public final MonetaryFormat feeFormat;\n            @Nullable\n            public final Coin value;\n            public final MonetaryFormat valueFormat;\n            public final int valueColor;\n            @Nullable\n            public final Fiat fiat;\n            @Nullable\n            public final MonetaryFormat fiatFormat;\n            public final int fiatPrefixColor;\n            @Nullable\n            public final Spanned message;\n            public final int messageColor;\n\n            public TransactionItem(final Context context, final Transaction tx, final @Nullable Wallet wallet,\n                    final @Nullable Map<String, AddressBookEntry> addressBook, final MonetaryFormat format,\n                    final int maxConnectedPeers) {\n                super(id(tx.getTxId()));\n                this.transactionId = tx.getTxId();\n\n                final int colorSignificant = context.getColor(R.color.fg_significant);\n                final int colorLessSignificant = context.getColor(R.color.fg_less_significant);\n                final int colorInsignificant = context.getColor(R.color.fg_insignificant);\n                final int colorValuePositive = context.getColor(R.color.fg_value_positive);\n                final int colorValueNegative = context.getColor(R.color.fg_value_negative);\n                final int colorError = context.getColor(R.color.fg_error);\n\n                final Coin value = tx.getValue(wallet);\n                final boolean sent = value.signum() < 0;\n                final boolean self = WalletUtils.isEntirelySelf(tx, wallet);\n                final TransactionConfidence confidence = tx.getConfidence();\n                final ConfidenceType confidenceType = confidence.getConfidenceType();\n                final boolean isOwn = confidence.getSource().equals(TransactionConfidence.Source.SELF);\n                final Transaction.Purpose purpose = tx.getPurpose();\n                final String[] memo = Formats.sanitizeMemo(tx.getMemo());\n\n                final int textColor, lessSignificantColor, valueColor;\n                if (confidenceType == ConfidenceType.DEAD) {\n                    textColor = colorError;\n                    lessSignificantColor = colorError;\n                    valueColor = colorError;\n                } else if (DefaultCoinSelector.isSelectable(tx)) {\n                    textColor = colorSignificant;\n                    lessSignificantColor = colorLessSignificant;\n                    valueColor = sent ? colorValueNegative : colorValuePositive;\n                } else {\n                    textColor = colorInsignificant;\n                    lessSignificantColor = colorInsignificant;\n                    valueColor = sent ? colorValueNegative : colorValuePositive;\n                }\n\n                // confidence\n                if (confidenceType == ConfidenceType.PENDING) {\n                    this.confidenceCircularMaxProgress = 1;\n                    this.confidenceCircularProgress = 1;\n                    this.confidenceCircularMaxSize = maxConnectedPeers / 2; // magic value\n                    this.confidenceCircularSize = confidence.numBroadcastPeers();\n                    this.confidenceCircularFillColor = colorInsignificant;\n                    this.confidenceCircularStrokeColor = Color.TRANSPARENT;\n                    this.confidenceTextual = null;\n                    this.confidenceTextualColor = 0;\n                    this.confidenceMessage = sent && confidence.numBroadcastPeers() == 0\n                            ? SpannedString.valueOf(\n                                    context.getString(R.string.transaction_row_confidence_message_sent_unbroadcasted))\n                            : null;\n                    this.confidenceMessageOnlyShownWhenSelected = false;\n                } else if (confidenceType == ConfidenceType.IN_CONFLICT) {\n                    this.confidenceTextual = CONFIDENCE_SYMBOL_IN_CONFLICT;\n                    this.confidenceTextualColor = colorError;\n                    this.confidenceCircularMaxProgress = 0;\n                    this.confidenceCircularProgress = 0;\n                    this.confidenceCircularMaxSize = 0;\n                    this.confidenceCircularSize = 0;\n                    this.confidenceCircularFillColor = 0;\n                    this.confidenceCircularStrokeColor = 0;\n                    this.confidenceMessage = null;\n                    this.confidenceMessageOnlyShownWhenSelected = false;\n                } else if (confidenceType == ConfidenceType.BUILDING) {\n                    this.confidenceCircularMaxProgress = tx.isCoinBase()\n                            ? Constants.NETWORK_PARAMETERS.getSpendableCoinbaseDepth()\n                            : Constants.MAX_NUM_CONFIRMATIONS;\n                    this.confidenceCircularProgress = Math.min(confidence.getDepthInBlocks(),\n                            this.confidenceCircularMaxProgress);\n                    this.confidenceCircularMaxSize = 1;\n                    this.confidenceCircularSize = 1;\n                    this.confidenceCircularFillColor = ColorUtils.blendARGB(colorValueNegative, colorValuePositive,\n                            (float) (this.confidenceCircularProgress - 1) / (this.confidenceCircularMaxProgress - 1));\n                    this.confidenceCircularStrokeColor = Color.TRANSPARENT;\n                    this.confidenceTextual = null;\n                    this.confidenceTextualColor = 0;\n                    this.confidenceMessage = SpannedString.valueOf(\n                            context.getString(sent ? R.string.transaction_row_confidence_message_sent_successful\n                                    : R.string.transaction_row_confidence_message_received_successful));\n                    this.confidenceMessageOnlyShownWhenSelected = true;\n                } else if (confidenceType == ConfidenceType.DEAD) {\n                    this.confidenceTextual = CONFIDENCE_SYMBOL_DEAD;\n                    this.confidenceTextualColor = colorError;\n                    this.confidenceCircularMaxProgress = 0;\n                    this.confidenceCircularProgress = 0;\n                    this.confidenceCircularMaxSize = 0;\n                    this.confidenceCircularSize = 0;\n                    this.confidenceCircularFillColor = 0;\n                    this.confidenceCircularStrokeColor = 0;\n                    this.confidenceMessage = SpannedString\n                            .valueOf(context.getString(sent ? R.string.transaction_row_confidence_message_sent_failed\n                                    : R.string.transaction_row_confidence_message_received_failed));\n                    this.confidenceMessageOnlyShownWhenSelected = false;\n                } else {\n                    this.confidenceTextual = CONFIDENCE_SYMBOL_UNKNOWN;\n                    this.confidenceTextualColor = colorInsignificant;\n                    this.confidenceCircularMaxProgress = 0;\n                    this.confidenceCircularProgress = 0;\n                    this.confidenceCircularMaxSize = 0;\n                    this.confidenceCircularSize = 0;\n                    this.confidenceCircularFillColor = 0;\n                    this.confidenceCircularStrokeColor = 0;\n                    this.confidenceMessage = null;\n                    this.confidenceMessageOnlyShownWhenSelected = false;\n                }\n\n                // time\n                final Date time = tx.getUpdateTime();\n                this.time = DateUtils.getRelativeTimeSpanString(context, time.getTime());\n                this.timeSelected = DateUtils.formatDateTime(context, time.getTime(),\n                        DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME);\n                this.timeColor = textColor;\n\n                // address\n                final Address address = sent ? WalletUtils.getToAddressOfSent(tx, wallet)\n                        : WalletUtils.getWalletAddressOfReceived(tx, wallet);\n                final String addressLabel;\n                if (addressBook == null || address == null) {\n                    addressLabel = null;\n                } else {\n                    final AddressBookEntry entry = addressBook.get(address.toString());\n                    if (entry != null)\n                        addressLabel = entry.getLabel();\n                    else\n                        addressLabel = null;\n                }\n                if (tx.isCoinBase()) {\n                    this.address = SpannedString\n                            .valueOf(context.getString(R.string.wallet_transactions_fragment_coinbase));\n                    this.addressColor = textColor;\n                    this.addressTypeface = Typeface.DEFAULT_BOLD;\n                } else if (purpose == Purpose.RAISE_FEE) {\n                    this.address = null;\n                    this.addressColor = 0;\n                    this.addressTypeface = Typeface.DEFAULT;\n                } else if (purpose == Purpose.KEY_ROTATION || self) {\n                    this.address = SpannedString.valueOf(context.getString(R.string.symbol_internal) + \" \"\n                            + context.getString(R.string.wallet_transactions_fragment_internal));\n                    this.addressColor = lessSignificantColor;\n                    this.addressTypeface = Typeface.DEFAULT_BOLD;\n                } else if (addressLabel != null) {\n                    this.address = SpannedString.valueOf(addressLabel);\n                    this.addressColor = textColor;\n                    this.addressTypeface = Typeface.DEFAULT_BOLD;\n                } else if (memo != null && memo.length >= 2) {\n                    this.address = SpannedString.valueOf(memo[1]);\n                    this.addressColor = textColor;\n                    this.addressTypeface = Typeface.DEFAULT_BOLD;\n                } else if (address != null) {\n                    this.address = WalletUtils.formatAddress(address, Constants.ADDRESS_FORMAT_GROUP_SIZE,\n                            Constants.ADDRESS_FORMAT_LINE_SIZE);\n                    this.addressColor = lessSignificantColor;\n                    this.addressTypeface = Typeface.DEFAULT;\n                } else {\n                    this.address = SpannedString.valueOf(\"?\");\n                    this.addressColor = lessSignificantColor;\n                    this.addressTypeface = Typeface.DEFAULT;\n                }\n\n                // fee\n                final Coin fee = tx.getFee();\n                final boolean showFee = sent && fee != null && !fee.isZero();\n                this.feeFormat = format;\n                this.fee = showFee ? fee.negate() : null;\n\n                // value\n                this.valueFormat = format;\n                if (purpose == Purpose.RAISE_FEE) {\n                    this.valueColor = valueColor;\n                    this.value = fee.negate();\n                } else if (value.isZero()) {\n                    this.valueColor = 0;\n                    this.value = null;\n                } else {\n                    this.valueColor = valueColor;\n                    this.value = showFee ? value.add(fee) : value;\n                }\n\n                // fiat value\n                final ExchangeRate exchangeRate = tx.getExchangeRate();\n                if (exchangeRate != null && !value.isZero()) {\n                    this.fiat = exchangeRate.coinToFiat(value);\n                    this.fiatFormat = Constants.LOCAL_FORMAT.code(0,\n                            Constants.PREFIX_ALMOST_EQUAL_TO + exchangeRate.fiat.getCurrencyCode());\n                    this.fiatPrefixColor = colorInsignificant;\n                } else {\n                    this.fiat = null;\n                    this.fiatFormat = null;\n                    this.fiatPrefixColor = 0;\n                }\n\n                // message\n                if (purpose == Purpose.KEY_ROTATION) {\n                    this.message = Html\n                            .fromHtml(context.getString(R.string.transaction_row_message_purpose_key_rotation));\n                    this.messageColor = colorSignificant;\n                } else if (purpose == Purpose.RAISE_FEE) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_purpose_raise_fee));\n                    this.messageColor = colorInsignificant;\n                } else if (!isOwn && confidenceType == ConfidenceType.PENDING && confidence.numBroadcastPeers() == 0) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_direct));\n                    this.messageColor = colorInsignificant;\n                } else if (!sent && value.compareTo(Transaction.MIN_NONDUST_OUTPUT) < 0) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_dust));\n                    this.messageColor = colorInsignificant;\n                } else if (!sent && confidenceType == ConfidenceType.PENDING\n                        && (tx.getUpdateTime() == null || wallet.getLastBlockSeenTimeSecs() * 1000\n                                - tx.getUpdateTime().getTime() > Constants.DELAYED_TRANSACTION_THRESHOLD_MS)) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_unconfirmed_delayed));\n                    this.messageColor = colorInsignificant;\n                } else if (!sent && confidenceType == ConfidenceType.PENDING) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_unconfirmed_unlocked));\n                    this.messageColor = colorInsignificant;\n                } else if (!sent && confidenceType == ConfidenceType.IN_CONFLICT) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_in_conflict));\n                    this.messageColor = colorInsignificant;\n                } else if (!sent && confidenceType == ConfidenceType.DEAD) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_dead));\n                    this.messageColor = colorError;\n                } else if (!sent && WalletUtils.isPayToManyTransaction(tx)) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_pay_to_many));\n                    this.messageColor = colorInsignificant;\n                } else if (!sent && tx.isOptInFullRBF()) {\n                    this.message = SpannedString\n                            .valueOf(context.getString(R.string.transaction_row_message_received_rbf));\n                    this.messageColor = colorInsignificant;\n                } else if (memo != null) {\n                    this.message = SpannedString.valueOf(memo[0]);\n                    this.messageColor = colorInsignificant;\n                } else {\n                    this.message = null;\n                    this.messageColor = 0;\n                }\n            }\n\n            private static long id(final Sha256Hash txId) {\n                return ByteBuffer.wrap(txId.getBytes()).getLong();\n            }\n        }\n\n        public static class WarningItem extends ListItem {\n            public final WarningType type;\n\n            public WarningItem(final WarningType type) {\n                super(id(type));\n                this.type = type;\n            }\n\n            private static long id(final WarningType type) {\n                return type.ordinal();\n            }\n        }\n    }\n\n    public enum WarningType {\n        BACKUP, STORAGE_ENCRYPTION, CHAIN_FORKING\n    }\n\n    public interface OnClickListener {\n        void onTransactionClick(View view, Sha256Hash transactionId);\n\n        void onWarningClick(View view, WarningType warning);\n    }\n\n    public interface ContextMenuCallback {\n        void onInflateTransactionContextMenu(MenuInflater inflater, Menu menu, Sha256Hash transactionId);\n\n        boolean onClickTransactionContextMenuItem(MenuItem item, Sha256Hash transactionId);\n    }\n\n    private final Context context;\n    private final LayoutInflater inflater;\n    private final MenuInflater menuInflater;\n\n    @Nullable\n    private final OnClickListener onClickListener;\n    @Nullable\n    private final ContextMenuCallback contextMenuCallback;\n    @Nullable\n    private Sha256Hash selectedTransactionId;\n\n    private static final String CONFIDENCE_SYMBOL_IN_CONFLICT = \"\\u26A0\"; // warning sign\n    private static final String CONFIDENCE_SYMBOL_DEAD = \"\\u271D\"; // latin cross\n    private static final String CONFIDENCE_SYMBOL_UNKNOWN = \"?\";\n\n    private static final int VIEW_TYPE_TRANSACTION = 0;\n    private static final int VIEW_TYPE_WARNING = 1;\n\n    private enum ChangeType {\n        CONFIDENCE, TIME, ADDRESS, FEE, VALUE, FIAT, MESSAGE, SELECTION\n    }\n\n    public TransactionsAdapter(final Context context, @Nullable final OnClickListener onClickListener,\n                               @Nullable final ContextMenuCallback contextMenuCallback) {\n        super(new DiffUtil.ItemCallback<ListItem>() {\n            @Override\n            public boolean areItemsTheSame(final ListItem oldItem, final ListItem newItem) {\n                return oldItem.id == newItem.id;\n            }\n\n            @Override\n            public boolean areContentsTheSame(final ListItem oldItem, final ListItem newItem) {\n                if (oldItem instanceof TransactionItem) {\n                    final TransactionItem oldTransactionItem = (TransactionItem) oldItem;\n                    final TransactionItem newTransactionItem = (TransactionItem) newItem;\n                    if (!Objects.equals(oldTransactionItem.confidenceCircularProgress,\n                            newTransactionItem.confidenceCircularProgress))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceCircularMaxProgress,\n                            newTransactionItem.confidenceCircularMaxProgress))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceCircularSize,\n                            newTransactionItem.confidenceCircularSize))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceCircularMaxSize,\n                            newTransactionItem.confidenceCircularMaxSize))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceCircularFillColor,\n                            newTransactionItem.confidenceCircularFillColor))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceCircularStrokeColor,\n                            newTransactionItem.confidenceCircularStrokeColor))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceTextual, newTransactionItem.confidenceTextual))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceTextualColor,\n                            newTransactionItem.confidenceTextualColor))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceMessage, newTransactionItem.confidenceMessage))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.confidenceMessageOnlyShownWhenSelected,\n                            newTransactionItem.confidenceMessageOnlyShownWhenSelected))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.time, newTransactionItem.time))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.timeSelected, newTransactionItem.timeSelected))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.timeColor, newTransactionItem.timeColor))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.address, newTransactionItem.address))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.addressColor, newTransactionItem.addressColor))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.addressTypeface, newTransactionItem.addressTypeface))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.fee, newTransactionItem.fee))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.feeFormat.format(Coin.COIN).toString(),\n                            newTransactionItem.feeFormat.format(Coin.COIN).toString()))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.value, newTransactionItem.value))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.valueFormat.format(Coin.COIN).toString(),\n                            newTransactionItem.valueFormat.format(Coin.COIN).toString()))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.valueColor, newTransactionItem.valueColor))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.fiat, newTransactionItem.fiat))\n                        return false;\n                    if (!Objects.equals(\n                            oldTransactionItem.fiatFormat != null\n                                    ? oldTransactionItem.fiatFormat.format(Coin.COIN).toString() : null,\n                            newTransactionItem.fiatFormat != null\n                                    ? newTransactionItem.fiatFormat.format(Coin.COIN).toString() : null))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.fiatPrefixColor, newTransactionItem.fiatPrefixColor))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.message, newTransactionItem.message))\n                        return false;\n                    if (!Objects.equals(oldTransactionItem.messageColor, newTransactionItem.messageColor))\n                        return false;\n                    return true;\n                } else {\n                    return true;\n                }\n            }\n\n            @Override\n            public Object getChangePayload(final ListItem oldItem, final ListItem newItem) {\n                final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n                if (oldItem instanceof TransactionItem) {\n                    final TransactionItem oldTransactionItem = (TransactionItem) oldItem;\n                    final TransactionItem newTransactionItem = (TransactionItem) newItem;\n                    if (!(Objects.equals(oldTransactionItem.confidenceCircularProgress,\n                            newTransactionItem.confidenceCircularProgress)\n                            && Objects.equals(oldTransactionItem.confidenceCircularMaxProgress,\n                                    newTransactionItem.confidenceCircularMaxProgress)\n                            && Objects.equals(oldTransactionItem.confidenceCircularSize,\n                                    newTransactionItem.confidenceCircularSize)\n                            && Objects.equals(oldTransactionItem.confidenceCircularMaxSize,\n                                    newTransactionItem.confidenceCircularMaxSize)\n                            && Objects.equals(oldTransactionItem.confidenceCircularFillColor,\n                                    newTransactionItem.confidenceCircularFillColor)\n                            && Objects.equals(oldTransactionItem.confidenceCircularStrokeColor,\n                                    newTransactionItem.confidenceCircularStrokeColor)\n                            && Objects.equals(oldTransactionItem.confidenceTextual,\n                                    newTransactionItem.confidenceTextual)\n                            && Objects.equals(oldTransactionItem.confidenceTextualColor,\n                                    newTransactionItem.confidenceTextualColor)\n                            && Objects.equals(oldTransactionItem.confidenceMessage,\n                                    newTransactionItem.confidenceMessage)\n                            && Objects.equals(oldTransactionItem.confidenceMessageOnlyShownWhenSelected,\n                                    newTransactionItem.confidenceMessageOnlyShownWhenSelected)))\n                        changes.add(ChangeType.CONFIDENCE);\n                    if (!(Objects.equals(oldTransactionItem.time, newTransactionItem.time)\n                            && Objects.equals(oldTransactionItem.timeSelected, newTransactionItem.timeSelected)\n                            && Objects.equals(oldTransactionItem.timeColor, newTransactionItem.timeColor)))\n                        changes.add(ChangeType.TIME);\n                    if (!(Objects.equals(oldTransactionItem.address, newTransactionItem.address)\n                            && Objects.equals(oldTransactionItem.addressColor, newTransactionItem.addressColor)\n                            && Objects.equals(oldTransactionItem.addressTypeface, newTransactionItem.addressTypeface)))\n                        changes.add(ChangeType.ADDRESS);\n                    if (!(Objects.equals(oldTransactionItem.fee, newTransactionItem.fee)\n                            && Objects.equals(oldTransactionItem.feeFormat.format(Coin.COIN).toString(),\n                                    newTransactionItem.feeFormat.format(Coin.COIN).toString())))\n                        changes.add(ChangeType.FEE);\n                    if (!(Objects.equals(oldTransactionItem.value, newTransactionItem.value)\n                            && Objects.equals(oldTransactionItem.valueFormat.format(Coin.COIN).toString(),\n                                    newTransactionItem.valueFormat.format(Coin.COIN).toString())\n                            && Objects.equals(oldTransactionItem.valueColor, newTransactionItem.valueColor)))\n                        changes.add(ChangeType.VALUE);\n                    if (!(Objects.equals(oldTransactionItem.fiat, newTransactionItem.fiat)\n                            && Objects.equals(\n                                    oldTransactionItem.fiatFormat != null\n                                            ? oldTransactionItem.fiatFormat.format(Coin.COIN).toString() : null,\n                                    newTransactionItem.fiatFormat != null\n                                            ? newTransactionItem.fiatFormat.format(Coin.COIN).toString() : null)\n                            && Objects.equals(oldTransactionItem.fiatPrefixColor, newTransactionItem.fiatPrefixColor)))\n                        changes.add(ChangeType.FIAT);\n                    if (!(Objects.equals(oldTransactionItem.message, newTransactionItem.message)\n                            && Objects.equals(oldTransactionItem.messageColor, newTransactionItem.messageColor)))\n                        changes.add(ChangeType.MESSAGE);\n                }\n                return changes;\n            }\n        });\n        this.context = context;\n        this.inflater = LayoutInflater.from(context);\n        this.menuInflater = new MenuInflater(context);\n        this.onClickListener = onClickListener;\n        this.contextMenuCallback = contextMenuCallback;\n\n        setHasStableIds(true);\n    }\n\n    @MainThread\n    public void setSelectedTransaction(final Sha256Hash newSelectedTransactionId) {\n        if (Objects.equals(newSelectedTransactionId, selectedTransactionId))\n            return;\n        if (selectedTransactionId != null)\n            notifyItemChanged(positionOf(selectedTransactionId), EnumSet.of(ChangeType.SELECTION));\n        if (newSelectedTransactionId != null)\n            notifyItemChanged(positionOf(newSelectedTransactionId), EnumSet.of(ChangeType.SELECTION));\n        this.selectedTransactionId = newSelectedTransactionId;\n    }\n\n    @MainThread\n    public int positionOf(final Sha256Hash transactionId) {\n        if (transactionId != null) {\n            final List<ListItem> list = getCurrentList();\n            for (int i = 0; i < list.size(); i++) {\n                final ListItem item = list.get(i);\n                if (item instanceof ListItem.TransactionItem && ((TransactionItem) item).transactionId.equals(transactionId))\n                    return i;\n            }\n        }\n        return RecyclerView.NO_POSITION;\n    }\n\n    @Override\n    public int getItemViewType(final int position) {\n        final ListItem listItem = getItem(position);\n        if (listItem instanceof ListItem.WarningItem)\n            return VIEW_TYPE_WARNING;\n        else if (listItem instanceof ListItem.TransactionItem)\n            return VIEW_TYPE_TRANSACTION;\n        else\n            throw new IllegalStateException();\n    }\n\n    @Override\n    public long getItemId(final int position) {\n        final ListItem listItem = getItem(position);\n        return listItem.id;\n    }\n\n    @Override\n    public RecyclerView.ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {\n        if (viewType == VIEW_TYPE_TRANSACTION)\n            return new TransactionViewHolder(inflater.inflate(R.layout.transaction_row_card, parent, false));\n        else if (viewType == VIEW_TYPE_WARNING)\n            return new WarningViewHolder(inflater.inflate(R.layout.transaction_row_warning, parent, false));\n        else\n            throw new IllegalStateException(\"unknown type: \" + viewType);\n    }\n\n    @Override\n    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {\n        throw new UnsupportedOperationException();\n    }\n\n    @Override\n    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position,\n                                 final List<Object> payloads) {\n        final boolean fullBind = payloads.isEmpty();\n        final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n        for (final Object payload : payloads)\n            changes.addAll((EnumSet<ChangeType>) payload);\n\n        final ListItem listItem = getItem(position);\n        if (holder instanceof TransactionViewHolder) {\n            final TransactionViewHolder transactionHolder = (TransactionViewHolder) holder;\n            final ListItem.TransactionItem transactionItem = (ListItem.TransactionItem) listItem;\n            final boolean isSelected = transactionItem.transactionId.equals(selectedTransactionId);\n            if (fullBind) {\n                final OnClickListener onClickListener = this.onClickListener;\n                if (onClickListener != null)\n                    transactionHolder.itemView.setOnClickListener(v -> onClickListener.onTransactionClick(v,\n                            transactionItem.transactionId));\n            }\n            if (fullBind || changes.contains(ChangeType.SELECTION)) {\n                transactionHolder.itemView.setSelected(isSelected);\n                transactionHolder.contextBar.setVisibility(View.GONE);\n                if (contextMenuCallback != null && isSelected) {\n                    final Menu menu = transactionHolder.contextBar.getMenu();\n                    menu.clear();\n                    contextMenuCallback.onInflateTransactionContextMenu(menuInflater, menu,\n                            transactionItem.transactionId);\n                    if (menu.hasVisibleItems()) {\n                        transactionHolder.contextBar.setVisibility(View.VISIBLE);\n                        transactionHolder.contextBar.setOnMenuItemClickListener(item ->\n                                contextMenuCallback.onClickTransactionContextMenuItem(item, transactionItem.transactionId));\n                    }\n                }\n            }\n            if (fullBind || changes.contains(ChangeType.CONFIDENCE) || changes.contains(ChangeType.SELECTION))\n                transactionHolder.bindConfidence(transactionItem, isSelected);\n            if (fullBind || changes.contains(ChangeType.TIME) || changes.contains(ChangeType.SELECTION))\n                transactionHolder.bindTime(transactionItem, isSelected);\n            if (fullBind || changes.contains(ChangeType.ADDRESS) || changes.contains(ChangeType.SELECTION))\n                transactionHolder.bindAddress(transactionItem, isSelected);\n            if (fullBind || changes.contains(ChangeType.FEE) || changes.contains(ChangeType.SELECTION))\n                transactionHolder.bindFee(transactionItem, isSelected);\n            if (fullBind || changes.contains(ChangeType.VALUE))\n                transactionHolder.bindValue(transactionItem);\n            if (fullBind || changes.contains(ChangeType.FIAT))\n                transactionHolder.bindFiat(transactionItem);\n            if (fullBind || changes.contains(ChangeType.MESSAGE) || changes.contains(ChangeType.SELECTION))\n                transactionHolder.bindMessage(transactionItem, isSelected);\n        } else if (holder instanceof WarningViewHolder) {\n            final WarningViewHolder warningHolder = (WarningViewHolder) holder;\n            final ListItem.WarningItem warningItem = (ListItem.WarningItem) listItem;\n            if (warningItem.type == WarningType.BACKUP) {\n                if (getItemCount() == 2 /* 1 transaction, 1 warning */) {\n                    warningHolder.message.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);\n                    warningHolder.message\n                            .setText(Html.fromHtml(context.getString(R.string.wallet_transactions_row_warning_backup)));\n                } else {\n                    warningHolder.message\n                            .setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_warning_grey600_24dp, 0, 0, 0);\n                    warningHolder.message.setText(\n                            Html.fromHtml(context.getString(R.string.wallet_disclaimer_fragment_remind_backup)));\n                }\n            } else if (warningItem.type == WarningType.STORAGE_ENCRYPTION) {\n                warningHolder.message.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);\n                warningHolder.message.setText(\n                        Html.fromHtml(context.getString(R.string.wallet_transactions_row_warning_storage_encryption)));\n            } else if (warningItem.type == WarningType.CHAIN_FORKING) {\n                warningHolder.message.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_warning_grey600_24dp, 0,\n                        0, 0);\n                warningHolder.message.setText(\n                        Html.fromHtml(context.getString(R.string.wallet_transactions_row_warning_chain_forking)));\n            }\n\n            if (onClickListener != null)\n                warningHolder.itemView.setOnClickListener(v -> onClickListener.onWarningClick(v, warningItem.type));\n        }\n    }\n\n    public static class TransactionViewHolder extends RecyclerView.ViewHolder {\n        private final View extendTime;\n        private final TextView fullTime;\n        private final View extendAddress;\n        private final CircularProgressView confidenceCircularNormal, confidenceCircularSelected;\n        private final TextView confidenceTextualNormal, confidenceTextualSelected;\n        private final View extendConfidenceMessageNormal, extendConfidenceMessageSelected;\n        private final TextView confidenceMessageNormal, confidenceMessageSelected;\n        private final TextView time;\n        private final TextView address;\n        private final CurrencyTextView value;\n        private final CurrencyTextView fiat;\n        private final View extendFee;\n        private final CurrencyTextView fee;\n        private final View extendMessage;\n        private final TextView message;\n        private final Toolbar contextBar;\n\n        public TransactionViewHolder(final View itemView) {\n            super(itemView);\n            this.extendTime = itemView.findViewById(R.id.transaction_row_extend_time);\n            this.fullTime = itemView.findViewById(R.id.transaction_row_full_time);\n            this.extendAddress = itemView.findViewById(R.id.transaction_row_extend_address);\n            this.confidenceCircularNormal = itemView.findViewById(R.id.transaction_row_confidence_circular);\n            this.confidenceCircularSelected = itemView.findViewById(R.id.transaction_row_confidence_circular_selected);\n            this.confidenceTextualNormal = itemView.findViewById(R.id.transaction_row_confidence_textual);\n            this.confidenceTextualSelected = itemView.findViewById(R.id.transaction_row_confidence_textual_selected);\n            this.extendConfidenceMessageNormal = itemView.findViewById(R.id.transaction_row_extend_confidence_message);\n            this.extendConfidenceMessageSelected = itemView.findViewById(R.id.transaction_row_extend_confidence_message_selected);\n            this.confidenceMessageNormal = itemView.findViewById(R.id.transaction_row_confidence_message);\n            this.confidenceMessageSelected = itemView.findViewById(R.id.transaction_row_confidence_message_selected);\n            this.time = itemView.findViewById(R.id.transaction_row_time);\n            this.address = itemView.findViewById(R.id.transaction_row_address);\n            this.value = itemView.findViewById(R.id.transaction_row_value);\n            this.fiat = itemView.findViewById(R.id.transaction_row_fiat);\n            this.extendFee = itemView.findViewById(R.id.transaction_row_extend_fee);\n            this.fee = itemView.findViewById(R.id.transaction_row_fee);\n            this.extendMessage = itemView.findViewById(R.id.transaction_row_extend_message);\n            this.message = itemView.findViewById(R.id.transaction_row_message);\n            this.contextBar = itemView.findViewById(R.id.transaction_row_context_bar);\n        }\n\n        public void fullBind(final TransactionItem item) {\n            bindConfidence(item, true);\n            bindTime(item, true);\n            bindAddress(item, true);\n            bindFee(item, true);\n            bindValue(item);\n            bindFiat(item);\n            bindMessage(item, true);\n        }\n\n        private void bindConfidence(final TransactionItem item, final boolean isSelected) {\n            if (isSelected) {\n                confidenceCircularNormal.setVisibility(View.INVISIBLE);\n                confidenceTextualNormal.setVisibility(View.GONE);\n                confidenceCircularSelected.setVisibility(\n                        item.confidenceCircularMaxProgress > 0 || item.confidenceCircularMaxSize > 0 ? View.VISIBLE :\n                                View.GONE);\n                confidenceCircularSelected.setMaxProgress(item.confidenceCircularMaxProgress);\n                confidenceCircularSelected.setProgress(item.confidenceCircularProgress);\n                confidenceCircularSelected.setMaxSize(item.confidenceCircularMaxSize);\n                confidenceCircularSelected.setSize(item.confidenceCircularSize);\n                confidenceCircularSelected.setColors(item.confidenceCircularFillColor,\n                        item.confidenceCircularStrokeColor);\n                confidenceTextualSelected.setVisibility(item.confidenceTextual != null ? View.VISIBLE : View.GONE);\n                confidenceTextualSelected.setText(item.confidenceTextual);\n                confidenceTextualSelected.setTextColor(item.confidenceTextualColor);\n                extendConfidenceMessageSelected.setVisibility(item.confidenceMessage != null ? View.VISIBLE :\n                        View.GONE);\n                extendConfidenceMessageNormal.setVisibility(View.GONE);\n                confidenceMessageSelected.setText(item.confidenceMessage);\n            } else {\n                confidenceCircularSelected.setVisibility(View.INVISIBLE);\n                confidenceTextualSelected.setVisibility(View.GONE);\n                confidenceCircularNormal.setVisibility(\n                        item.confidenceCircularMaxProgress > 0 || item.confidenceCircularMaxSize > 0 ? View.VISIBLE :\n                                View.GONE);\n                confidenceCircularNormal.setMaxProgress(item.confidenceCircularMaxProgress);\n                confidenceCircularNormal.setProgress(item.confidenceCircularProgress);\n                confidenceCircularNormal.setMaxSize(item.confidenceCircularMaxSize);\n                confidenceCircularNormal.setSize(item.confidenceCircularSize);\n                confidenceCircularNormal.setColors(item.confidenceCircularFillColor,\n                        item.confidenceCircularStrokeColor);\n                confidenceTextualNormal.setVisibility(item.confidenceTextual != null ? View.VISIBLE : View.GONE);\n                confidenceTextualNormal.setText(item.confidenceTextual);\n                confidenceTextualNormal.setTextColor(item.confidenceTextualColor);\n                extendConfidenceMessageSelected.setVisibility(View.GONE);\n                extendConfidenceMessageNormal.setVisibility(\n                        item.confidenceMessage != null && !item.confidenceMessageOnlyShownWhenSelected ?\n                                View.VISIBLE : View.GONE);\n                confidenceMessageNormal.setText(item.confidenceMessage);\n            }\n        }\n\n        private void bindTime(final TransactionItem item, final boolean isSelected) {\n            if (isSelected) {\n                extendTime.setVisibility(View.VISIBLE);\n                fullTime.setText(item.timeSelected);\n                fullTime.setTextColor(item.timeColor);\n                time.setVisibility(View.GONE);\n            } else {\n                time.setVisibility(View.VISIBLE);\n                time.setText(item.time);\n                time.setTextColor(item.timeColor);\n                extendTime.setVisibility(View.GONE);\n            }\n        }\n\n        private void bindAddress(final TransactionItem item, final boolean isSelected) {\n            extendAddress.setVisibility(item.address != null || !isSelected ? View.VISIBLE : View.GONE);\n            address.setText(item.address);\n            address.setTextColor(item.addressColor);\n            address.setTypeface(item.addressTypeface);\n            address.setSingleLine(!isSelected);\n        }\n\n        private void bindFee(final TransactionItem item, final boolean isSelected) {\n            extendFee.setVisibility(item.fee != null && isSelected ? View.VISIBLE : View.GONE);\n            fee.setAlwaysSigned(true);\n            fee.setFormat(item.feeFormat);\n            fee.setAmount(item.fee);\n        }\n\n        private void bindValue(final TransactionItem item) {\n            value.setVisibility(item.value != null ? View.VISIBLE : View.GONE);\n            value.setAlwaysSigned(true);\n            value.setAmount(item.value);\n            value.setFormat(item.valueFormat);\n            value.setTextColor(item.valueColor);\n        }\n\n        private void bindFiat(final TransactionItem item) {\n            fiat.setVisibility(item.fiat != null ? View.VISIBLE : View.GONE);\n            fiat.setAlwaysSigned(true);\n            fiat.setAmount(item.fiat);\n            fiat.setFormat(item.fiatFormat);\n            fiat.setPrefixColor(item.fiatPrefixColor);\n        }\n\n        private void bindMessage(final TransactionItem item, final boolean isSelected) {\n            extendMessage.setVisibility(item.message != null ? View.VISIBLE : View.GONE);\n            message.setText(item.message);\n            message.setTextColor(item.messageColor);\n            message.setSingleLine(!isSelected);\n        }\n    }\n\n    public static class WarningViewHolder extends RecyclerView.ViewHolder {\n        private final TextView message;\n\n        private WarningViewHolder(final View itemView) {\n            super(itemView);\n            message = itemView.findViewById(R.id.transaction_row_warning_message);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletActionsFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.view.ViewParent;\nimport android.widget.FrameLayout;\nimport androidx.fragment.app.Fragment;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.util.CheatSheet;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class WalletActionsFragment extends Fragment {\n    private WalletActivity activity;\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (WalletActivity) context;\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.wallet_actions_fragment, container, false);\n\n        final View requestButton = view.findViewById(R.id.wallet_actions_request);\n        requestButton.setOnClickListener(v -> activity.handleRequestCoins());\n\n        final View sendButton = view.findViewById(R.id.wallet_actions_send);\n        sendButton.setOnClickListener(v -> activity.handleSendCoins());\n\n        final View sendQrButton = view.findViewById(R.id.wallet_actions_send_qr);\n        sendQrButton.setOnClickListener(v -> activity.handleScan(v));\n        CheatSheet.setup(sendQrButton);\n\n        return view;\n    }\n\n    @Override\n    public void onResume() {\n        super.onResume();\n\n        updateView();\n    }\n\n    private void updateView() {\n        final boolean showActions = !getResources().getBoolean(R.bool.wallet_actions_top);\n\n        final View view = getView();\n        final ViewParent parent = view.getParent();\n        final View fragment = parent instanceof FrameLayout ? (FrameLayout) parent : view;\n        fragment.setVisibility(showActions ? View.VISIBLE : View.GONE);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.animation.Animator;\nimport android.animation.AnimatorInflater;\nimport android.animation.AnimatorListenerAdapter;\nimport android.animation.AnimatorSet;\nimport android.animation.ObjectAnimator;\nimport android.animation.ValueAnimator;\nimport android.app.Activity;\nimport android.content.Intent;\nimport android.content.res.Resources;\nimport android.graphics.drawable.Drawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.nfc.NdefMessage;\nimport android.nfc.NfcAdapter;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.os.Handler;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.animation.DecelerateInterpolator;\nimport androidx.coordinatorlayout.widget.CoordinatorLayout;\nimport androidx.core.view.ViewCompat;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.primitives.Floats;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.service.BlockchainService;\nimport de.schildbach.wallet.ui.InputParser.BinaryInputParser;\nimport de.schildbach.wallet.ui.InputParser.StringInputParser;\nimport de.schildbach.wallet.ui.backup.BackupWalletActivity;\nimport de.schildbach.wallet.ui.backup.RestoreWalletDialogFragment;\nimport de.schildbach.wallet.ui.monitor.NetworkMonitorActivity;\nimport de.schildbach.wallet.ui.preference.PreferenceActivity;\nimport de.schildbach.wallet.ui.scan.ScanActivity;\nimport de.schildbach.wallet.ui.send.SendCoinsActivity;\nimport de.schildbach.wallet.ui.send.SweepWalletActivity;\nimport de.schildbach.wallet.util.CrashReporter;\nimport de.schildbach.wallet.util.Nfc;\nimport de.schildbach.wallet.util.OnFirstPreDraw;\nimport org.bitcoinj.core.PrefixedChecksummedBytes;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.VerificationException;\nimport org.bitcoinj.script.Script;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class WalletActivity extends AbstractWalletActivity {\n    private WalletApplication application;\n    private Handler handler = new Handler();\n\n    private AnimatorSet enterAnimation;\n    private View contentView;\n    private View levitateView;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private WalletActivityViewModel viewModel;\n\n    private static final int REQUEST_CODE_SCAN = 0;\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        application = getWalletApplication();\n        final Configuration config = application.getConfiguration();\n\n        walletActivityViewModel = new ViewModelProvider(this).get(AbstractWalletActivityViewModel.class);\n        viewModel = new ViewModelProvider(this).get(WalletActivityViewModel.class);\n\n        setContentView(R.layout.wallet_content);\n        contentView = findViewById(android.R.id.content);\n        levitateView = contentView.findViewWithTag(\"levitate\");\n\n        // Make view tagged with 'levitate' scroll away and quickly return.\n        if (levitateView != null) {\n            final CoordinatorLayout.LayoutParams layoutParams = new CoordinatorLayout.LayoutParams(\n                    levitateView.getLayoutParams().width, levitateView.getLayoutParams().height);\n            layoutParams.setBehavior(new QuickReturnBehavior());\n            levitateView.setLayoutParams(layoutParams);\n            levitateView.addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {\n                final int height = bottom - top;\n                final View targetList = findViewById(R.id.wallet_transactions_list);\n                targetList.setPadding(targetList.getPaddingLeft(), height, targetList.getPaddingRight(),\n                        targetList.getPaddingBottom());\n                final View targetEmpty = findViewById(R.id.wallet_transactions_empty);\n                targetEmpty.setPadding(targetEmpty.getPaddingLeft(), height, targetEmpty.getPaddingRight(),\n                        targetEmpty.getPaddingBottom());\n            });\n        }\n\n        OnFirstPreDraw.listen(contentView, viewModel);\n        enterAnimation = buildEnterAnimation(contentView);\n\n        viewModel.walletEncrypted.observe(this, isEncrypted -> invalidateOptionsMenu());\n        viewModel.walletLegacyFallback.observe(this, isLegacyFallback -> invalidateOptionsMenu());\n        viewModel.showHelpDialog.observe(this, new Event.Observer<Integer>() {\n            @Override\n            protected void onEvent(final Integer messageResId) {\n                HelpDialogFragment.page(getSupportFragmentManager(), messageResId);\n            }\n        });\n        viewModel.showBackupWalletDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                BackupWalletActivity.start(WalletActivity.this);\n            }\n        });\n        viewModel.showRestoreWalletDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                RestoreWalletDialogFragment.showPick(getSupportFragmentManager());\n            }\n        });\n        viewModel.showEncryptKeysDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                EncryptKeysDialogFragment.show(getSupportFragmentManager());\n            }\n        });\n        viewModel.showReportIssueDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                ReportIssueDialogFragment.show(getSupportFragmentManager(), R.string.report_issue_dialog_title_issue,\n                        R.string.report_issue_dialog_message_issue, Constants.REPORT_SUBJECT_ISSUE, null);\n            }\n        });\n        viewModel.showReportCrashDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                ReportIssueDialogFragment.show(getSupportFragmentManager(), R.string.report_issue_dialog_title_crash,\n                        R.string.report_issue_dialog_message_crash, Constants.REPORT_SUBJECT_CRASH, null);\n            }\n        });\n        viewModel.enterAnimation.observe(this, state -> {\n            if (state == WalletActivityViewModel.EnterAnimationState.WAITING) {\n                // API level 26: enterAnimation.setCurrentPlayTime(0);\n                for (final Animator animation : enterAnimation.getChildAnimations())\n                    ((ValueAnimator) animation).setCurrentPlayTime(0);\n            } else if (state == WalletActivityViewModel.EnterAnimationState.ANIMATING) {\n                reportFullyDrawn();\n                enterAnimation.start();\n                enterAnimation.addListener(new AnimatorListenerAdapter() {\n                    @Override\n                    public void onAnimationEnd(final Animator animation) {\n                        viewModel.animationFinished();\n                    }\n                });\n            } else if (state == WalletActivityViewModel.EnterAnimationState.FINISHED) {\n                getWindow().getDecorView().setBackground(null);\n            }\n        });\n        if (savedInstanceState == null)\n            viewModel.animateWhenLoadingFinished();\n        else\n            viewModel.animationFinished();\n\n        final View exchangeRatesFragment = findViewById(R.id.wallet_main_twopanes_exchange_rates);\n        if (exchangeRatesFragment != null)\n            exchangeRatesFragment.setVisibility(Constants.ENABLE_EXCHANGE_RATES ? View.VISIBLE : View.GONE);\n\n        if (savedInstanceState == null && CrashReporter.hasSavedCrashTrace())\n            viewModel.showReportCrashDialog.setValue(Event.simple());\n\n        config.touchLastUsed();\n\n        handleIntent(getIntent());\n\n        final FragmentManager fragmentManager = getSupportFragmentManager();\n        MaybeMaintenanceFragment.add(fragmentManager);\n        AlertDialogsFragment.add(fragmentManager);\n    }\n\n    @Override\n    protected void onResume() {\n        super.onResume();\n\n        handler.postDelayed(() -> {\n            // delayed start so that UI has enough time to initialize\n            BlockchainService.start(WalletActivity.this, true);\n        }, 1000);\n    }\n\n    @Override\n    protected void onPause() {\n        handler.removeCallbacksAndMessages(null);\n\n        super.onPause();\n    }\n\n    private AnimatorSet buildEnterAnimation(final View contentView) {\n        final Drawable background = getWindow().getDecorView().getBackground();\n        final int duration = getResources().getInteger(android.R.integer.config_mediumAnimTime);\n        final Animator splashBackgroundFadeOut = AnimatorInflater.loadAnimator(WalletActivity.this, R.animator.fade_out_drawable);\n        final Animator splashForegroundFadeOut = AnimatorInflater.loadAnimator(WalletActivity.this, R.animator.fade_out_drawable);\n        splashBackgroundFadeOut.setTarget(((LayerDrawable) background).getDrawable(1));\n        splashForegroundFadeOut.setTarget(((LayerDrawable) background).getDrawable(2));\n        final AnimatorSet fragmentEnterAnimation = new AnimatorSet();\n        final AnimatorSet.Builder fragmentEnterAnimationBuilder =\n                fragmentEnterAnimation.play(splashBackgroundFadeOut).with(splashForegroundFadeOut);\n\n        final View slideInLeftView = contentView.findViewWithTag(\"slide_in_left\");\n        if (slideInLeftView != null) {\n            final ValueAnimator slide = ValueAnimator.ofFloat(-1.0f, 0.0f);\n            slide.addUpdateListener(animator -> {\n                float animatedValue = (float) animator.getAnimatedValue();\n                slideInLeftView.setTranslationX(\n                        animatedValue * (slideInLeftView.getWidth() + slideInLeftView.getPaddingLeft()));\n            });\n            slide.setInterpolator(new DecelerateInterpolator());\n            slide.setDuration(duration);\n            slide.setTarget(slideInLeftView);\n            final Animator fadeIn = AnimatorInflater.loadAnimator(WalletActivity.this, R.animator.fade_in_view);\n            fadeIn.setTarget(slideInLeftView);\n            fragmentEnterAnimationBuilder.before(slide).before(fadeIn);\n        }\n\n        final View slideInRightView = contentView.findViewWithTag(\"slide_in_right\");\n        if (slideInRightView != null) {\n            final ValueAnimator slide = ValueAnimator.ofFloat(1.0f, 0.0f);\n            slide.addUpdateListener(animator -> {\n                float animatedValue = (float) animator.getAnimatedValue();\n                slideInRightView.setTranslationX(\n                        animatedValue * (slideInRightView.getWidth() + slideInRightView.getPaddingRight()));\n            });\n            slide.setInterpolator(new DecelerateInterpolator());\n            slide.setDuration(duration);\n            slide.setTarget(slideInRightView);\n            final Animator fadeIn = AnimatorInflater.loadAnimator(WalletActivity.this, R.animator.fade_in_view);\n            fadeIn.setTarget(slideInRightView);\n            fragmentEnterAnimationBuilder.before(slide).before(fadeIn);\n        }\n\n        final View slideInTopView = contentView.findViewWithTag(\"slide_in_top\");\n        if (slideInTopView != null) {\n            final ValueAnimator slide = ValueAnimator.ofFloat(-1.0f, 0.0f);\n            slide.addUpdateListener(animator -> {\n                float animatedValue = (float) animator.getAnimatedValue();\n                slideInTopView.setTranslationY(\n                        animatedValue * (slideInTopView.getHeight() + slideInTopView.getPaddingTop()));\n            });\n            slide.setInterpolator(new DecelerateInterpolator());\n            slide.setDuration(duration);\n            slide.setTarget(slideInTopView);\n            final Animator fadeIn = AnimatorInflater.loadAnimator(WalletActivity.this, R.animator.fade_in_view);\n            fadeIn.setTarget(slideInTopView);\n            fragmentEnterAnimationBuilder.before(slide).before(fadeIn);\n        }\n\n        final View slideInBottomView = contentView.findViewWithTag(\"slide_in_bottom\");\n        if (slideInBottomView != null) {\n            final ValueAnimator slide = ValueAnimator.ofFloat(1.0f, 0.0f);\n            slide.addUpdateListener(animator -> {\n                float animatedValue = (float) animator.getAnimatedValue();\n                slideInBottomView.setTranslationY(\n                        animatedValue * (slideInBottomView.getHeight() + slideInBottomView.getPaddingBottom()));\n            });\n            slide.setInterpolator(new DecelerateInterpolator());\n            slide.setDuration(duration);\n            slide.setTarget(slideInBottomView);\n            final Animator fadeIn = AnimatorInflater.loadAnimator(WalletActivity.this, R.animator.fade_in_view);\n            fadeIn.setTarget(slideInBottomView);\n            fragmentEnterAnimationBuilder.before(slide).before(fadeIn);\n        }\n\n        if (levitateView != null) {\n            final ObjectAnimator elevate = ObjectAnimator.ofFloat(levitateView, \"elevation\", 0.0f,\n                    levitateView.getElevation());\n            elevate.setDuration(duration);\n            fragmentEnterAnimationBuilder.before(elevate);\n            final Drawable levitateBackground = levitateView.getBackground();\n            final Animator fadeIn = AnimatorInflater.loadAnimator(WalletActivity.this, R.animator.fade_in_drawable);\n            fadeIn.setTarget(levitateBackground);\n            fragmentEnterAnimationBuilder.before(fadeIn);\n        }\n\n        return fragmentEnterAnimation;\n    }\n\n    @Override\n    protected void onNewIntent(final Intent intent) {\n        super.onNewIntent(intent);\n        handleIntent(intent);\n    }\n\n    private void handleIntent(final Intent intent) {\n        final String action = intent.getAction();\n\n        if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {\n            final String inputType = intent.getType();\n            final NdefMessage ndefMessage = (NdefMessage) intent\n                    .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];\n            final byte[] input = Nfc.extractMimePayload(Constants.MIMETYPE_TRANSACTION, ndefMessage);\n\n            new BinaryInputParser(inputType, input) {\n                @Override\n                protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                    cannotClassify(inputType);\n                }\n\n                @Override\n                protected void error(final int messageResId, final Object... messageArgs) {\n                    final DialogBuilder dialog = DialogBuilder.dialog(WalletActivity.this, 0, messageResId, messageArgs);\n                    dialog.singleDismissButton(null);\n                    dialog.show();\n                }\n            }.parse();\n        }\n    }\n\n    @Override\n    public void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {\n        if (requestCode == REQUEST_CODE_SCAN) {\n            if (resultCode == Activity.RESULT_OK) {\n                final String input = intent.getStringExtra(ScanActivity.INTENT_EXTRA_RESULT);\n\n                new StringInputParser(input) {\n                    @Override\n                    protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                        SendCoinsActivity.start(WalletActivity.this, paymentIntent);\n                    }\n\n                    @Override\n                    protected void handlePrivateKey(final PrefixedChecksummedBytes key) {\n                        if (Constants.ENABLE_SWEEP_WALLET)\n                            SweepWalletActivity.start(WalletActivity.this, key);\n                        else\n                            super.handlePrivateKey(key);\n                    }\n\n                    @Override\n                    protected void handleDirectTransaction(final Transaction tx) throws VerificationException {\n                        walletActivityViewModel.broadcastTransaction(tx);\n                    }\n\n                    @Override\n                    protected void error(final int messageResId, final Object... messageArgs) {\n                        final DialogBuilder dialog = DialogBuilder.dialog(WalletActivity.this, R.string.button_scan, messageResId, messageArgs);\n                        dialog.singleDismissButton(null);\n                        dialog.show();\n                    }\n                }.parse();\n            }\n        } else {\n            super.onActivityResult(requestCode, resultCode, intent);\n        }\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(final Menu menu) {\n        super.onCreateOptionsMenu(menu);\n\n        getMenuInflater().inflate(R.menu.wallet_options, menu);\n\n        return true;\n    }\n\n    @Override\n    public boolean onPrepareOptionsMenu(final Menu menu) {\n        super.onPrepareOptionsMenu(menu);\n\n        final Resources res = getResources();\n\n        final boolean showExchangeRatesOption = Constants.ENABLE_EXCHANGE_RATES\n                && res.getBoolean(R.bool.show_exchange_rates_option);\n        menu.findItem(R.id.wallet_options_exchange_rates).setVisible(showExchangeRatesOption);\n        menu.findItem(R.id.wallet_options_sweep_wallet).setVisible(Constants.ENABLE_SWEEP_WALLET);\n        final String externalStorageState = Environment.getExternalStorageState();\n        final boolean enableRestoreWalletOption = Environment.MEDIA_MOUNTED.equals(externalStorageState)\n                || Environment.MEDIA_MOUNTED_READ_ONLY.equals(externalStorageState);\n        menu.findItem(R.id.wallet_options_restore_wallet).setEnabled(enableRestoreWalletOption);\n        final Boolean isEncrypted = viewModel.walletEncrypted.getValue();\n        if (isEncrypted != null) {\n            final MenuItem encryptKeysOption = menu.findItem(R.id.wallet_options_encrypt_keys);\n            encryptKeysOption.setTitle(isEncrypted ? R.string.wallet_options_encrypt_keys_change\n                    : R.string.wallet_options_encrypt_keys_set);\n            encryptKeysOption.setVisible(true);\n        }\n        final Boolean isLegacyFallback = viewModel.walletLegacyFallback.getValue();\n        if (isLegacyFallback != null) {\n            final MenuItem requestLegacyOption = menu.findItem(R.id.wallet_options_request_legacy);\n            requestLegacyOption.setVisible(isLegacyFallback);\n        }\n\n        return true;\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        int itemId = item.getItemId();\n        if (itemId == R.id.wallet_options_request) {\n            handleRequestCoins();\n            return true;\n        } else if (itemId == R.id.wallet_options_request_legacy) {\n            RequestCoinsActivity.start(this, Script.ScriptType.P2PKH);\n            return true;\n        } else if (itemId == R.id.wallet_options_send) {\n            handleSendCoins();\n            return true;\n        } else if (itemId == R.id.wallet_options_scan) {\n            handleScan(null);\n            return true;\n        } else if (itemId == R.id.wallet_options_address_book) {\n            AddressBookActivity.start(this);\n            return true;\n        } else if (itemId == R.id.wallet_options_exchange_rates) {\n            startActivity(new Intent(this, ExchangeRatesActivity.class));\n            return true;\n        } else if (itemId == R.id.wallet_options_sweep_wallet) {\n            SweepWalletActivity.start(this);\n            return true;\n        } else if (itemId == R.id.wallet_options_network_monitor) {\n            startActivity(new Intent(this, NetworkMonitorActivity.class));\n            return true;\n        } else if (itemId == R.id.wallet_options_restore_wallet) {\n            viewModel.showRestoreWalletDialog.setValue(Event.simple());\n            return true;\n        } else if (itemId == R.id.wallet_options_backup_wallet) {\n            viewModel.showBackupWalletDialog.setValue(Event.simple());\n            return true;\n        } else if (itemId == R.id.wallet_options_encrypt_keys) {\n            viewModel.showEncryptKeysDialog.setValue(Event.simple());\n            return true;\n        } else if (itemId == R.id.wallet_options_preferences) {\n            startActivity(new Intent(this, PreferenceActivity.class));\n            return true;\n        } else if (itemId == R.id.wallet_options_safety) {\n            viewModel.showHelpDialog.setValue(new Event<>(R.string.help_safety));\n            return true;\n        } else if (itemId == R.id.wallet_options_technical_notes) {\n            viewModel.showHelpDialog.setValue(new Event<>(R.string.help_technical_notes));\n            return true;\n        } else if (itemId == R.id.wallet_options_report_issue) {\n            viewModel.showReportIssueDialog.setValue(Event.simple());\n            return true;\n        } else if (itemId == R.id.wallet_options_help) {\n            viewModel.showHelpDialog.setValue(new Event<>(R.string.help_wallet));\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    public void handleRequestCoins() {\n        RequestCoinsActivity.start(this);\n    }\n\n    public void handleSendCoins() {\n        startActivity(new Intent(this, SendCoinsActivity.class));\n    }\n\n    public void handleScan(final View clickView) {\n        // The animation must be ended because of several graphical glitching that happens when the\n        // Camera/SurfaceView is used while the animation is running.\n        enterAnimation.end();\n        ScanActivity.startForResult(this, clickView, WalletActivity.REQUEST_CODE_SCAN);\n    }\n\n    private static final class QuickReturnBehavior extends CoordinatorLayout.Behavior<View> {\n        @Override\n        public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final View child,\n                final View directTargetChild, final View target, final int nestedScrollAxes, final int type) {\n            return (nestedScrollAxes & ViewCompat.SCROLL_AXIS_VERTICAL) != 0;\n        }\n\n        @Override\n        public void onNestedScroll(final CoordinatorLayout coordinatorLayout, final View child, final View target,\n                final int dxConsumed, final int dyConsumed, final int dxUnconsumed, final int dyUnconsumed,\n                final int type) {\n            child.setTranslationY(Floats.constrainToRange(child.getTranslationY() - dyConsumed, -child.getHeight(), 0));\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletActivityViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.os.AsyncTask;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport de.schildbach.wallet.util.OnFirstPreDraw;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.wallet.Wallet;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletActivityViewModel extends AndroidViewModel implements OnFirstPreDraw.Callback {\n    public enum EnterAnimationState {\n        WAITING, ANIMATING, FINISHED\n    }\n\n    private final WalletApplication application;\n    public final WalletEncryptedLiveData walletEncrypted;\n    public final WalletLegacyFallbackLiveData walletLegacyFallback;\n    public final MutableLiveData<Event<Integer>> showHelpDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showBackupWalletDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showRestoreWalletDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showEncryptKeysDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showReportIssueDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showReportCrashDialog = new MutableLiveData<>();\n    public final MutableLiveData<EnterAnimationState> enterAnimation = new MutableLiveData<>();\n    private boolean doAnimation, globalLayoutFinished, balanceLoadingFinished, addressLoadingFinished,\n            transactionsLoadingFinished;\n\n    public WalletActivityViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.walletEncrypted = new WalletEncryptedLiveData(this.application);\n        this.walletLegacyFallback = new WalletLegacyFallbackLiveData(this.application);\n    }\n\n    public void animateWhenLoadingFinished() {\n        doAnimation = true;\n        maybeToggleState();\n    }\n\n    @Override\n    public boolean onFirstPreDraw() {\n        globalLayoutFinished = true;\n        maybeToggleState();\n        return true;\n    }\n\n    public void balanceLoadingFinished() {\n        balanceLoadingFinished = true;\n        maybeToggleState();\n    }\n\n    public void addressLoadingFinished() {\n        addressLoadingFinished = true;\n        maybeToggleState();\n    }\n\n    public void transactionsLoadingFinished() {\n        transactionsLoadingFinished = true;\n        maybeToggleState();\n    }\n\n    public void animationFinished() {\n        enterAnimation.setValue(EnterAnimationState.FINISHED);\n    }\n\n    private void maybeToggleState() {\n        if (enterAnimation.getValue() == null) {\n            if (doAnimation && globalLayoutFinished)\n                enterAnimation.setValue(EnterAnimationState.WAITING);\n        } else if (enterAnimation.getValue() == EnterAnimationState.WAITING) {\n            if (balanceLoadingFinished && addressLoadingFinished && transactionsLoadingFinished)\n                enterAnimation.setValue(EnterAnimationState.ANIMATING);\n        }\n    }\n\n    public static class WalletEncryptedLiveData extends AbstractWalletLiveData<Boolean> {\n        public WalletEncryptedLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            load();\n        }\n\n        @Override\n        protected void load() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                postValue(wallet.isEncrypted());\n            });\n        }\n    }\n\n    public static class WalletLegacyFallbackLiveData extends AbstractWalletLiveData<Boolean> {\n        public WalletLegacyFallbackLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            load();\n        }\n\n        @Override\n        protected void load() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                postValue(wallet.getActiveKeyChain().getOutputScriptType() == Script.ScriptType.P2WPKH\n                        && wallet.getActiveKeyChains().get(0).getOutputScriptType() != Script.ScriptType.P2WPKH);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletAddressDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.view.Window;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport androidx.core.app.ShareCompat;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Address;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletAddressDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = WalletAddressDialogFragment.class.getName();\n\n    private ImageView imageView;\n    private TextView labelView;\n    private WalletAddressViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(WalletAddressDialogFragment.class);\n\n    public static void show(final FragmentManager fm) {\n        instance().show(fm, FRAGMENT_TAG);\n    }\n\n    private static WalletAddressDialogFragment instance() {\n        return new WalletAddressDialogFragment();\n    }\n\n    private Activity activity;\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n\n        viewModel = new ViewModelProvider(getParentFragment()).get(WalletAddressViewModel.class);\n        viewModel.qrCode.observe(this, qrCode -> {\n            final BitmapDrawable qrDrawable = new BitmapDrawable(getResources(), qrCode);\n            qrDrawable.setFilterBitmap(false);\n            imageView.setImageDrawable(qrDrawable);\n        });\n        viewModel.currentAddress.observe(this, currentAddress -> {\n            final CharSequence label = WalletUtils.formatAddress(currentAddress, Constants.ADDRESS_FORMAT_GROUP_SIZE,\n                    Constants.ADDRESS_FORMAT_LINE_SIZE);\n            labelView.setText(label);\n        });\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final Dialog dialog = new Dialog(activity);\n        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);\n        dialog.setContentView(R.layout.wallet_address_dialog);\n        dialog.setCanceledOnTouchOutside(true);\n\n        imageView = dialog.findViewById(R.id.wallet_address_dialog_image);\n        labelView = dialog.findViewById(R.id.wallet_address_dialog_label);\n\n        final View labelButtonView = dialog.findViewById(R.id.wallet_address_dialog_label_button);\n        labelButtonView.setVisibility(View.VISIBLE);\n        labelButtonView.setOnClickListener(v -> {\n            final Address address = viewModel.currentAddress.getValue();\n            if (address != null) {\n                final ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);\n                builder.setType(\"text/plain\");\n                builder.setText(address.toString());\n                builder.setChooserTitle(R.string.bitmap_fragment_share);\n                builder.startChooser();\n                log.info(\"wallet address shared via intent: {}\", address.toString());\n            }\n        });\n\n        final View hintView = dialog.findViewById(R.id.wallet_address_dialog_hint);\n        hintView.setVisibility(\n                getResources().getBoolean(R.bool.show_wallet_address_dialog_hint) ? View.VISIBLE : View.GONE);\n\n        final View dialogView = dialog.findViewById(R.id.wallet_address_dialog_group);\n        dialogView.setOnClickListener(v -> dismissAllowingStateLoss());\n\n        return dialog;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletAddressFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.nfc.NdefMessage;\nimport android.nfc.NdefRecord;\nimport android.nfc.NfcAdapter;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ImageView;\nimport androidx.annotation.Nullable;\nimport androidx.cardview.widget.CardView;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.R;\nimport org.bitcoinj.core.Address;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class WalletAddressFragment extends Fragment {\n    private WalletActivity activity;\n    private FragmentManager fragmentManager;\n    @Nullable\n    private NfcAdapter nfcAdapter;\n\n    private ImageView currentAddressQrView;\n    private CardView currentAddressQrCardView;\n\n    private WalletActivityViewModel activityViewModel;\n    private WalletAddressViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(WalletAddressFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (WalletActivity) context;\n        this.nfcAdapter = NfcAdapter.getDefaultAdapter(activity);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        this.fragmentManager = getChildFragmentManager();\n\n        activityViewModel = new ViewModelProvider(activity).get(WalletActivityViewModel.class);\n        viewModel = new ViewModelProvider(this).get(WalletAddressViewModel.class);\n\n        viewModel.qrCode.observe(this, qrCode -> {\n            final BitmapDrawable qrDrawable = new BitmapDrawable(getResources(), qrCode);\n            qrDrawable.setFilterBitmap(false);\n            currentAddressQrView.setImageDrawable(qrDrawable);\n            currentAddressQrCardView.setOnClickListener(v -> viewModel.showWalletAddressDialog.setValue(Event.simple()));\n        });\n        viewModel.bitcoinUri.observe(this, bitcoinUri -> {\n            final NfcAdapter nfcAdapter = WalletAddressFragment.this.nfcAdapter;\n            if (nfcAdapter != null)\n                nfcAdapter.setNdefPushMessage(createNdefMessage(bitcoinUri.toString()), activity);\n            activityViewModel.addressLoadingFinished();\n        });\n        viewModel.showWalletAddressDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                final Address address = viewModel.currentAddress.getValue();\n                WalletAddressDialogFragment.show(fragmentManager);\n                log.info(\"Current address enlarged: {}\", address);\n            }\n        });\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.wallet_address_fragment, container, false);\n        currentAddressQrView = view.findViewById(R.id.bitcoin_address_qr);\n\n        currentAddressQrCardView = view.findViewById(R.id.bitcoin_address_qr_card);\n        currentAddressQrCardView.setPreventCornerOverlap(false);\n        currentAddressQrCardView.setUseCompatPadding(false);\n        currentAddressQrCardView.setMaxCardElevation(0); // we're using Lollipop elevation\n\n        return view;\n    }\n\n    private static NdefMessage createNdefMessage(final String uri) {\n        if (uri != null)\n            return new NdefMessage(new NdefRecord[] { NdefRecord.createUri(uri) });\n        else\n            return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletAddressViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport androidx.annotation.Nullable;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.MediatorLiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport de.schildbach.wallet.data.ConfigOwnNameLiveData;\nimport de.schildbach.wallet.util.Qr;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.LegacyAddress;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.params.AbstractBitcoinNetParams;\nimport org.bitcoinj.uri.BitcoinURI;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.listeners.WalletChangeEventListener;\nimport org.bitcoinj.wallet.listeners.WalletCoinsReceivedEventListener;\nimport org.bitcoinj.wallet.listeners.WalletCoinsSentEventListener;\nimport org.bitcoinj.wallet.listeners.WalletReorganizeEventListener;\n\nimport java.util.Locale;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletAddressViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    public final CurrentAddressLiveData currentAddress;\n    public final ConfigOwnNameLiveData ownName;\n    public final MediatorLiveData<Bitmap> qrCode = new MediatorLiveData<>();\n    public final MediatorLiveData<Uri> bitcoinUri = new MediatorLiveData<>();\n    public final MutableLiveData<Event<Void>> showWalletAddressDialog = new MutableLiveData<>();\n\n    public WalletAddressViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.currentAddress = new CurrentAddressLiveData(this.application);\n        this.ownName = new ConfigOwnNameLiveData(this.application);\n        this.qrCode.addSource(currentAddress, currentAddress -> maybeGenerateQrCode());\n        this.qrCode.addSource(ownName, label -> maybeGenerateQrCode());\n        this.bitcoinUri.addSource(currentAddress, currentAddress -> maybeGenerateBitcoinUri());\n        this.bitcoinUri.addSource(ownName, label -> maybeGenerateBitcoinUri());\n    }\n\n    private void maybeGenerateQrCode() {\n        final Address address = currentAddress.getValue();\n        if (address != null) {\n            AsyncTask.execute(() -> qrCode.postValue(Qr.bitmap(uri(address, ownName.getValue()))));\n        }\n    }\n\n    private void maybeGenerateBitcoinUri() {\n        final Address address = currentAddress.getValue();\n        if (address != null) {\n            bitcoinUri.setValue(Uri.parse(uri(address, ownName.getValue())));\n        }\n    }\n\n    private String uri(final Address address, @Nullable final String label) {\n        final String addressUri;\n        if (address instanceof LegacyAddress || label != null)\n            return BitcoinURI.convertToBitcoinURI(address, null, label, null).replace(AbstractBitcoinNetParams.BITCOIN_SCHEME, \"dogecoin\");\n        else\n            return address.toString().toUpperCase(Locale.US).replace(AbstractBitcoinNetParams.BITCOIN_SCHEME, \"dogecoin\");\n    }\n\n    public static class CurrentAddressLiveData extends AbstractWalletLiveData<Address> {\n        public CurrentAddressLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            addWalletListener(wallet);\n            load();\n        }\n\n        @Override\n        protected void onWalletInactive(final Wallet wallet) {\n            removeWalletListener(wallet);\n        }\n\n        private void addWalletListener(final Wallet wallet) {\n            wallet.addCoinsReceivedEventListener(Threading.SAME_THREAD, walletListener);\n            wallet.addCoinsSentEventListener(Threading.SAME_THREAD, walletListener);\n            wallet.addReorganizeEventListener(Threading.SAME_THREAD, walletListener);\n            wallet.addChangeEventListener(Threading.SAME_THREAD, walletListener);\n        }\n\n        private void removeWalletListener(final Wallet wallet) {\n            wallet.removeChangeEventListener(walletListener);\n            wallet.removeReorganizeEventListener(walletListener);\n            wallet.removeCoinsSentEventListener(walletListener);\n            wallet.removeCoinsReceivedEventListener(walletListener);\n        }\n\n        @Override\n        protected void load() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                postValue(wallet.currentReceiveAddress());\n            });\n        }\n\n        private final WalletListener walletListener = new WalletListener();\n\n        private class WalletListener implements WalletCoinsReceivedEventListener, WalletCoinsSentEventListener,\n                WalletReorganizeEventListener, WalletChangeEventListener {\n            @Override\n            public void onCoinsReceived(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                    final Coin newBalance) {\n                triggerLoad();\n            }\n\n            @Override\n            public void onCoinsSent(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                    final Coin newBalance) {\n                triggerLoad();\n            }\n\n            @Override\n            public void onReorganize(final Wallet wallet) {\n                triggerLoad();\n            }\n\n            @Override\n            public void onWalletChanged(final Wallet wallet) {\n                triggerLoad();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletAddressesFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.ClipData;\nimport android.content.ClipboardManager;\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ViewAnimator;\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDao;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.util.Qr;\nimport de.schildbach.wallet.util.Toast;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.LegacyAddress;\nimport org.bitcoinj.params.AbstractBitcoinNetParams;\nimport org.bitcoinj.uri.BitcoinURI;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.List;\nimport java.util.Locale;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class WalletAddressesFragment extends Fragment implements AddressBookAdapter.OnClickListener,\n        AddressBookAdapter.ContextMenuCallback {\n    private WalletApplication application;\n    private AbstractWalletActivity activity;\n    private FragmentManager fragmentManager;\n    private AddressBookDao addressBookDao;\n    private ClipboardManager clipboardManager;\n\n    private ViewAnimator viewGroup;\n    private RecyclerView recyclerView;\n    private AddressBookAdapter adapter;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private AddressBookViewModel activityViewModel;\n    private WalletAddressesViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(WalletAddressesFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.addressBookDao = AddressBookDatabase.getDatabase(context).addressBookDao();\n        this.clipboardManager = (ClipboardManager) activity.getSystemService(Context.CLIPBOARD_SERVICE);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        this.fragmentManager = getChildFragmentManager();\n\n        walletActivityViewModel = new ViewModelProvider(activity).get(AbstractWalletActivityViewModel.class);\n        walletActivityViewModel.wallet.observe(this, wallet -> maybeSubmitList());\n        activityViewModel = new ViewModelProvider(activity).get(AddressBookViewModel.class);\n        activityViewModel.selectedAddress.observe(this, address -> {\n            adapter.setSelectedAddress(address);\n            final int position = adapter.positionOf(address);\n            if (position != RecyclerView.NO_POSITION) {\n                activityViewModel.pageTo.setValue(new Event(AddressBookActivity.POSITION_WALLET_ADDRESSES));\n                recyclerView.smoothScrollToPosition(position);\n            }\n        });\n        viewModel = new ViewModelProvider(this).get(WalletAddressesViewModel.class);\n        viewModel.issuedReceiveAddresses.observe(this, issuedReceiveAddresses -> maybeSubmitList());\n        viewModel.importedAddresses.observe(this, importedAddresses -> maybeSubmitList());\n        viewModel.addressBook.observe(this, addressBook -> maybeSubmitList());\n        viewModel.ownName.observe(this, ownName -> {});\n        viewModel.showBitmapDialog.observe(this, new Event.Observer<Bitmap>() {\n            @Override\n            protected void onEvent(final Bitmap bitmap) {\n                BitmapFragment.show(fragmentManager, bitmap);\n            }\n        });\n        viewModel.showEditAddressBookEntryDialog.observe(this, new Event.Observer<Address>() {\n            @Override\n            protected void onEvent(final Address address) {\n                EditAddressBookEntryFragment.edit(fragmentManager, address);\n            }\n        });\n\n        adapter = new AddressBookAdapter(activity, this, this);\n    }\n\n    @Nullable\n    @Override\n    public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable final ViewGroup container,\n                             @Nullable final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.wallet_addresses_fragment, container, false);\n        viewGroup = view.findViewById(R.id.wallet_addresses_list_group);\n        recyclerView = view.findViewById(R.id.wallet_addresses_list);\n        recyclerView.setHasFixedSize(true);\n        recyclerView.setLayoutManager(new LinearLayoutManager(activity));\n        recyclerView.setAdapter(adapter);\n        return view;\n    }\n\n    private void maybeSubmitList() {\n        final List<Address> derivedAddresses = viewModel.issuedReceiveAddresses.getValue();\n        final List<Address> randomAddresses = viewModel.importedAddresses.getValue();\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        if (derivedAddresses != null && randomAddresses != null) {\n            viewGroup.setDisplayedChild(1);\n            adapter.submitList(AddressBookAdapter.buildListItems(activity, derivedAddresses, randomAddresses, wallet,\n                    AddressBookEntry.asMap(viewModel.addressBook.getValue())));\n        }\n    }\n\n    @Override\n    public void onAddressClick(final View view, final Address address, final String label) {\n        activityViewModel.selectedAddress.setValue(address);\n    }\n\n    @Override\n    public void onInflateAddressContextMenu(final MenuInflater inflater, final Menu menu) {\n        inflater.inflate(R.menu.wallet_addresses_context, menu);\n        menu.findItem(R.id.wallet_addresses_context_browse).setVisible(Constants.ENABLE_BROWSE);\n    }\n\n    @Override\n    public boolean onClickAddressContextMenuItem(final MenuItem item, final Address address, final String label) {\n        int itemId = item.getItemId();\n        if (itemId == R.id.wallet_addresses_context_edit) {\n            viewModel.showEditAddressBookEntryDialog.setValue(new Event<>(address));\n            return true;\n        } else if (itemId == R.id.wallet_addresses_context_show_qr) {\n            final String ownName = viewModel.ownName.getValue();\n            final String uri;\n            if (address instanceof LegacyAddress || ownName != null)\n                uri = BitcoinURI.convertToBitcoinURI(address, null, ownName, null).replace(AbstractBitcoinNetParams.BITCOIN_SCHEME, \"dogecoin\");\n            else\n                uri = address.toString().toUpperCase(Locale.US).replace(AbstractBitcoinNetParams.BITCOIN_SCHEME, \"dogecoin\");\n            viewModel.showBitmapDialog.setValue(new Event<>(Qr.bitmap(uri)));\n            return true;\n        } else if (itemId == R.id.wallet_addresses_context_copy_to_clipboard) {\n            clipboardManager.setPrimaryClip(ClipData.newPlainText(\"Bitcoin address\", address.toString()));\n            log.info(\"wallet address copied to clipboard: {}\", address);\n            new Toast(activity).toast(R.string.wallet_address_fragment_clipboard_msg);\n            return true;\n        } else if (itemId == R.id.wallet_addresses_context_browse) {\n            final Uri blockExplorerUri = Uri.parse(String.format(application.getConfiguration().getBlockExplorer(), \"address\"));\n            log.info(\"Viewing address {} on {}\", address, blockExplorerUri);\n            activity.startExternalDocument(Uri.withAppendedPath(blockExplorerUri, address.toString()));\n            return true;\n        } else {\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletAddressesViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.graphics.Bitmap;\nimport android.os.AsyncTask;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport de.schildbach.wallet.data.ConfigOwnNameLiveData;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.ECKey;\nimport org.bitcoinj.core.LegacyAddress;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.listeners.KeyChainEventListener;\n\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletAddressesViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    public final IssuedReceiveAddressesLiveData issuedReceiveAddresses;\n    public final ImportedAddressesLiveData importedAddresses;\n    public final LiveData<List<AddressBookEntry>> addressBook;\n    public final ConfigOwnNameLiveData ownName;\n    public final MutableLiveData<Event<Bitmap>> showBitmapDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Address>> showEditAddressBookEntryDialog = new MutableLiveData<>();\n\n    public WalletAddressesViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.issuedReceiveAddresses = new IssuedReceiveAddressesLiveData(this.application);\n        this.importedAddresses = new ImportedAddressesLiveData(this.application);\n        this.addressBook = AddressBookDatabase.getDatabase(this.application).addressBookDao().getAll();\n        this.ownName = new ConfigOwnNameLiveData(this.application);\n    }\n\n    public static class IssuedReceiveAddressesLiveData extends AbstractWalletLiveData<List<Address>>\n            implements KeyChainEventListener {\n        public IssuedReceiveAddressesLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            wallet.addKeyChainEventListener(Threading.SAME_THREAD, this);\n            loadAddresses();\n        }\n\n        @Override\n        protected void onWalletInactive(final Wallet wallet) {\n            wallet.removeKeyChainEventListener(this);\n        }\n\n        @Override\n        public void onKeysAdded(final List<ECKey> keys) {\n            loadAddresses();\n        }\n\n        private void loadAddresses() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                final List<Address> addresses = wallet.getIssuedReceiveAddresses();\n                Collections.reverse(addresses);\n                postValue(addresses);\n            });\n        }\n    }\n\n    public static class ImportedAddressesLiveData extends AbstractWalletLiveData<List<Address>>\n            implements KeyChainEventListener {\n        public ImportedAddressesLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            wallet.addKeyChainEventListener(Threading.SAME_THREAD, this);\n            loadAddresses();\n        }\n\n        @Override\n        protected void onWalletInactive(final Wallet wallet) {\n            wallet.removeKeyChainEventListener(this);\n        }\n\n        @Override\n        public void onKeysAdded(final List<ECKey> keys) {\n            loadAddresses();\n        }\n\n        private void loadAddresses() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                final List<ECKey> importedKeys = wallet.getImportedKeys();\n                Collections.reverse(importedKeys);\n                final List<Address> importedAddresses = new ArrayList<>(importedKeys.size());\n                for (final ECKey key : importedKeys)\n                    importedAddresses.add(LegacyAddress.fromKey(Constants.NETWORK_PARAMETERS, key));\n                postValue(importedAddresses);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletBalanceFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.text.format.DateUtils;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport androidx.fragment.app.Fragment;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.exchangerate.ExchangeRateEntry;\nimport de.schildbach.wallet.service.BlockchainState;\nimport de.schildbach.wallet.ui.send.FeeCategory;\nimport de.schildbach.wallet.ui.send.SendCoinsActivity;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.utils.Fiat;\nimport org.libdohj.params.AbstractDogecoinParams;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class WalletBalanceFragment extends Fragment {\n    private WalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n\n    private View viewBalance;\n    private CurrencyTextView viewBalanceBtc;\n    private TextView viewBalanceWarning;\n    private CurrencyTextView viewBalanceLocal;\n    private TextView viewProgress;\n\n    private boolean showLocalBalance;\n\n    private WalletActivityViewModel activityViewModel;\n    private WalletBalanceViewModel viewModel;\n\n    private static final long BLOCKCHAIN_UPTODATE_THRESHOLD_MS = DateUtils.HOUR_IN_MILLIS;\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (WalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n\n        showLocalBalance = getResources().getBoolean(R.bool.show_local_balance);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setHasOptionsMenu(true);\n\n        activityViewModel = new ViewModelProvider(activity).get(WalletActivityViewModel.class);\n        viewModel = new ViewModelProvider(this).get(WalletBalanceViewModel.class);\n\n        application.blockchainState.observe(this, blockchainState -> updateView());\n        viewModel.getBalance().observe(this, balance -> {\n            activity.invalidateOptionsMenu();\n            updateView();\n            activityViewModel.balanceLoadingFinished();\n        });\n        if (Constants.ENABLE_EXCHANGE_RATES) {\n            viewModel.getExchangeRate().observe(this, exchangeRate -> updateView());\n        }\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        return inflater.inflate(R.layout.wallet_balance_fragment, container, false);\n    }\n\n    @Override\n    public void onViewCreated(final View view, final Bundle savedInstanceState) {\n        super.onViewCreated(view, savedInstanceState);\n\n        final boolean showExchangeRatesOption = Constants.ENABLE_EXCHANGE_RATES\n                && getResources().getBoolean(R.bool.show_exchange_rates_option);\n\n        viewBalance = view.findViewById(R.id.wallet_balance);\n        if (showExchangeRatesOption) {\n            viewBalance.setOnClickListener(v -> startActivity(new Intent(getActivity(), ExchangeRatesActivity.class)));\n        } else {\n            viewBalance.setEnabled(false);\n        }\n\n        viewBalanceBtc = view.findViewById(R.id.wallet_balance_btc);\n        viewBalanceBtc.setPrefixScaleX(0.9f);\n\n        viewBalanceWarning = view.findViewById(R.id.wallet_balance_warning);\n\n        viewBalanceLocal = view.findViewById(R.id.wallet_balance_local);\n        viewBalanceLocal.setInsignificantRelativeSize(1);\n        viewBalanceLocal.setStrikeThru(!Constants.NETWORK_PARAMETERS.getId().equals(AbstractDogecoinParams.ID_DOGE_MAINNET));\n\n        viewProgress = view.findViewById(R.id.wallet_balance_progress);\n    }\n\n    @Override\n    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {\n        inflater.inflate(R.menu.wallet_balance_fragment_options, menu);\n        super.onCreateOptionsMenu(menu, inflater);\n    }\n\n    @Override\n    public void onPrepareOptionsMenu(final Menu menu) {\n        final Coin balance = viewModel.getBalance().getValue();\n        final boolean hasSomeBalance = balance != null && !balance.isLessThan(Constants.SOME_BALANCE_THRESHOLD);\n        menu.findItem(R.id.wallet_balance_options_donate)\n                .setVisible(Constants.DONATION_ADDRESS != null && hasSomeBalance);\n        super.onPrepareOptionsMenu(menu);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        if (item.getItemId() == R.id.wallet_balance_options_donate) {\n            handleDonate();\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    private void handleDonate() {\n        SendCoinsActivity.startDonate(activity, null, FeeCategory.ECONOMIC, 0);\n    }\n\n    private void updateView() {\n        final BlockchainState blockchainState = application.blockchainState.getValue();\n        final Coin balance = viewModel.getBalance().getValue();\n        final ExchangeRateEntry exchangeRate = viewModel.getExchangeRate().getValue();\n\n        final boolean showProgress;\n\n        if (blockchainState != null && blockchainState.bestChainDate != null) {\n            final long blockchainLag = System.currentTimeMillis() - blockchainState.bestChainDate.getTime();\n            final boolean blockchainUptodate = blockchainLag < BLOCKCHAIN_UPTODATE_THRESHOLD_MS;\n            final boolean noImpediments = blockchainState.impediments.isEmpty();\n\n            showProgress = !blockchainUptodate || blockchainState.replaying;\n\n            final String downloading = getString(noImpediments ? R.string.blockchain_state_progress_downloading\n                    : R.string.blockchain_state_progress_stalled);\n\n            if (blockchainLag < 2 * DateUtils.DAY_IN_MILLIS) {\n                final long hours = blockchainLag / DateUtils.HOUR_IN_MILLIS;\n                viewProgress.setText(getString(R.string.blockchain_state_progress_hours, downloading, hours));\n            } else if (blockchainLag < 2 * DateUtils.WEEK_IN_MILLIS) {\n                final long days = blockchainLag / DateUtils.DAY_IN_MILLIS;\n                viewProgress.setText(getString(R.string.blockchain_state_progress_days, downloading, days));\n            } else if (blockchainLag < 90 * DateUtils.DAY_IN_MILLIS) {\n                final long weeks = blockchainLag / DateUtils.WEEK_IN_MILLIS;\n                viewProgress.setText(getString(R.string.blockchain_state_progress_weeks, downloading, weeks));\n            } else {\n                final long months = blockchainLag / (30 * DateUtils.DAY_IN_MILLIS);\n                viewProgress.setText(getString(R.string.blockchain_state_progress_months, downloading, months));\n            }\n        } else {\n            showProgress = false;\n        }\n\n        if (!showProgress) {\n            viewBalance.setVisibility(View.VISIBLE);\n\n            if (!showLocalBalance)\n                viewBalanceLocal.setVisibility(View.GONE);\n\n            if (balance != null) {\n                viewBalanceBtc.setVisibility(View.VISIBLE);\n                viewBalanceBtc.setFormat(config.getFormat());\n                viewBalanceBtc.setAmount(balance);\n\n                if (showLocalBalance) {\n                    if (exchangeRate != null) {\n                        final Fiat localValue = exchangeRate.exchangeRate().coinToFiat(balance);\n                        viewBalanceLocal.setVisibility(View.VISIBLE);\n                        viewBalanceLocal.setFormat(Constants.LOCAL_FORMAT.code(0,\n                                Constants.PREFIX_ALMOST_EQUAL_TO + exchangeRate.getCurrencyCode()));\n                        viewBalanceLocal.setAmount(localValue);\n                        viewBalanceLocal.setTextColor(activity.getColor(R.color.fg_less_significant));\n                    } else {\n                        viewBalanceLocal.setVisibility(View.INVISIBLE);\n                    }\n                }\n            } else {\n                viewBalanceBtc.setVisibility(View.INVISIBLE);\n            }\n\n            if (balance != null && balance.isGreaterThan(Constants.TOO_MUCH_BALANCE_THRESHOLD)) {\n                viewBalanceWarning.setVisibility(View.VISIBLE);\n                viewBalanceWarning.setText(R.string.wallet_balance_fragment_too_much);\n            } else if (Build.VERSION.SECURITY_PATCH.compareToIgnoreCase(Constants.SECURITY_PATCH_INSECURE_BELOW) < 0) {\n                viewBalanceWarning.setVisibility(View.VISIBLE);\n                viewBalanceWarning.setText(R.string.wallet_balance_fragment_insecure_device);\n            } else {\n                viewBalanceWarning.setVisibility(View.GONE);\n            }\n\n            viewProgress.setVisibility(View.GONE);\n        } else {\n            viewProgress.setVisibility(View.VISIBLE);\n            viewBalance.setVisibility(View.INVISIBLE);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletBalanceViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport androidx.lifecycle.AndroidViewModel;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.SelectedExchangeRateLiveData;\nimport de.schildbach.wallet.data.WalletBalanceLiveData;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletBalanceViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    private WalletBalanceLiveData balance;\n    private SelectedExchangeRateLiveData exchangeRate;\n\n    public WalletBalanceViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n    }\n\n    public WalletBalanceLiveData getBalance() {\n        if (balance == null)\n            balance = new WalletBalanceLiveData(application);\n        return balance;\n    }\n\n    public SelectedExchangeRateLiveData getExchangeRate() {\n        if (exchangeRate == null)\n            exchangeRate = new SelectedExchangeRateLiveData(application);\n        return exchangeRate;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletDisclaimerFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.text.Html;\nimport android.text.SpannableStringBuilder;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.view.ViewParent;\nimport android.widget.FrameLayout;\nimport android.widget.TextView;\nimport androidx.fragment.app.Fragment;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.service.BlockchainState;\nimport de.schildbach.wallet.service.BlockchainState.Impediment;\n\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class WalletDisclaimerFragment extends Fragment {\n    private WalletActivity activity;\n    private WalletApplication application;\n\n    private TextView messageView;\n\n    private WalletActivityViewModel activityViewModel;\n    private WalletDisclaimerViewModel viewModel;\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (WalletActivity) context;\n        this.application = activity.getWalletApplication();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        activityViewModel = new ViewModelProvider(activity).get(WalletActivityViewModel.class);\n        viewModel = new ViewModelProvider(this).get(WalletDisclaimerViewModel.class);\n\n        application.blockchainState.observe(this, blockchainState -> updateView());\n        viewModel.getDisclaimerEnabled().observe(this, disclaimerEnabled -> updateView());\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        messageView = (TextView) inflater.inflate(R.layout.wallet_disclaimer_fragment, container, false);\n        messageView.setOnClickListener(v -> activityViewModel.showHelpDialog.setValue(new Event<>(R.string.help_safety)));\n        return messageView;\n    }\n\n    private void updateView() {\n        final BlockchainState blockchainState = application.blockchainState.getValue();\n        final Boolean disclaimerEnabled = viewModel.getDisclaimerEnabled().getValue();\n        final boolean showDisclaimer = disclaimerEnabled != null && disclaimerEnabled;\n\n        int progressResId = 0;\n        if (blockchainState != null) {\n            final Set<Impediment> impediments = blockchainState.impediments;\n            if (impediments.contains(Impediment.STORAGE))\n                progressResId = R.string.blockchain_state_progress_problem_storage;\n            else if (impediments.contains(Impediment.NETWORK))\n                progressResId = R.string.blockchain_state_progress_problem_network;\n        }\n\n        final SpannableStringBuilder text = new SpannableStringBuilder();\n        if (progressResId != 0)\n            text.append(Html.fromHtml(\"<b>\" + getString(progressResId) + \"</b>\"));\n        if (progressResId != 0 && showDisclaimer)\n            text.append('\\n');\n        if (showDisclaimer)\n            text.append(Html.fromHtml(getString(R.string.wallet_disclaimer_fragment_remind_safety)));\n        messageView.setText(text);\n\n        final View view = getView();\n        final ViewParent parent = view.getParent();\n        final View fragment = parent instanceof FrameLayout ? (FrameLayout) parent : view;\n        fragment.setVisibility(text.length() > 0 ? View.VISIBLE : View.GONE);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletDisclaimerViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.content.SharedPreferences;\nimport android.content.SharedPreferences.OnSharedPreferenceChangeListener;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.WalletApplication;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletDisclaimerViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    private DisclaimerEnabledLiveData disclaimerEnabled;\n\n    public WalletDisclaimerViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n    }\n\n    public DisclaimerEnabledLiveData getDisclaimerEnabled() {\n        if (disclaimerEnabled == null)\n            disclaimerEnabled = new DisclaimerEnabledLiveData(application);\n        return disclaimerEnabled;\n    }\n\n    public static class DisclaimerEnabledLiveData extends LiveData<Boolean>\n            implements OnSharedPreferenceChangeListener {\n        private final Configuration config;\n\n        public DisclaimerEnabledLiveData(final WalletApplication application) {\n            this.config = application.getConfiguration();\n        }\n\n        @Override\n        protected void onActive() {\n            config.registerOnSharedPreferenceChangeListener(this);\n            setValue(config.getDisclaimerEnabled());\n        }\n\n        @Override\n        protected void onInactive() {\n            config.unregisterOnSharedPreferenceChangeListener(this);\n        }\n\n        @Override\n        public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {\n            if (Configuration.PREFS_KEY_DISCLAIMER.equals(key))\n                setValue(config.getDisclaimerEnabled());\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletTransactionsFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.admin.DevicePolicyManager;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.graphics.Bitmap;\nimport android.graphics.Color;\nimport android.graphics.Rect;\nimport android.graphics.Typeface;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.provider.Settings;\nimport android.text.SpannableStringBuilder;\nimport android.text.style.ForegroundColorSpan;\nimport android.text.style.StyleSpan;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport android.widget.ViewAnimator;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport androidx.recyclerview.widget.RecyclerView;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDao;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.ui.TransactionsAdapter.WarningType;\nimport de.schildbach.wallet.ui.send.RaiseFeeDialogFragment;\nimport de.schildbach.wallet.util.Qr;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletTransactionsFragment extends Fragment implements TransactionsAdapter.OnClickListener,\n        TransactionsAdapter.ContextMenuCallback {\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n    private FragmentManager fragmentManager;\n    private AddressBookDao addressBookDao;\n    private DevicePolicyManager devicePolicyManager;\n\n    private ViewAnimator viewGroup;\n    private TextView emptyView;\n    private RecyclerView recyclerView;\n    private TransactionsAdapter adapter;\n    private MenuItem filterMenuItem;\n\n    private WalletActivityViewModel activityViewModel;\n    private WalletTransactionsViewModel viewModel;\n\n    private static final int SHOW_QR_THRESHOLD_BYTES = 2500;\n\n    private static final Logger log = LoggerFactory.getLogger(WalletTransactionsFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n        this.addressBookDao = AddressBookDatabase.getDatabase(context).addressBookDao();\n        this.devicePolicyManager = (DevicePolicyManager) application.getSystemService(Context.DEVICE_POLICY_SERVICE);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        this.fragmentManager = getChildFragmentManager();\n\n        setHasOptionsMenu(true);\n\n        activityViewModel = new ViewModelProvider(activity).get(WalletActivityViewModel.class);\n        viewModel = new ViewModelProvider(this).get(WalletTransactionsViewModel.class);\n\n        viewModel.direction.observe(this, direction -> activity.invalidateOptionsMenu());\n        viewModel.transactions.observe(this, transactions -> {\n            if (transactions.isEmpty()) {\n                viewGroup.setDisplayedChild(0);\n\n                final WalletTransactionsViewModel.Direction direction = viewModel.direction.getValue();\n                final WarningType warning = viewModel.warning.getValue();\n                final SpannableStringBuilder emptyText = new SpannableStringBuilder(\n                        getString(direction == WalletTransactionsViewModel.Direction.SENT\n                                ? R.string.wallet_transactions_fragment_empty_text_sent\n                                : R.string.wallet_transactions_fragment_empty_text_received));\n                emptyText.setSpan(new StyleSpan(Typeface.BOLD), 0, emptyText.length(),\n                        SpannableStringBuilder.SPAN_POINT_MARK);\n                if (direction != WalletTransactionsViewModel.Direction.SENT) {\n                    emptyText.append(\"\\n\\n\")\n                            .append(getString(R.string.wallet_transactions_fragment_empty_text_howto));\n                    String miningWarning = getString(R.string.wallet_transactions_fragment_empty_text_warning);\n                    int prevLength = emptyText.length();\n                    emptyText.append(\"\\n\\n\").append(miningWarning);\n                    emptyText.setSpan(new ForegroundColorSpan(Color.RED), prevLength, emptyText.length(), SpannableStringBuilder.SPAN_POINT_MARK);\n                }\n                if (warning == WarningType.BACKUP) {\n                    final int start = emptyText.length();\n                    emptyText.append(\"\\n\\n\")\n                            .append(getString(R.string.wallet_transactions_fragment_empty_remind_backup));\n                    emptyText.setSpan(new StyleSpan(Typeface.BOLD), start, emptyText.length(),\n                            SpannableStringBuilder.SPAN_POINT_MARK);\n                }\n                emptyView.setText(emptyText);\n            } else {\n                viewGroup.setDisplayedChild(1);\n            }\n        });\n        viewModel.selectedTransaction.observe(this, transactionId -> {\n            adapter.setSelectedTransaction(transactionId);\n            final int position = adapter.positionOf(transactionId);\n            if (position != RecyclerView.NO_POSITION)\n                recyclerView.smoothScrollToPosition(position);\n        });\n        viewModel.list.observe(this, listItems -> {\n            adapter.submitList(listItems);\n            activityViewModel.transactionsLoadingFinished();\n        });\n        viewModel.showBitmapDialog.observe(this, new Event.Observer<Bitmap>() {\n            @Override\n            protected void onEvent(final Bitmap bitmap) {\n                BitmapFragment.show(fragmentManager, bitmap);\n            }\n        });\n        viewModel.showEditAddressBookEntryDialog.observe(this, new Event.Observer<Address>() {\n            @Override\n            protected void onEvent(final Address address) {\n                EditAddressBookEntryFragment.edit(fragmentManager, address);\n            }\n        });\n        viewModel.showReportIssueDialog.observe(this, new Event.Observer<Sha256Hash>() {\n            @Override\n            protected void onEvent(final Sha256Hash transactionHash) {\n                ReportIssueDialogFragment.show(fragmentManager, R.string.report_issue_dialog_title_transaction,\n                        R.string.report_issue_dialog_message_issue, Constants.REPORT_SUBJECT_ISSUE, transactionHash);\n            }\n        });\n\n        adapter = new TransactionsAdapter(activity, this, this);\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.wallet_transactions_fragment, container, false);\n\n        viewGroup = view.findViewById(R.id.wallet_transactions_group);\n\n        emptyView = view.findViewById(R.id.wallet_transactions_empty);\n\n        recyclerView = view.findViewById(R.id.wallet_transactions_list);\n        recyclerView.setHasFixedSize(true);\n        recyclerView.setLayoutManager(new StickToTopLinearLayoutManager(activity));\n        recyclerView.setAdapter(adapter);\n        recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {\n            private final int PADDING = 2\n                    * activity.getResources().getDimensionPixelOffset(R.dimen.card_margin_vertical);\n\n            @Override\n            public void getItemOffsets(final Rect outRect, final View view, final RecyclerView parent,\n                    final RecyclerView.State state) {\n                super.getItemOffsets(outRect, view, parent, state);\n\n                final int position = parent.getChildAdapterPosition(view);\n                if (position == 0)\n                    outRect.top += PADDING;\n                else if (position == parent.getAdapter().getItemCount() - 1)\n                    outRect.bottom += PADDING;\n            }\n        });\n\n        return view;\n    }\n\n    @Override\n    public void onResume() {\n        super.onResume();\n        viewModel.setWarning(warning());\n    }\n\n    @Override\n    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {\n        inflater.inflate(R.menu.wallet_transactions_fragment_options, menu);\n        filterMenuItem = menu.findItem(R.id.wallet_transactions_options_filter);\n        super.onCreateOptionsMenu(menu, inflater);\n    }\n\n    @Override\n    public void onPrepareOptionsMenu(final Menu menu) {\n        final WalletTransactionsViewModel.Direction direction = viewModel.direction.getValue();\n        if (direction == null) {\n            menu.findItem(R.id.wallet_transactions_options_filter_all).setChecked(true);\n            filterMenuItem.setIcon(R.drawable.ic_filter_list_white_24dp);\n        } else if (direction == WalletTransactionsViewModel.Direction.RECEIVED) {\n            menu.findItem(R.id.wallet_transactions_options_filter_received).setChecked(true);\n            filterMenuItem.setIcon(R.drawable.transactions_list_filter_received);\n        } else if (direction == WalletTransactionsViewModel.Direction.SENT) {\n            menu.findItem(R.id.wallet_transactions_options_filter_sent).setChecked(true);\n            filterMenuItem.setIcon(R.drawable.transactions_list_filter_sent);\n        }\n        super.onPrepareOptionsMenu(menu);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        final int itemId = item.getItemId();\n        final WalletTransactionsViewModel.Direction direction;\n        if (itemId == R.id.wallet_transactions_options_filter_all) {\n            direction = null;\n            filterMenuItem.setIcon(R.drawable.ic_filter_list_white_24dp);\n        } else if (itemId == R.id.wallet_transactions_options_filter_received) {\n            direction = WalletTransactionsViewModel.Direction.RECEIVED;\n            filterMenuItem.setIcon(R.drawable.transactions_list_filter_received);\n        } else if (itemId == R.id.wallet_transactions_options_filter_sent) {\n            direction = WalletTransactionsViewModel.Direction.SENT;\n            filterMenuItem.setIcon(R.drawable.transactions_list_filter_sent);\n        } else {\n            return false;\n        }\n\n        viewModel.setDirection(direction);\n        return true;\n    }\n\n    @Override\n    public void onTransactionClick(final View view, final Sha256Hash transactionId) {\n        viewModel.selectedTransaction.setValue(transactionId);\n    }\n\n    @Override\n    public void onInflateTransactionContextMenu(final MenuInflater inflater, final Menu menu,\n                                                final Sha256Hash transactionId) {\n        final Wallet wallet = viewModel.wallet.getValue();\n        final Transaction tx = wallet.getTransaction(transactionId);\n        final boolean txSent = tx.getValue(wallet).signum() < 0;\n        final Address txAddress = txSent ? WalletUtils.getToAddressOfSent(tx, wallet)\n                : WalletUtils.getWalletAddressOfReceived(tx, wallet);\n        final byte[] txSerialized = tx.unsafeBitcoinSerialize();\n\n        inflater.inflate(R.menu.wallet_transactions_context, menu);\n        final MenuItem editAddressMenuItem = menu\n                .findItem(R.id.wallet_transactions_context_edit_address);\n        if (txAddress != null) {\n            editAddressMenuItem.setVisible(true);\n            final boolean isAdd = addressBookDao.resolveLabel(txAddress.toString()) == null;\n            final boolean isOwn = wallet.isAddressMine(txAddress);\n\n            if (isOwn)\n                editAddressMenuItem.setTitle(isAdd ? R.string.edit_address_book_entry_dialog_title_add_receive\n                        : R.string.edit_address_book_entry_dialog_title_edit_receive);\n            else\n                editAddressMenuItem.setTitle(isAdd ? R.string.edit_address_book_entry_dialog_title_add\n                        : R.string.edit_address_book_entry_dialog_title_edit);\n        } else {\n            editAddressMenuItem.setVisible(false);\n        }\n\n        menu.findItem(R.id.wallet_transactions_context_show_qr)\n                .setVisible(txSerialized.length < SHOW_QR_THRESHOLD_BYTES);\n        menu.findItem(R.id.wallet_transactions_context_raise_fee)\n                .setVisible(false/*RaiseFeeDialogFragment.feeCanLikelyBeRaised(wallet, tx)*/);\n        menu.findItem(R.id.wallet_transactions_context_browse).setVisible(Constants.ENABLE_BROWSE);\n    }\n\n    @Override\n    public boolean onClickTransactionContextMenuItem(final MenuItem item, final Sha256Hash transactionId) {\n        final Wallet wallet = viewModel.wallet.getValue();\n        final Transaction tx = wallet.getTransaction(transactionId);\n        final int itemId = item.getItemId();\n        if (itemId == R.id.wallet_transactions_context_edit_address) {\n            final boolean txSent = tx.getValue(wallet).signum() < 0;\n            final Address txAddress = txSent ? WalletUtils.getToAddressOfSent(tx, wallet)\n                    : WalletUtils.getWalletAddressOfReceived(tx, wallet);\n            viewModel.showEditAddressBookEntryDialog.setValue(new Event<>(txAddress));\n            return true;\n        } else if (itemId == R.id.wallet_transactions_context_show_qr) {\n            final byte[] txSerialized = tx.unsafeBitcoinSerialize();\n            final Bitmap qrCodeBitmap = Qr.bitmap(Qr.encodeCompressBinary(txSerialized));\n            viewModel.showBitmapDialog.setValue(new Event<>(qrCodeBitmap));\n            return true;\n        } else if (itemId == R.id.wallet_transactions_context_raise_fee) {\n            RaiseFeeDialogFragment.show(fragmentManager, transactionId);\n            return true;\n        } else if (itemId == R.id.wallet_transactions_context_report_issue) {\n            viewModel.showReportIssueDialog.setValue(new Event<>(transactionId));\n            return true;\n        } else if (itemId == R.id.wallet_transactions_context_browse) {\n            final Uri blockExplorerUri = Uri.parse(String.format(config.getBlockExplorer(), \"tx\"));\n            log.info(\"Viewing transaction {} on {}\", transactionId, blockExplorerUri);\n            activity.startExternalDocument(Uri.withAppendedPath(blockExplorerUri, transactionId.toString()));\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    @Override\n    public void onWarningClick(final View view, final TransactionsAdapter.WarningType warning) {\n        if (warning == TransactionsAdapter.WarningType.BACKUP)\n            activityViewModel.showBackupWalletDialog.setValue(Event.simple());\n        else if (warning == TransactionsAdapter.WarningType.STORAGE_ENCRYPTION)\n            startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));\n    }\n\n    private TransactionsAdapter.WarningType warning() {\n        if (config.remindBackup())\n            return TransactionsAdapter.WarningType.BACKUP;\n\n        final int storageEncryptionStatus = devicePolicyManager.getStorageEncryptionStatus();\n        if (storageEncryptionStatus == DevicePolicyManager.ENCRYPTION_STATUS_INACTIVE\n                || storageEncryptionStatus == DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY)\n            return TransactionsAdapter.WarningType.STORAGE_ENCRYPTION;\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/WalletTransactionsViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui;\n\nimport android.app.Application;\nimport android.graphics.Bitmap;\nimport android.os.AsyncTask;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MediatorLiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport de.schildbach.wallet.data.ConfigFormatLiveData;\nimport de.schildbach.wallet.data.WalletLiveData;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.Transaction.Purpose;\nimport org.bitcoinj.core.TransactionConfidence.ConfidenceType;\nimport org.bitcoinj.core.listeners.TransactionConfidenceEventListener;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.listeners.WalletChangeEventListener;\nimport org.bitcoinj.wallet.listeners.WalletCoinsReceivedEventListener;\nimport org.bitcoinj.wallet.listeners.WalletCoinsSentEventListener;\nimport org.bitcoinj.wallet.listeners.WalletReorganizeEventListener;\n\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.Comparator;\nimport java.util.Date;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletTransactionsViewModel extends AndroidViewModel {\n    public enum Direction {\n        RECEIVED, SENT\n    }\n\n    private final WalletApplication application;\n    public final TransactionsLiveData transactions;\n    public final WalletLiveData wallet;\n    private final TransactionsConfidenceLiveData transactionsConfidence;\n    private final LiveData<List<AddressBookEntry>> addressBook;\n    private final ConfigFormatLiveData configFormat;\n    public final MutableLiveData<Direction> direction = new MutableLiveData<>();\n    public final MutableLiveData<Sha256Hash> selectedTransaction = new MutableLiveData<>();\n    public final MutableLiveData<TransactionsAdapter.WarningType> warning = new MutableLiveData<>();\n    public final MediatorLiveData<List<TransactionsAdapter.ListItem>> list = new MediatorLiveData<>();\n    public final MutableLiveData<Event<Bitmap>> showBitmapDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Address>> showEditAddressBookEntryDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Sha256Hash>> showReportIssueDialog = new MutableLiveData<>();\n\n    public WalletTransactionsViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.transactions = new TransactionsLiveData(this.application);\n        this.wallet = new WalletLiveData(this.application);\n        this.transactionsConfidence = new TransactionsConfidenceLiveData(this.application);\n        this.addressBook = AddressBookDatabase.getDatabase(this.application).addressBookDao().getAll();\n        this.configFormat = new ConfigFormatLiveData(this.application);\n        this.list.addSource(transactions, transactions -> maybePostList());\n        this.list.addSource(wallet, wallet -> maybePostList());\n        this.list.addSource(transactionsConfidence, v -> maybePostList());\n        this.list.addSource(addressBook, addressBook -> maybePostList());\n        this.list.addSource(direction, direction -> maybePostList());\n        this.list.addSource(configFormat, format -> maybePostList());\n    }\n\n    public void setDirection(final Direction direction) {\n        this.direction.setValue(direction);\n    }\n\n    public void setWarning(final TransactionsAdapter.WarningType warning) {\n        this.warning.setValue(warning);\n    }\n\n    private void maybePostList() {\n        AsyncTask.execute(() -> {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n            final Set<Transaction> transactions = WalletTransactionsViewModel.this.transactions.getValue();\n            final MonetaryFormat format = configFormat.getValue();\n            final Map<String, AddressBookEntry> addressBook = AddressBookEntry\n                    .asMap(WalletTransactionsViewModel.this.addressBook.getValue());\n            if (transactions != null && format != null && addressBook != null) {\n                final List<Transaction> filteredTransactions = new ArrayList<>(transactions.size());\n                final Wallet wallet = application.getWallet();\n                final Direction direction = WalletTransactionsViewModel.this.direction.getValue();\n                for (final Transaction tx : transactions) {\n                    final boolean sent = tx.getValue(wallet).signum() < 0;\n                    final boolean isInternal = tx.getPurpose() == Purpose.KEY_ROTATION;\n                    if ((direction == Direction.RECEIVED && !sent && !isInternal) || direction == null\n                            || (direction == Direction.SENT && sent && !isInternal))\n                        filteredTransactions.add(tx);\n                }\n\n                Collections.sort(filteredTransactions, TRANSACTION_COMPARATOR);\n\n                list.postValue(TransactionsAdapter.buildListItems(application, filteredTransactions,\n                        warning.getValue(), wallet, addressBook, format, application.maxConnectedPeers()));\n            }\n        });\n    }\n\n    private static final Comparator<Transaction> TRANSACTION_COMPARATOR = (tx1, tx2) -> {\n        final boolean pending1 = tx1.getConfidence().getConfidenceType() == ConfidenceType.PENDING;\n        final boolean pending2 = tx2.getConfidence().getConfidenceType() == ConfidenceType.PENDING;\n        if (pending1 != pending2)\n            return pending1 ? -1 : 1;\n\n        final Date updateTime1 = tx1.getUpdateTime();\n        final long time1 = updateTime1 != null ? updateTime1.getTime() : 0;\n        final Date updateTime2 = tx2.getUpdateTime();\n        final long time2 = updateTime2 != null ? updateTime2.getTime() : 0;\n        if (time1 != time2)\n            return time1 > time2 ? -1 : 1;\n\n        return tx1.getTxId().compareTo(tx2.getTxId());\n    };\n\n    public static class TransactionsLiveData extends AbstractWalletLiveData<Set<Transaction>> {\n        private static final long THROTTLE_MS = 1500;\n\n        public TransactionsLiveData(final WalletApplication application) {\n            super(application, THROTTLE_MS);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            addWalletListener(wallet);\n            load();\n        }\n\n        @Override\n        protected void onWalletInactive(final Wallet wallet) {\n            removeWalletListener(wallet);\n        }\n\n        private void addWalletListener(final Wallet wallet) {\n            wallet.addCoinsReceivedEventListener(Threading.SAME_THREAD, walletListener);\n            wallet.addCoinsSentEventListener(Threading.SAME_THREAD, walletListener);\n            wallet.addReorganizeEventListener(Threading.SAME_THREAD, walletListener);\n            wallet.addChangeEventListener(Threading.SAME_THREAD, walletListener);\n        }\n\n        private void removeWalletListener(final Wallet wallet) {\n            wallet.removeChangeEventListener(walletListener);\n            wallet.removeReorganizeEventListener(walletListener);\n            wallet.removeCoinsSentEventListener(walletListener);\n            wallet.removeCoinsReceivedEventListener(walletListener);\n        }\n\n        @Override\n        protected void load() {\n            final Wallet wallet = getWallet();\n            AsyncTask.execute(() -> {\n                org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                postValue(wallet.getTransactions(true));\n            });\n        }\n\n        private final WalletListener walletListener = new WalletListener();\n\n        private class WalletListener implements WalletCoinsReceivedEventListener, WalletCoinsSentEventListener,\n                WalletReorganizeEventListener, WalletChangeEventListener {\n            @Override\n            public void onCoinsReceived(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                    final Coin newBalance) {\n                triggerLoad();\n            }\n\n            @Override\n            public void onCoinsSent(final Wallet wallet, final Transaction tx, final Coin prevBalance,\n                    final Coin newBalance) {\n                triggerLoad();\n            }\n\n            @Override\n            public void onReorganize(final Wallet wallet) {\n                triggerLoad();\n            }\n\n            @Override\n            public void onWalletChanged(final Wallet wallet) {\n                triggerLoad();\n            }\n        }\n    }\n\n    private static class TransactionsConfidenceLiveData extends AbstractWalletLiveData<Void>\n            implements TransactionConfidenceEventListener {\n        public TransactionsConfidenceLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            wallet.addTransactionConfidenceEventListener(Threading.SAME_THREAD, this);\n        }\n\n        @Override\n        protected void onWalletInactive(final Wallet wallet) {\n            wallet.removeTransactionConfidenceEventListener(this);\n        }\n\n        @Override\n        public void onTransactionConfidenceChanged(final Wallet wallet, final Transaction tx) {\n            triggerLoad();\n        }\n\n        @Override\n        protected void load() {\n            postValue(null);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/BackupWalletActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BackupWalletActivity extends AbstractWalletActivity {\n\n    public static void start(final Context context) {\n        context.startActivity(new Intent(context, BackupWalletActivity.class));\n    }\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"Referrer: {}\", getReferrer());\n        BackupWalletDialogFragment.show(getSupportFragmentManager());\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/BackupWalletDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.Dialog;\nimport android.content.ActivityNotFoundException;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.Intent;\nimport android.graphics.Typeface;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.text.Editable;\nimport android.text.Html;\nimport android.text.TextWatcher;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.CheckBox;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.Observer;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.io.CharStreams;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.AbstractWalletActivityViewModel;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.ui.ShowPasswordCheckListener;\nimport de.schildbach.wallet.util.Crypto;\nimport de.schildbach.wallet.util.Iso8601Format;\nimport de.schildbach.wallet.util.Toast;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.wallet.Protos;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.WalletProtobufSerializer;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.OutputStreamWriter;\nimport java.io.Reader;\nimport java.io.Writer;\nimport java.nio.charset.StandardCharsets;\nimport java.text.DateFormat;\nimport java.util.Arrays;\nimport java.util.Date;\nimport java.util.TimeZone;\n\nimport static androidx.core.util.Preconditions.checkNotNull;\nimport static androidx.core.util.Preconditions.checkState;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BackupWalletDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = BackupWalletDialogFragment.class.getName();\n\n    public static void show(final FragmentManager fm) {\n        final DialogFragment newFragment = new BackupWalletDialogFragment();\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n\n    private EditText passwordView, passwordAgainView;\n    private TextView passwordStrengthView;\n    private View passwordMismatchView;\n    private CheckBox showView;\n    private TextView warningView;\n    private Button positiveButton, negativeButton;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private BackupWalletViewModel viewModel;\n\n    private static final int REQUEST_CODE_CREATE_DOCUMENT = 0;\n\n    private static final Logger log = LoggerFactory.getLogger(BackupWalletDialogFragment.class);\n\n    private final TextWatcher textWatcher = new TextWatcher() {\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n            viewModel.password.postValue(s.toString().trim());\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n        }\n    };\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n\n        walletActivityViewModel = new ViewModelProvider(activity).get(AbstractWalletActivityViewModel.class);\n        viewModel = new ViewModelProvider(this).get(BackupWalletViewModel.class);\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final View view = LayoutInflater.from(activity).inflate(R.layout.backup_wallet_dialog, null);\n\n        passwordView = view.findViewById(R.id.backup_wallet_dialog_password);\n        passwordView.setText(null);\n\n        passwordAgainView = view.findViewById(R.id.backup_wallet_dialog_password_again);\n        passwordAgainView.setText(null);\n\n        passwordStrengthView = view.findViewById(R.id.backup_wallet_dialog_password_strength);\n\n        passwordMismatchView = view.findViewById(R.id.backup_wallet_dialog_password_mismatch);\n\n        showView = view.findViewById(R.id.backup_wallet_dialog_show);\n\n        warningView = view.findViewById(R.id.backup_wallet_dialog_warning_encrypted);\n\n        final DialogBuilder builder = DialogBuilder.custom(activity, R.string.export_keys_dialog_title, view);\n        // dummies, just to make buttons show\n        builder.setPositiveButton(R.string.export_keys_dialog_button_export, null);\n        builder.setNegativeButton(R.string.button_cancel, null);\n\n        final AlertDialog dialog = builder.create();\n        dialog.setCanceledOnTouchOutside(false);\n        dialog.setOnShowListener(d -> {\n            positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);\n            positiveButton.setEnabled(false);\n            positiveButton.setTypeface(Typeface.DEFAULT_BOLD);\n            positiveButton.setOnClickListener(v -> handleGo());\n\n            negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);\n            negativeButton.setOnClickListener(v -> {\n                dismissAllowingStateLoss();\n                activity.finish();\n            });\n\n            passwordView.addTextChangedListener(textWatcher);\n            passwordAgainView.addTextChangedListener(textWatcher);\n\n            showView.setOnCheckedChangeListener(new ShowPasswordCheckListener(passwordView, passwordAgainView));\n\n            walletActivityViewModel.wallet.observe(BackupWalletDialogFragment.this,\n                    wallet -> warningView.setVisibility(wallet.isEncrypted() ? View.VISIBLE : View.GONE));\n            viewModel.password.observe(BackupWalletDialogFragment.this, password -> {\n                passwordMismatchView.setVisibility(View.INVISIBLE);\n\n                final int passwordLength = password.length();\n                passwordStrengthView.setVisibility(passwordLength > 0 ? View.VISIBLE : View.INVISIBLE);\n                if (passwordLength < 6) {\n                    passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_weak);\n                    passwordStrengthView\n                            .setTextColor(activity.getColor(R.color.fg_password_strength_weak));\n                } else if (passwordLength < 8) {\n                    passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_fair);\n                    passwordStrengthView\n                            .setTextColor(activity.getColor(R.color.fg_password_strength_fair));\n                } else if (passwordLength < 10) {\n                    passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_good);\n                    passwordStrengthView\n                            .setTextColor(activity.getColor(R.color.fg_password_strength_good));\n                } else {\n                    passwordStrengthView.setText(R.string.encrypt_keys_dialog_password_strength_strong);\n                    passwordStrengthView.setTextColor(\n                            activity.getColor(R.color.fg_password_strength_strong));\n                }\n\n                if (positiveButton != null) {\n                    final Wallet wallet = walletActivityViewModel.wallet.getValue();\n                    final boolean hasPassword = !password.isEmpty();\n                    final boolean hasPasswordAgain = !passwordAgainView.getText().toString().trim().isEmpty();\n                    positiveButton.setEnabled(wallet != null && hasPassword && hasPasswordAgain);\n                }\n            });\n        });\n\n        return dialog;\n    }\n\n    @Override\n    public void onDismiss(final DialogInterface dialog) {\n        passwordView.removeTextChangedListener(textWatcher);\n        passwordAgainView.removeTextChangedListener(textWatcher);\n\n        showView.setOnCheckedChangeListener(null);\n\n        wipePasswords();\n\n        super.onDismiss(dialog);\n    }\n\n    @Override\n    public void onCancel(final DialogInterface dialog) {\n        activity.finish();\n        super.onCancel(dialog);\n    }\n\n    private void handleGo() {\n        final String password = passwordView.getText().toString().trim();\n        final String passwordAgain = passwordAgainView.getText().toString().trim();\n\n        if (passwordAgain.equals(password)) {\n            backupWallet();\n        } else {\n            passwordMismatchView.setVisibility(View.VISIBLE);\n        }\n    }\n\n    private void wipePasswords() {\n        passwordView.setText(null);\n        passwordAgainView.setText(null);\n    }\n\n    private void backupWallet() {\n        passwordView.setEnabled(false);\n        passwordAgainView.setEnabled(false);\n\n        final DateFormat dateFormat = new Iso8601Format(\"yyyy-MM-dd-HH-mm\");\n        dateFormat.setTimeZone(TimeZone.getDefault());\n\n        final StringBuilder filename = new StringBuilder(Constants.Files.EXTERNAL_WALLET_BACKUP);\n        filename.append('-');\n        filename.append(dateFormat.format(new Date()));\n\n        final Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);\n        intent.addCategory(Intent.CATEGORY_OPENABLE);\n        intent.setType(Constants.MIMETYPE_WALLET_BACKUP);\n        intent.putExtra(Intent.EXTRA_TITLE, filename.toString());\n        try {\n            startActivityForResult(intent, REQUEST_CODE_CREATE_DOCUMENT);\n        } catch (final ActivityNotFoundException x) {\n            log.warn(\"Cannot open document selector: {}\", intent);\n            new Toast(activity).longToast(R.string.toast_start_storage_provider_selector_failed);\n        }\n    }\n\n    @Override\n    public void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {\n        if (requestCode == REQUEST_CODE_CREATE_DOCUMENT) {\n            if (resultCode == Activity.RESULT_OK) {\n                walletActivityViewModel.wallet.observe(this, new Observer<Wallet>() {\n                    @Override\n                    public void onChanged(final Wallet wallet) {\n                        walletActivityViewModel.wallet.removeObserver(this);\n\n                        final Uri targetUri = checkNotNull(intent.getData());\n                        final String targetProvider = WalletUtils.uriToProvider(targetUri);\n                        final String password = passwordView.getText().toString().trim();\n                        checkState(!password.isEmpty());\n                        wipePasswords();\n                        dismiss();\n\n                        byte[] plainBytes = null;\n                        try (final Writer cipherOut = new OutputStreamWriter(\n                                activity.getContentResolver().openOutputStream(targetUri), StandardCharsets.UTF_8)) {\n                            final Protos.Wallet walletProto = new WalletProtobufSerializer().walletToProto(wallet);\n                            final ByteArrayOutputStream baos = new ByteArrayOutputStream();\n                            walletProto.writeTo(baos);\n                            baos.close();\n                            plainBytes = baos.toByteArray();\n\n                            final String cipherText = Crypto.encrypt(plainBytes, password.toCharArray());\n                            cipherOut.write(cipherText);\n                            cipherOut.flush();\n\n                            log.info(\"backed up wallet to: '{}'{}, {} characters written\", targetUri,\n                                    targetProvider != null ? \" (\" + targetProvider + \")\" : \"\", cipherText.length());\n                        } catch (final IOException x) {\n                            log.error(\"problem backing up wallet to \" + targetUri, x);\n                            ErrorDialogFragment.showDialog(getParentFragmentManager(), x.toString());\n                            return;\n                        }\n\n                        try (final Reader cipherIn = new InputStreamReader(\n                                activity.getContentResolver().openInputStream(targetUri), StandardCharsets.UTF_8)) {\n                            final StringBuilder cipherText = new StringBuilder();\n                            CharStreams.copy(cipherIn, cipherText);\n                            cipherIn.close();\n\n                            final byte[] plainBytes2 = Crypto.decryptBytes(cipherText.toString(),\n                                    password.toCharArray());\n                            if (!Arrays.equals(plainBytes, plainBytes2))\n                                throw new IOException(\"verification failed\");\n\n                            log.info(\"verified successfully: '\" + targetUri + \"'\");\n                            application.getConfiguration().disarmBackupReminder();\n                            SuccessDialogFragment.showDialog(getParentFragmentManager(),\n                                    targetProvider != null ? targetProvider : targetUri.toString());\n                        } catch (final IOException x) {\n                            log.error(\"problem verifying backup from \" + targetUri, x);\n                            ErrorDialogFragment.showDialog(getParentFragmentManager(), x.toString());\n                            return;\n                        }\n                    }\n                });\n            } else if (resultCode == Activity.RESULT_CANCELED) {\n                log.info(\"cancelled backing up wallet\");\n                passwordView.setEnabled(true);\n                passwordAgainView.setEnabled(true);\n                activity.finish();\n            }\n        } else {\n            super.onActivityResult(requestCode, resultCode, intent);\n        }\n    }\n\n    public static class SuccessDialogFragment extends DialogFragment {\n        private static final String FRAGMENT_TAG = SuccessDialogFragment.class.getName();\n        private static final String KEY_TARGET = \"target\";\n\n        private Activity activity;\n\n        public static void showDialog(final FragmentManager fm, final String target) {\n            final DialogFragment newFragment = new SuccessDialogFragment();\n            final Bundle args = new Bundle();\n            args.putString(KEY_TARGET, target);\n            newFragment.setArguments(args);\n            newFragment.show(fm, FRAGMENT_TAG);\n        }\n\n        @Override\n        public void onAttach(final Context context) {\n            super.onAttach(context);\n            this.activity = (Activity) context;\n        }\n\n        @Override\n        public Dialog onCreateDialog(final Bundle savedInstanceState) {\n            final String target = getArguments().getString(KEY_TARGET);\n            final DialogBuilder dialog = DialogBuilder.dialog(activity, R.string.export_keys_dialog_title,\n                    Html.fromHtml(getString(R.string.export_keys_dialog_success, target)));\n            dialog.singleDismissButton((d, id) -> activity.finish());\n            return dialog.create();\n        }\n    }\n\n    public static class ErrorDialogFragment extends DialogFragment {\n        private static final String FRAGMENT_TAG = ErrorDialogFragment.class.getName();\n        private static final String KEY_EXCEPTION_MESSAGE = \"exception_message\";\n\n        private Activity activity;\n\n        public static void showDialog(final FragmentManager fm, final String exceptionMessage) {\n            final DialogFragment newFragment = new ErrorDialogFragment();\n            final Bundle args = new Bundle();\n            args.putString(KEY_EXCEPTION_MESSAGE, exceptionMessage);\n            newFragment.setArguments(args);\n            newFragment.show(fm, FRAGMENT_TAG);\n        }\n\n        @Override\n        public void onAttach(final Context context) {\n            super.onAttach(context);\n            this.activity = (Activity) context;\n        }\n\n        @Override\n        public Dialog onCreateDialog(final Bundle savedInstanceState) {\n            final String exceptionMessage = getArguments().getString(KEY_EXCEPTION_MESSAGE);\n            final DialogBuilder dialog = DialogBuilder.warn(activity,\n                    R.string.import_export_keys_dialog_failure_title, R.string.export_keys_dialog_failure,\n                    exceptionMessage);\n            dialog.singleDismissButton((d, id) -> activity.finish());\n            return dialog.create();\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/BackupWalletViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BackupWalletViewModel extends ViewModel {\n    public final MutableLiveData<String> password = new MutableLiveData<>();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/FileAdapter.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ArrayAdapter;\nimport android.widget.TextView;\nimport de.schildbach.wallet.R;\n\nimport java.io.File;\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class FileAdapter extends ArrayAdapter<File> {\n    protected final Context context;\n    protected final LayoutInflater inflater;\n\n    public FileAdapter(final Context context) {\n        super(context, 0);\n\n        this.context = context;\n        inflater = LayoutInflater.from(context);\n    }\n\n    public void setFiles(final List<File> files) {\n        clear();\n        for (final File file : files)\n            add(file);\n    }\n\n    @Override\n    public View getView(final int position, View row, final ViewGroup parent) {\n        final File file = getItem(position);\n\n        if (row == null)\n            row = inflater.inflate(R.layout.spinner_item, null);\n\n        final TextView textView = row.findViewById(android.R.id.text1);\n        textView.setText(file.getName());\n\n        return row;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/ImportDialogButtonEnablerListener.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport android.app.AlertDialog;\nimport android.content.DialogInterface;\nimport android.text.Editable;\nimport android.text.TextWatcher;\nimport android.view.View;\nimport android.widget.AdapterView;\nimport android.widget.AdapterView.OnItemSelectedListener;\nimport android.widget.Button;\nimport android.widget.TextView;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ImportDialogButtonEnablerListener implements TextWatcher, OnItemSelectedListener {\n    private final TextView passwordView;\n    private final AlertDialog dialog;\n\n    public ImportDialogButtonEnablerListener(final TextView passwordView, final AlertDialog dialog) {\n        this.passwordView = passwordView;\n        this.dialog = dialog;\n\n        handle();\n    }\n\n    @Override\n    public void onItemSelected(final AdapterView<?> parent, final View view, final int position, final long id) {\n        handle();\n    }\n\n    @Override\n    public void onNothingSelected(final AdapterView<?> parent) {\n        handle();\n    }\n\n    @Override\n    public void afterTextChanged(final Editable s) {\n        handle();\n    }\n\n    @Override\n    public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n    }\n\n    @Override\n    public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n    }\n\n    public void handle() {\n        final boolean needsPassword = needsPassword();\n        final boolean hasPassword = !passwordView.getText().toString().trim().isEmpty();\n        final boolean hasFile = hasFile();\n\n        final Button button = dialog.getButton(DialogInterface.BUTTON_POSITIVE);\n        button.setEnabled(hasFile && (!needsPassword || hasPassword));\n    }\n\n    protected boolean hasFile() {\n        return true;\n    }\n\n    protected boolean needsPassword() {\n        return true;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/RestoreWalletDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.Dialog;\nimport android.content.ActivityNotFoundException;\nimport android.content.ContentResolver;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.provider.OpenableColumns;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.CheckBox;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.io.CharStreams;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.service.BlockchainService;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.ui.Event;\nimport de.schildbach.wallet.ui.ShowPasswordCheckListener;\nimport de.schildbach.wallet.util.Crypto;\nimport de.schildbach.wallet.util.Toast;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.BufferedReader;\nimport java.io.ByteArrayInputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.nio.charset.StandardCharsets;\n\nimport static com.google.common.base.Preconditions.checkNotNull;\n\n/**\n * @author Andreas Schildbach\n */\npublic class RestoreWalletDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = RestoreWalletDialogFragment.class.getName();\n    private static final String KEY_BACKUP_URI = \"backup_uri\";\n    private static final int REQUEST_CODE_OPEN_DOCUMENT = 0;\n\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private ContentResolver contentResolver;\n    private Configuration config;\n    private FragmentManager fragmentManager;\n\n    private TextView messageView;\n    private EditText passwordView;\n    private CheckBox showView;\n    private View replaceWarningView;\n\n    private RestoreWalletViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(RestoreWalletDialogFragment.class);\n\n    public static void showPick(final FragmentManager fm) {\n        final DialogFragment newFragment = new RestoreWalletDialogFragment();\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    public static void show(final FragmentManager fm, final Uri backupUri) {\n        final DialogFragment newFragment = new RestoreWalletDialogFragment();\n        final Bundle args = new Bundle();\n        args.putParcelable(KEY_BACKUP_URI, backupUri);\n        newFragment.setArguments(args);\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.contentResolver = application.getContentResolver();\n        this.config = application.getConfiguration();\n        this.fragmentManager = getParentFragmentManager();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n\n        viewModel = new ViewModelProvider(this).get(RestoreWalletViewModel.class);\n        viewModel.showSuccessDialog.observe(this, new Event.Observer<Boolean>() {\n            @Override\n            protected void onEvent(final Boolean showEncryptedMessage) {\n                SuccessDialogFragment.showDialog(fragmentManager, showEncryptedMessage);\n            }\n        });\n        viewModel.showFailureDialog.observe(this, new Event.Observer<String>() {\n            @Override\n            protected void onEvent(final String message) {\n                FailureDialogFragment.showDialog(fragmentManager, message, viewModel.backupUri.getValue());\n            }\n        });\n        viewModel.backupUri.observe(this, uri -> {\n            final String backupProvider = WalletUtils.uriToProvider(uri);\n            log.info(\"picked '{}'{}\", uri, backupProvider != null ? \" (\" + backupProvider + \")\" : \"\");\n            final Cursor cursor = contentResolver.query(uri, null, null, null, null, null);\n            if (cursor != null) {\n                try {\n                    if (cursor.moveToFirst())\n                        viewModel.displayName.setValue(cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)));\n                } finally {\n                    cursor.close();\n                }\n            }\n        });\n        viewModel.displayName.observe(this, name -> messageView.setText(name));\n\n        final Bundle args = getArguments();\n        if (args != null) {\n            viewModel.backupUri.setValue((Uri) args.getParcelable(KEY_BACKUP_URI));\n        } else {\n            final Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);\n            intent.addCategory(Intent.CATEGORY_OPENABLE);\n            intent.setType(\"*/*\");\n            try {\n                startActivityForResult(intent, REQUEST_CODE_OPEN_DOCUMENT);\n            } catch (final ActivityNotFoundException x) {\n                log.warn(\"Cannot open document selector: {}\", intent);\n                new Toast(activity).longToast(R.string.toast_start_storage_provider_selector_failed);\n            }\n        }\n    }\n\n    @Override\n    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {\n        if (requestCode == REQUEST_CODE_OPEN_DOCUMENT) {\n            if (resultCode == Activity.RESULT_OK) {\n                if (data != null) {\n                    viewModel.backupUri.setValue(data.getData());\n                } else {\n                    log.info(\"didn't get uri\");\n                    dismiss();\n                    maybeFinishActivity();\n                }\n            } else if (resultCode == Activity.RESULT_CANCELED) {\n                log.info(\"cancelled restoring wallet\");\n                dismiss();\n                maybeFinishActivity();\n            }\n        } else {\n            super.onActivityResult(requestCode, resultCode, data);\n        }\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final View view = LayoutInflater.from(activity).inflate(R.layout.restore_wallet_dialog, null);\n        messageView = view.findViewById(R.id.restore_wallet_dialog_message);\n        passwordView = view.findViewById(R.id.restore_wallet_dialog_password);\n        showView = view.findViewById(R.id.restore_wallet_dialog_show);\n        replaceWarningView = view.findViewById(R.id.restore_wallet_dialog_replace_warning);\n\n        final DialogBuilder builder = DialogBuilder.custom(activity, R.string.import_keys_dialog_title, view);\n        builder.setPositiveButton(R.string.import_keys_dialog_button_import, (dialog, which) -> {\n            final String password = passwordView.getText().toString().trim();\n            passwordView.setText(null); // get rid of it asap\n            handleRestore(password);\n        });\n        builder.setNegativeButton(R.string.button_cancel, (dialog, which) -> {\n            passwordView.setText(null); // get rid of it asap\n            maybeFinishActivity();\n        });\n        builder.setOnCancelListener(dialog -> {\n            passwordView.setText(null); // get rid of it asap\n            maybeFinishActivity();\n        });\n\n        final AlertDialog dialog = builder.create();\n\n        dialog.setOnShowListener(d -> {\n            final ImportDialogButtonEnablerListener dialogButtonEnabler = new ImportDialogButtonEnablerListener(\n                    passwordView, dialog) {\n                @Override\n                protected boolean hasFile() {\n                    return true;\n                }\n            };\n            passwordView.addTextChangedListener(dialogButtonEnabler);\n            showView.setOnCheckedChangeListener(new ShowPasswordCheckListener(passwordView));\n\n            viewModel.balance.observe(RestoreWalletDialogFragment.this, balance -> {\n                final boolean hasCoins = balance.signum() > 0;\n                replaceWarningView.setVisibility(hasCoins ? View.VISIBLE : View.GONE);\n            });\n        });\n\n        return dialog;\n    }\n\n    private void handleRestore(final String password) {\n        final Uri backupUri = viewModel.backupUri.getValue();\n        if (backupUri != null) {\n            try {\n                final InputStream is = contentResolver.openInputStream(backupUri);\n                final Wallet restoredWallet = restoreWalletFromEncrypted(is, password);\n                application.replaceWallet(restoredWallet);\n                config.disarmBackupReminder();\n                config.updateLastRestoreTime();\n                viewModel.showSuccessDialog.setValue(new Event<>(restoredWallet.isEncrypted()));\n                log.info(\"successfully restored encrypted wallet from external source\");\n            } catch (final IOException x) {\n                viewModel.showFailureDialog.setValue(new Event<>(x.getMessage()));\n                log.info(\"problem restoring wallet\", x);\n            }\n        } else {\n            final String message = \"no backup data provided\";\n            viewModel.showFailureDialog.setValue(new Event<>(message));\n            log.info(\"problem restoring wallet: {}\", message);\n        }\n    }\n\n    private Wallet restoreWalletFromEncrypted(final InputStream cipher, final String password) throws IOException {\n        final BufferedReader cipherIn = new BufferedReader(new InputStreamReader(cipher, StandardCharsets.UTF_8));\n        final StringBuilder cipherText = new StringBuilder();\n        CharStreams.copy(cipherIn, cipherText);\n        cipherIn.close();\n\n        final byte[] plainText = Crypto.decryptBytes(cipherText.toString(), password.toCharArray());\n        final InputStream is = new ByteArrayInputStream(plainText);\n\n        return WalletUtils.restoreWalletFromProtobuf(is, Constants.NETWORK_PARAMETERS);\n    }\n\n    public static class SuccessDialogFragment extends DialogFragment {\n        private static final String FRAGMENT_TAG = SuccessDialogFragment.class.getName();\n        private static final String KEY_SHOW_ENCRYPTED_MESSAGE = \"show_encrypted_message\";\n\n        private Activity activity;\n\n        public static void showDialog(final FragmentManager fm, final boolean showEncryptedMessage) {\n            final DialogFragment newFragment = new SuccessDialogFragment();\n            final Bundle args = new Bundle();\n            args.putBoolean(KEY_SHOW_ENCRYPTED_MESSAGE, showEncryptedMessage);\n            newFragment.setArguments(args);\n            newFragment.show(fm, FRAGMENT_TAG);\n        }\n\n        @Override\n        public void onAttach(final Context context) {\n            super.onAttach(context);\n            this.activity = (Activity) context;\n        }\n\n        @Override\n        public Dialog onCreateDialog(final Bundle savedInstanceState) {\n            final boolean showEncryptedMessage = getArguments().getBoolean(KEY_SHOW_ENCRYPTED_MESSAGE);\n            final StringBuilder message = new StringBuilder();\n            message.append(getString(R.string.restore_wallet_dialog_success));\n            message.append(\"\\n\\n\");\n            message.append(getString(R.string.restore_wallet_dialog_success_replay));\n            if (showEncryptedMessage) {\n                message.append(\"\\n\\n\");\n                message.append(getString(R.string.restore_wallet_dialog_success_encrypted));\n            }\n            final DialogBuilder dialog = DialogBuilder.dialog(activity, 0, message);\n            dialog.setNeutralButton(R.string.button_ok, (dialog1, id) -> {\n                BlockchainService.resetBlockchain(activity);\n                activity.finish();\n            });\n            return dialog.create();\n        }\n    }\n\n    public static class FailureDialogFragment extends DialogFragment {\n        private static final String FRAGMENT_TAG = FailureDialogFragment.class.getName();\n        private static final String KEY_EXCEPTION_MESSAGE = \"exception_message\";\n        private static final String KEY_BACKUP_URI = \"backup_uri\";\n\n        private Activity activity;\n\n        public static void showDialog(final FragmentManager fm, final String exceptionMessage, final Uri backupUri) {\n            final DialogFragment newFragment = new FailureDialogFragment();\n            final Bundle args = new Bundle();\n            args.putString(KEY_EXCEPTION_MESSAGE, exceptionMessage);\n            args.putParcelable(KEY_BACKUP_URI, checkNotNull(backupUri));\n            newFragment.setArguments(args);\n            newFragment.show(fm, FRAGMENT_TAG);\n        }\n\n        @Override\n        public void onAttach(final Context context) {\n            super.onAttach(context);\n            this.activity = (Activity) context;\n        }\n\n        @Override\n        public Dialog onCreateDialog(final Bundle savedInstanceState) {\n            final String exceptionMessage = getArguments().getString(KEY_EXCEPTION_MESSAGE);\n            final Uri backupUri = checkNotNull((Uri) getArguments().getParcelable(KEY_BACKUP_URI));\n            final DialogBuilder dialog = DialogBuilder.warn(activity,\n                    R.string.import_export_keys_dialog_failure_title, R.string.import_keys_dialog_failure,\n                    exceptionMessage);\n            dialog.setPositiveButton(R.string.button_dismiss, (dialog13, which) -> {\n                if (activity instanceof RestoreWalletFromExternalActivity)\n                    activity.finish();\n            });\n            dialog.setOnCancelListener(dialog12 -> {\n                if (activity instanceof RestoreWalletFromExternalActivity)\n                    activity.finish();\n            });\n            dialog.setNegativeButton(R.string.button_retry, (dialog1, id) -> RestoreWalletDialogFragment.show(getParentFragmentManager(), backupUri));\n            return dialog.create();\n        }\n    }\n\n    private void maybeFinishActivity() {\n        if (activity instanceof RestoreWalletFromExternalActivity)\n            activity.finish();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/RestoreWalletFromExternalActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport android.os.Bundle;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class RestoreWalletFromExternalActivity extends AbstractWalletActivity {\n\n    private static final Logger log = LoggerFactory.getLogger(RestoreWalletFromExternalActivity.class);\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"Referrer: {}\", getReferrer());\n        RestoreWalletDialogFragment.show(getSupportFragmentManager(), getIntent().getData());\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/backup/RestoreWalletViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.backup;\n\nimport android.app.Application;\nimport android.net.Uri;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.WalletBalanceLiveData;\nimport de.schildbach.wallet.ui.Event;\n\n/**\n * @author Andreas Schildbach\n */\npublic class RestoreWalletViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    public final WalletBalanceLiveData balance;\n    public final MutableLiveData<Uri> backupUri = new MutableLiveData<>();\n    public final MutableLiveData<String> displayName = new MutableLiveData<>();\n    public final MutableLiveData<Event<Boolean>> showSuccessDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<String>> showFailureDialog = new MutableLiveData<>();\n\n    public RestoreWalletViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.balance = new WalletBalanceLiveData(this.application);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/BlockListAdapter.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport android.content.Context;\nimport android.graphics.Typeface;\nimport android.text.format.DateUtils;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport android.widget.Toolbar;\nimport androidx.annotation.Dimension;\nimport androidx.annotation.MainThread;\nimport androidx.annotation.Nullable;\nimport androidx.cardview.widget.CardView;\nimport androidx.recyclerview.widget.DiffUtil;\nimport androidx.recyclerview.widget.ListAdapter;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.google.common.hash.HashFunction;\nimport com.google.common.hash.Hashing;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.ui.CurrencyTextView;\nimport de.schildbach.wallet.ui.SeparatorViewHolder;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.StoredBlock;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.Transaction.Purpose;\nimport org.bitcoinj.params.AbstractBitcoinNetParams;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.wallet.Wallet;\n\nimport java.nio.ByteBuffer;\nimport java.nio.charset.StandardCharsets;\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.EnumSet;\nimport java.util.LinkedList;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Objects;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BlockListAdapter extends ListAdapter<BlockListAdapter.ListItem, RecyclerView.ViewHolder> {\n    public static List<ListItem> buildListItems(final Context context, final List<StoredBlock> blocks, final Date currentTime,\n            final MonetaryFormat format, final @Nullable Set<Transaction> transactions, final @Nullable Wallet wallet,\n            final @Nullable Map<String, AddressBookEntry> addressBook) {\n        final List<ListItem> items = new ArrayList<>(blocks.size());\n        for (final StoredBlock block : blocks) {\n            final Sha256Hash blockHash = block.getHeader().getHash();\n            final int height = block.getHeight();\n            final long timeMs = block.getHeader().getTimeSeconds() * DateUtils.SECOND_IN_MILLIS;\n            final String time;\n            if (timeMs < currentTime.getTime() - DateUtils.MINUTE_IN_MILLIS)\n                time = DateUtils.getRelativeDateTimeString(context, timeMs, DateUtils.MINUTE_IN_MILLIS,\n                        DateUtils.WEEK_IN_MILLIS, 0).toString();\n            else\n                time = context.getString(R.string.block_row_now);\n            final List<ListItem.TxItem> transactionItems = buildTransactionItems(context, blockHash, transactions,\n                    wallet, addressBook);\n            /*if (((AbstractBitcoinNetParams) Constants.NETWORK_PARAMETERS).isRewardHalvingPoint(height))\n                items.add(new ListItem.SeparatorItem(context.getString(R.string.block_row_mining_reward_adjustment)));\n            if (((AbstractBitcoinNetParams) Constants.NETWORK_PARAMETERS).isDifficultyTransitionPoint(height))\n                items.add(new ListItem.SeparatorItem(context.getString(R.string.block_row_mining_difficulty_adjustment)));\n             */\n            items.add(new ListItem.BlockItem(blockHash, height, time, format, transactionItems));\n        }\n        return items;\n    }\n\n    private static List<ListItem.TxItem> buildTransactionItems(final Context context, final Sha256Hash blockHash,\n                                                               final @Nullable Set<Transaction> transactions,\n                                                               final @Nullable Wallet wallet,\n                                                               final @Nullable Map<String, AddressBookEntry> addressBook) {\n        final List<ListItem.TxItem> transactionItems = new LinkedList<>();\n        if (transactions != null && wallet != null) {\n            for (final Transaction tx : transactions) {\n                final Map<Sha256Hash, Integer> appearsInHashes = tx.getAppearsInHashes();\n                if (appearsInHashes != null && appearsInHashes.containsKey(blockHash)) {\n                    final boolean isCoinBase = tx.isCoinBase();\n                    final boolean isInternal = tx.getPurpose() == Purpose.KEY_ROTATION;\n\n                    final Coin value = tx.getValue(wallet);\n                    final boolean sent = value.signum() < 0;\n                    final boolean self = WalletUtils.isEntirelySelf(tx, wallet);\n                    final Address address;\n                    if (sent)\n                        address = WalletUtils.getToAddressOfSent(tx, wallet);\n                    else\n                        address = WalletUtils.getWalletAddressOfReceived(tx, wallet);\n\n                    final CharSequence fromTo;\n                    if (isInternal || self)\n                        fromTo = context.getString(R.string.symbol_internal);\n                    else if (sent)\n                        fromTo = context.getString(R.string.symbol_to);\n                    else\n                        fromTo = context.getString(R.string.symbol_from);\n\n                    final CharSequence label;\n                    if (isCoinBase) {\n                        label = context.getString(R.string.wallet_transactions_fragment_coinbase);\n                    } else if (isInternal || self) {\n                        label = context.getString(R.string.wallet_transactions_fragment_internal);\n                    } else if (address != null && addressBook != null) {\n                        final AddressBookEntry entry = addressBook.get(address.toString());\n                        if (entry != null)\n                            label = entry.getLabel();\n                        else\n                            label = \"?\";\n                    } else {\n                        label = \"?\";\n                    }\n\n                    final CharSequence addressText = label != null ? label : address.toString();\n                    final Typeface addressTypeface = label != null ? Typeface.DEFAULT : Typeface.MONOSPACE;\n\n                    transactionItems.add(new ListItem.TxItem(fromTo, addressText, addressTypeface, label, value));\n                }\n            }\n        }\n        return transactionItems;\n    }\n\n    public static abstract class ListItem {\n        // internal item id\n        public final long id;\n\n        private ListItem(final long id) {\n            this.id = id;\n        }\n\n        public static class BlockItem extends ListItem {\n            public final Sha256Hash blockHash;\n            public final int height;\n            public final String time;\n            public final List<TxItem> transactions;\n            public final MonetaryFormat format;\n\n            public BlockItem(final Sha256Hash blockHash, final int height, final String time,\n                             final MonetaryFormat format, final @Nullable List<TxItem> transactions) {\n                super(id(blockHash));\n                this.blockHash = blockHash;\n                this.height = height;\n                this.time = time;\n                this.transactions = transactions;\n                this.format = format;\n            }\n\n            private static long id(final Sha256Hash blockHash) {\n                final byte[] bytes = blockHash.getBytes();\n                return ByteBuffer.wrap(bytes).getLong(bytes.length - Long.BYTES);\n            }\n        }\n\n        public static class TxItem {\n            public final CharSequence fromTo;\n            public final CharSequence addressText;\n            public final Typeface addressTypeface;\n            public final CharSequence label;\n            public final Coin value;\n\n            public TxItem(final CharSequence fromTo, final CharSequence addressText, final Typeface addressTypeface,\n                          final CharSequence label, final Coin value) {\n                this.fromTo = fromTo;\n                this.addressText = addressText;\n                this.addressTypeface = addressTypeface;\n                this.label = label;\n                this.value = value;\n            }\n        }\n\n        public static class SeparatorItem extends ListItem {\n            public final CharSequence label;\n\n            public SeparatorItem(final CharSequence label) {\n                super(id(label));\n                this.label = label;\n            }\n\n            private static long id(final CharSequence label) {\n                return ID_HASH.newHasher().putString(label, StandardCharsets.UTF_8).hash().asLong();\n            }\n        }\n\n        private static final HashFunction ID_HASH = Hashing.farmHashFingerprint64();\n    }\n\n    public interface OnClickListener {\n        void onBlockClick(View view, Sha256Hash blockHash);\n    }\n\n    public interface ContextMenuCallback {\n        void onInflateBlockContextMenu(MenuInflater inflater, Menu menu);\n\n        boolean onClickBlockContextMenuItem(MenuItem item, Sha256Hash blockHash);\n    }\n\n    private final LayoutInflater inflater;\n    private final MenuInflater menuInflater;\n    @Dimension\n    private final int cardElevationSelected;\n\n    @Nullable\n    private final OnClickListener onClickListener;\n    @Nullable\n    private final ContextMenuCallback contextMenuCallback;\n    @Nullable\n    private Sha256Hash selectedBlockHash;\n\n    private static final int VIEW_TYPE_BLOCK = 0;\n    private static final int VIEW_TYPE_SEPARATOR = 1;\n\n    private static final int ROW_BASE_CHILD_COUNT = 3;\n    private static final int ROW_INSERT_INDEX = 1;\n\n    private enum ChangeType {\n        TIME, TRANSACTIONS, SELECTION\n    }\n\n    public BlockListAdapter(final Context context, @Nullable final OnClickListener onClickListener,\n                            @Nullable final ContextMenuCallback contextMenuCallback) {\n        super(new DiffUtil.ItemCallback<ListItem>() {\n            @Override\n            public boolean areItemsTheSame(final ListItem oldItem, final ListItem newItem) {\n                return oldItem.id == newItem.id;\n            }\n\n            @Override\n            public boolean areContentsTheSame(final ListItem oldItem, final ListItem newItem) {\n                if (oldItem instanceof ListItem.BlockItem)\n                    return Objects.equals(((ListItem.BlockItem) oldItem).time, ((ListItem.BlockItem) newItem).time);\n                else if (oldItem instanceof ListItem.SeparatorItem)\n                    return Objects.equals(((ListItem.SeparatorItem) oldItem).label,\n                            ((ListItem.SeparatorItem) newItem).label);\n                else\n                    throw new IllegalArgumentException();\n            }\n\n            @Nullable\n            @Override\n            public Object getChangePayload(final ListItem oldItem, final ListItem newItem) {\n                final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n                if (oldItem instanceof ListItem.BlockItem) {\n                    final ListItem.BlockItem oldBlockItem = (ListItem.BlockItem) oldItem;\n                    final ListItem.BlockItem newBlockItem = (ListItem.BlockItem) newItem;\n                    if (!Objects.equals(oldBlockItem.time, newBlockItem.time))\n                        changes.add(ChangeType.TIME);\n                    if (!Objects.equals(oldBlockItem.transactions, newBlockItem.transactions))\n                        changes.add(ChangeType.TRANSACTIONS);\n                }\n                return changes;\n            }\n        });\n\n        this.inflater = LayoutInflater.from(context);\n        this.menuInflater = new MenuInflater(context);\n        this.contextMenuCallback = contextMenuCallback;\n        this.onClickListener = onClickListener;\n        this.cardElevationSelected = context.getResources().getDimensionPixelOffset(R.dimen.card_elevation_selected);\n\n        setHasStableIds(true);\n    }\n\n    @MainThread\n    public void setSelectedBlock(final Sha256Hash newSelectedBlockHash) {\n        if (Objects.equals(newSelectedBlockHash, selectedBlockHash))\n            return;\n        if (selectedBlockHash != null)\n            notifyItemChanged(positionOf(selectedBlockHash), EnumSet.of(ChangeType.SELECTION));\n        if (newSelectedBlockHash != null)\n            notifyItemChanged(positionOf(newSelectedBlockHash), EnumSet.of(ChangeType.SELECTION));\n        this.selectedBlockHash = newSelectedBlockHash;\n    }\n\n    @MainThread\n    public int positionOf(final Sha256Hash blockHash) {\n        if (blockHash != null) {\n            final List<ListItem> list = getCurrentList();\n            for (int i = 0; i < list.size(); i++) {\n                final ListItem item = list.get(i);\n                if (item instanceof ListItem.BlockItem && ((ListItem.BlockItem) item).blockHash.equals(blockHash))\n                    return i;\n            }\n        }\n        return RecyclerView.NO_POSITION;\n    }\n\n    @Override\n    public int getItemViewType(final int position) {\n        final ListItem listItem = getItem(position);\n        if (listItem instanceof ListItem.BlockItem)\n            return VIEW_TYPE_BLOCK;\n        else if (listItem instanceof ListItem.SeparatorItem)\n            return VIEW_TYPE_SEPARATOR;\n        else\n            throw new IllegalStateException();\n    }\n\n    @Override\n    public long getItemId(final int position) {\n        final ListItem listItem = getItem(position);\n        return listItem.id;\n    }\n\n    @Override\n    public RecyclerView.ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {\n        if (viewType == VIEW_TYPE_BLOCK)\n            return new BlockViewHolder(inflater.inflate(R.layout.block_row, parent, false));\n        else if (viewType == VIEW_TYPE_SEPARATOR)\n            return new SeparatorViewHolder(inflater.inflate(R.layout.row_separator, parent, false));\n        else\n            throw new IllegalStateException();\n    }\n\n    @Override\n    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {\n        throw new UnsupportedOperationException();\n    }\n\n    @Override\n    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position,\n                                 final List<Object> payloads) {\n        final boolean fullBind = payloads.isEmpty();\n        final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n        for (final Object payload : payloads)\n            changes.addAll((EnumSet<ChangeType>) payload);\n\n        final ListItem listItem = getItem(position);\n        if (holder instanceof BlockViewHolder) {\n            final BlockViewHolder blockHolder = (BlockViewHolder) holder;\n            final ListItem.BlockItem blockItem = (ListItem.BlockItem) listItem;\n            if (fullBind || changes.contains(ChangeType.SELECTION)) {\n                final boolean isSelected = blockItem.blockHash.equals(selectedBlockHash);\n                holder.itemView.setSelected(isSelected);\n                ((CardView) holder.itemView).setCardElevation(isSelected ? cardElevationSelected : 0);\n                blockHolder.contextBar.setVisibility(View.GONE);\n                if (contextMenuCallback != null && isSelected) {\n                    final Menu menu = blockHolder.contextBar.getMenu();\n                    menu.clear();\n                    contextMenuCallback.onInflateBlockContextMenu(menuInflater, menu);\n                    if (menu.hasVisibleItems()) {\n                        blockHolder.contextBar.setVisibility(View.VISIBLE);\n                        blockHolder.contextBar.setOnMenuItemClickListener(item ->\n                                contextMenuCallback.onClickBlockContextMenuItem(item, blockItem.blockHash));\n                    }\n                }\n            }\n            if (fullBind || changes.contains(ChangeType.TIME)) {\n                blockHolder.timeView.setText(blockItem.time);\n            }\n            if (fullBind || changes.contains(ChangeType.TRANSACTIONS)) {\n                final int transactionChildCount =\n                        blockHolder.transactionsViewGroup.getChildCount() - ROW_BASE_CHILD_COUNT;\n                int iTransactionView = 0;\n                for (final ListItem.TxItem tx : blockItem.transactions) {\n                    final View view;\n                    if (iTransactionView < transactionChildCount) {\n                        view = blockHolder.transactionsViewGroup.getChildAt(ROW_INSERT_INDEX + iTransactionView);\n                    } else {\n                        view = inflater.inflate(R.layout.block_row_transaction, blockHolder.transactionsViewGroup,\n                                false);\n                        blockHolder.transactionsViewGroup.addView(view, ROW_INSERT_INDEX + iTransactionView);\n                    }\n                    bindTransactionView(view, blockItem.format, tx);\n                    iTransactionView++;\n                }\n                final int leftoverTransactionViews = transactionChildCount - iTransactionView;\n                if (leftoverTransactionViews > 0)\n                    blockHolder.transactionsViewGroup.removeViews(ROW_INSERT_INDEX + iTransactionView,\n                            leftoverTransactionViews);\n            }\n            if (fullBind) {\n                blockHolder.heightView.setText(Integer.toString(blockItem.height));\n                blockHolder.hashView.setText(WalletUtils.formatHash(null, blockItem.blockHash.toString(), 8, 0, ' '));\n\n                final OnClickListener onClickListener = this.onClickListener;\n                if (onClickListener != null)\n                    holder.itemView.setOnClickListener(v -> onClickListener.onBlockClick(v, blockItem.blockHash));\n            }\n        } else if (holder instanceof SeparatorViewHolder) {\n            final SeparatorViewHolder separatorHolder = (SeparatorViewHolder) holder;\n            final ListItem.SeparatorItem separatorItem = (ListItem.SeparatorItem) listItem;\n            separatorHolder.label.setText(separatorItem.label);\n        }\n    }\n\n    private void bindTransactionView(final View row, final MonetaryFormat format, final ListItem.TxItem tx) {\n        final TextView rowFromTo = row.findViewById(R.id.block_row_transaction_fromto);\n        rowFromTo.setText(tx.fromTo);\n        final TextView rowAddress = row.findViewById(R.id.block_row_transaction_address);\n        rowAddress.setText(tx.addressText);\n        rowAddress.setTypeface(tx.addressTypeface);\n        final CurrencyTextView rowValue = row.findViewById(R.id.block_row_transaction_value);\n        rowValue.setAlwaysSigned(true);\n        rowValue.setFormat(format);\n        rowValue.setAmount(tx.value);\n    }\n\n    public static class BlockViewHolder extends RecyclerView.ViewHolder {\n        private final ViewGroup transactionsViewGroup;\n        private final TextView heightView;\n        private final TextView timeView;\n        private final TextView hashView;\n        private final Toolbar contextBar;\n\n        private BlockViewHolder(final View itemView) {\n            super(itemView);\n            transactionsViewGroup = itemView.findViewById(R.id.block_list_row_transactions_group);\n            heightView = itemView.findViewById(R.id.block_list_row_height);\n            timeView = itemView.findViewById(R.id.block_list_row_time);\n            hashView = itemView.findViewById(R.id.block_list_row_hash);\n            contextBar = itemView.findViewById(R.id.block_list_row_context_bar);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/BlockListFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport android.content.Context;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ViewAnimator;\nimport androidx.fragment.app.Fragment;\nimport androidx.lifecycle.ViewModelProvider;\nimport androidx.recyclerview.widget.RecyclerView;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.AbstractWalletActivityViewModel;\nimport de.schildbach.wallet.ui.StickToTopLinearLayoutManager;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.StoredBlock;\nimport org.bitcoinj.wallet.Wallet;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class BlockListFragment extends Fragment implements BlockListAdapter.OnClickListener,\n        BlockListAdapter.ContextMenuCallback {\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n\n    private ViewAnimator viewGroup;\n    private RecyclerView recyclerView;\n    private BlockListAdapter adapter;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private NetworkMonitorViewModel activityViewModel;\n    private BlockListViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(BlockListFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = this.activity.getWalletApplication();\n        this.config = application.getConfiguration();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        walletActivityViewModel = new ViewModelProvider(activity).get(AbstractWalletActivityViewModel.class);\n        walletActivityViewModel.wallet.observe(this, wallet -> maybeSubmitList());\n        activityViewModel = new ViewModelProvider(activity).get(NetworkMonitorViewModel.class);\n        activityViewModel.selectedItem.observe(this, item -> {\n            if (item instanceof Sha256Hash) {\n                final Sha256Hash blockHash = (Sha256Hash) item;\n                adapter.setSelectedBlock(blockHash);\n                final int position = adapter.positionOf(blockHash);\n                if (position != RecyclerView.NO_POSITION)\n                    recyclerView.smoothScrollToPosition(position);\n            } else {\n                adapter.setSelectedBlock(null);\n            }\n        });\n        viewModel = new ViewModelProvider(this).get(BlockListViewModel.class);\n        viewModel.blocks.observe(this, blocks -> {\n            maybeSubmitList();\n            viewGroup.setDisplayedChild(1);\n            viewModel.getTransactions().loadTransactions();\n        });\n        viewModel.getTransactions().observe(this, transactions -> maybeSubmitList());\n        viewModel.getTime().observe(this, time -> maybeSubmitList());\n\n        adapter = new BlockListAdapter(activity, this, this);\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.block_list_fragment, container, false);\n        viewGroup = view.findViewById(R.id.block_list_group);\n        recyclerView = view.findViewById(R.id.block_list);\n        recyclerView.setHasFixedSize(true);\n        recyclerView.setLayoutManager(new StickToTopLinearLayoutManager(activity));\n        recyclerView.setAdapter(adapter);\n        return view;\n    }\n\n    private void maybeSubmitList() {\n        final List<StoredBlock> blocks = viewModel.blocks.getValue();\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        if (blocks != null) {\n            final Map<String, AddressBookEntry> addressBook = AddressBookEntry.asMap(viewModel.addressBook.getValue());\n            adapter.submitList(BlockListAdapter.buildListItems(activity, blocks, viewModel.getTime().getValue(),\n                    config.getFormat(), viewModel.getTransactions().getValue(), wallet, addressBook));\n        }\n    }\n\n    @Override\n    public void onBlockClick(final View view, final Sha256Hash blockHash) {\n        activityViewModel.selectedItem.setValue(blockHash);\n    }\n\n    @Override\n    public void onInflateBlockContextMenu(final MenuInflater inflater, final Menu menu) {\n        inflater.inflate(R.menu.blocks_context, menu);\n        menu.findItem(R.id.blocks_context_browse).setVisible(Constants.ENABLE_BROWSE);\n    }\n\n    @Override\n    public boolean onClickBlockContextMenuItem(final MenuItem item, final Sha256Hash blockHash) {\n        final int itemId = item.getItemId();\n        if (itemId == R.id.blocks_context_browse) {\n            final Uri blockExplorerUri = Uri.parse(String.format(config.getBlockExplorer(), \"block\"));\n            log.info(\"Viewing block {} on {}\", blockHash, blockExplorerUri);\n            activity.startExternalDocument(Uri.withAppendedPath(blockExplorerUri, blockHash.toString()));\n            return true;\n        } else {\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/BlockListViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport android.app.Application;\nimport android.os.AsyncTask;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MediatorLiveData;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.data.AbstractWalletLiveData;\nimport de.schildbach.wallet.data.BlockchainServiceLiveData;\nimport de.schildbach.wallet.data.TimeLiveData;\nimport de.schildbach.wallet.service.BlockchainService;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.StoredBlock;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.wallet.Wallet;\n\nimport java.util.HashSet;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BlockListViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    private final BlockchainServiceLiveData blockchainService;\n    public final MediatorLiveData<List<StoredBlock>> blocks;\n    private TransactionsLiveData transactions;\n    public final LiveData<List<AddressBookEntry>> addressBook;\n    private TimeLiveData time;\n\n    private static final int MAX_BLOCKS = 100;\n\n    public BlockListViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.blockchainService = new BlockchainServiceLiveData(application);\n        this.blocks = new MediatorLiveData<>();\n        this.blocks.addSource(blockchainService, blockchainService -> maybeRefreshBlocks());\n        this.blocks.addSource(this.application.blockchainState, blockchainState -> maybeRefreshBlocks());\n        this.addressBook = AddressBookDatabase.getDatabase(this.application).addressBookDao().getAll();\n    }\n\n    private void maybeRefreshBlocks() {\n        final BlockchainService blockchainService = this.blockchainService.getValue();\n        if (blockchainService != null)\n            this.blocks.setValue(blockchainService.getRecentBlocks(MAX_BLOCKS));\n    }\n\n    public TransactionsLiveData getTransactions() {\n        if (transactions == null)\n            transactions = new TransactionsLiveData(application);\n        return transactions;\n    }\n\n    public TimeLiveData getTime() {\n        if (time == null)\n            time = new TimeLiveData(application);\n        return time;\n    }\n\n    public static class TransactionsLiveData extends AbstractWalletLiveData<Set<Transaction>> {\n        private TransactionsLiveData(final WalletApplication application) {\n            super(application);\n        }\n\n        @Override\n        protected void onWalletActive(final Wallet wallet) {\n            loadTransactions();\n        }\n\n        public void loadTransactions() {\n            final Wallet wallet = getWallet();\n            if (wallet == null)\n                return;\n            AsyncTask.execute(() -> {\n                org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n                final Set<Transaction> transactions = wallet.getTransactions(false);\n                final Set<Transaction> filteredTransactions = new HashSet<>(transactions.size());\n                for (final Transaction tx : transactions) {\n                    final Map<Sha256Hash, Integer> appearsIn = tx.getAppearsInHashes();\n                    if (appearsIn != null && !appearsIn.isEmpty()) // TODO filter by updateTime\n                        filteredTransactions.add(tx);\n                }\n                postValue(filteredTransactions);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/NetworkMonitorActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport android.os.Bundle;\nimport androidx.annotation.NonNull;\nimport androidx.fragment.app.Fragment;\nimport androidx.recyclerview.widget.RecyclerView;\nimport androidx.viewpager2.adapter.FragmentStateAdapter;\nimport androidx.viewpager2.widget.ViewPager2;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.util.ViewPagerTabs;\nimport de.schildbach.wallet.util.ZoomOutPageTransformer;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class NetworkMonitorActivity extends AbstractWalletActivity {\n    private static final int POSITION_PEER_LIST = 0;\n    private static final int POSITION_BLOCK_LIST = 1;\n    private static final int[] TAB_LABELS = { R.string.network_monitor_peer_list_title,\n            R.string.network_monitor_block_list_title };\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        setContentView(R.layout.network_monitor_content);\n        final ViewPager2 pager = findViewById(R.id.network_monitor_pager);\n        final ViewPagerTabs pagerTabs = findViewById(R.id.network_monitor_pager_tabs);\n\n        pagerTabs.addTabLabels(TAB_LABELS);\n\n        final boolean twoPanes = getResources().getBoolean(R.bool.network_monitor_two_panes);\n\n        if (twoPanes) {\n            final RecyclerView recyclerView = (RecyclerView) pager.getChildAt(0);\n            recyclerView.setClipToPadding(false);\n            recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(() -> {\n                final int width = recyclerView.getWidth();\n                recyclerView.setPadding(0, 0, width / 2, 0);\n                pager.setCurrentItem(0);\n            });\n            pager.setUserInputEnabled(false);\n            pagerTabs.setMode(ViewPagerTabs.Mode.STATIC);\n        } else {\n            pager.setPageTransformer(new ZoomOutPageTransformer());\n            pager.registerOnPageChangeCallback(pagerTabs.getPageChangeCallback());\n            pagerTabs.setMode(ViewPagerTabs.Mode.DYNAMIC);\n        }\n\n        pager.setOffscreenPageLimit(1);\n        pager.setAdapter(new PagerAdapter());\n    }\n\n    private class PagerAdapter extends FragmentStateAdapter {\n        public PagerAdapter() {\n            super(NetworkMonitorActivity.this);\n        }\n\n        @Override\n        public int getItemCount() {\n            return 2;\n        }\n\n        @NonNull\n        @Override\n        public Fragment createFragment(final int position) {\n            if (position == POSITION_PEER_LIST)\n                return new PeerListFragment();\n            else if (position == POSITION_BLOCK_LIST)\n                return new BlockListFragment();\n            else\n                throw new IllegalArgumentException();\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/NetworkMonitorViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\n\n/**\n * @author Andreas Schildbach\n */\npublic class NetworkMonitorViewModel extends ViewModel {\n    public final MutableLiveData<Object> selectedItem = new MutableLiveData<>();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/PeerListAdapter.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport android.content.Context;\nimport android.graphics.drawable.Drawable;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport androidx.annotation.Dimension;\nimport androidx.annotation.MainThread;\nimport androidx.annotation.Nullable;\nimport androidx.cardview.widget.CardView;\nimport androidx.recyclerview.widget.DiffUtil;\nimport androidx.recyclerview.widget.ListAdapter;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.google.common.hash.HashFunction;\nimport com.google.common.hash.Hashing;\nimport com.google.common.net.HostAndPort;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport org.bitcoinj.core.Peer;\nimport org.bitcoinj.core.PeerAddress;\nimport org.bitcoinj.core.VersionMessage;\n\nimport java.net.InetAddress;\nimport java.util.ArrayList;\nimport java.util.EnumSet;\nimport java.util.List;\nimport java.util.Locale;\nimport java.util.Map;\nimport java.util.Objects;\n\n/**\n * @author Andreas Schildbach\n */\npublic class PeerListAdapter extends ListAdapter<PeerListAdapter.ListItem, PeerListAdapter.ViewHolder> {\n    public static List<ListItem> buildListItems(final Context context, final List<Peer> peers,\n            final Map<InetAddress, String> hostnames) {\n        final List<ListItem> items = new ArrayList<>(peers.size());\n        for (final Peer peer : peers) {\n            final PeerAddress peerAddress = peer.getAddress();\n            final InetAddress inetAddress = peerAddress.getAddr();\n            final String ip = inetAddress.getHostAddress();\n            final int port = peerAddress.getPort();\n            final HostAndPort hostAndPort = HostAndPort.fromParts(ip, port);\n            final String hostname = hostnames.get(inetAddress);\n            final String displayHost = hostname != null ? hostname : ip;\n            final HostAndPort displayHostAndPort;\n            if (port != Constants.NETWORK_PARAMETERS.getPort())\n                displayHostAndPort = HostAndPort.fromParts(displayHost, port);\n            else\n                displayHostAndPort = HostAndPort.fromHost(displayHost);\n            final long height = peer.getBestHeight();\n            final VersionMessage versionMessage = peer.getPeerVersionMessage();\n            final String version = versionMessage.subVer;\n            final String protocol = \"protocol: \" + versionMessage.clientVersion;\n            final String services = peer.toStringServices(versionMessage.localServices).toLowerCase(Locale.US);\n            final long pingTime = peer.getPingTime();\n            final String ping = pingTime < Long.MAX_VALUE ?\n                    context.getString(R.string.peer_list_row_ping_time, pingTime) : null;\n            final Drawable icon;\n            if (peer.isDownloadData()) {\n                icon = context.getDrawable(R.drawable.ic_sync_white_24dp);\n                icon.setTint(context.getColor(R.color.fg_significant));\n            } else {\n                icon = null;\n            }\n            items.add(new ListItem(hostAndPort, displayHostAndPort, height, version, protocol, services, ping, icon));\n        }\n        return items;\n    }\n\n    public static class ListItem {\n        // internal item id\n        public final long id;\n        // external item id\n        public final HostAndPort hostAndPort;\n\n        public final HostAndPort displayHostAndPort;\n        public final long height;\n        public final String version;\n        public final String protocol;\n        public final String services;\n        public final String ping;\n        public final Drawable icon;\n\n        public ListItem(final HostAndPort hostAndPort, final HostAndPort displayHostAndPort, final long height,\n                        final String version, final String protocol, final String services, final String ping,\n                        final Drawable icon) {\n            this.id = id(hostAndPort);\n            this.hostAndPort = hostAndPort;\n            this.displayHostAndPort = displayHostAndPort;\n            this.height = height;\n            this.version = version;\n            this.protocol = protocol;\n            this.services = services;\n            this.ping = ping;\n            this.icon = icon;\n        }\n\n        private static long id(final HostAndPort hostAndPort) {\n            return ID_HASH.newHasher().putUnencodedChars(hostAndPort.getHost()).putInt(hostAndPort.getPort())\n                    .hash().asLong();\n        }\n\n        private static final HashFunction ID_HASH = Hashing.farmHashFingerprint64();\n    }\n\n    public interface OnClickListener {\n        void onPeerClick(View view, HostAndPort peerHostAndPort);\n    }\n\n    private final LayoutInflater inflater;\n    @Dimension\n    private final int cardElevationSelected;\n\n    private enum ChangeType {\n        HOST, PING, ICON, SELECTION\n    }\n\n    @Nullable\n    private final OnClickListener onClickListener;\n    @Nullable\n    private HostAndPort selectedPeerHostAndPort;\n\n    public PeerListAdapter(final Context context, @Nullable final OnClickListener onClickListener) {\n        super(new DiffUtil.ItemCallback<ListItem>() {\n            @Override\n            public boolean areItemsTheSame(final ListItem oldItem, final ListItem newItem) {\n                return oldItem.id == newItem.id;\n            }\n\n            @Override\n            public boolean areContentsTheSame(final ListItem oldItem, final ListItem newItem) {\n                if (!Objects.equals(oldItem.displayHostAndPort, newItem.displayHostAndPort))\n                    return false;\n                if (!Objects.equals(oldItem.ping, newItem.ping))\n                    return false;\n                if (!Objects.equals(oldItem.icon, newItem.icon))\n                    return false;\n                return true;\n            }\n\n            @Nullable\n            @Override\n            public Object getChangePayload(final ListItem oldItem, final ListItem newItem) {\n                final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n                if (!Objects.equals(oldItem.displayHostAndPort, newItem.displayHostAndPort))\n                    changes.add(ChangeType.HOST);\n                if (!Objects.equals(oldItem.ping, newItem.ping))\n                    changes.add(ChangeType.PING);\n                if (!Objects.equals(oldItem.icon, newItem.icon))\n                    changes.add(ChangeType.ICON);\n                return changes;\n            }\n        });\n\n        this.inflater = LayoutInflater.from(context);\n        this.cardElevationSelected = context.getResources().getDimensionPixelOffset(R.dimen.card_elevation_selected);\n        this.onClickListener = onClickListener;\n\n        setHasStableIds(true);\n    }\n\n    @MainThread\n    public void setSelectedPeer(final HostAndPort newSelectedPeerHostAndPort) {\n        if (Objects.equals(newSelectedPeerHostAndPort, selectedPeerHostAndPort))\n            return;\n        if (selectedPeerHostAndPort != null)\n            notifyItemChanged(positionOf(selectedPeerHostAndPort), EnumSet.of(ChangeType.SELECTION));\n        if (newSelectedPeerHostAndPort != null)\n            notifyItemChanged(positionOf(newSelectedPeerHostAndPort), EnumSet.of(ChangeType.SELECTION));\n        this.selectedPeerHostAndPort = newSelectedPeerHostAndPort;\n    }\n\n    @MainThread\n    public int positionOf(final HostAndPort peerHostAndPort) {\n        if (peerHostAndPort != null) {\n            final List<ListItem> list = getCurrentList();\n            for (int i = 0; i < list.size(); i++) {\n                final ListItem item = list.get(i);\n                if (item.hostAndPort.equals(peerHostAndPort))\n                    return i;\n            }\n        }\n        return RecyclerView.NO_POSITION;\n    }\n\n    @Override\n    public long getItemId(final int position) {\n        final ListItem listItem = getItem(position);\n        return listItem.id;\n    }\n\n    @Override\n    public ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {\n        return new ViewHolder(inflater.inflate(R.layout.peer_list_row, parent, false));\n    }\n\n    @Override\n    public void onBindViewHolder(final ViewHolder holder, final int position) {\n        throw new UnsupportedOperationException();\n    }\n\n    @Override\n    public void onBindViewHolder(final ViewHolder holder, final int position, final List<Object> payloads) {\n        final boolean fullBind = payloads.isEmpty();\n        final EnumSet<ChangeType> changes = EnumSet.noneOf(ChangeType.class);\n        for (final Object payload : payloads)\n            changes.addAll((EnumSet<ChangeType>) payload);\n\n        final ListItem listItem = getItem(position);\n        if (fullBind || changes.contains(ChangeType.SELECTION)) {\n            final boolean isSelected = listItem.hostAndPort.equals(selectedPeerHostAndPort);\n            holder.itemView.setSelected(isSelected);\n            ((CardView) holder.itemView).setCardElevation(isSelected ? cardElevationSelected : 0);\n        }\n        if (fullBind || changes.contains(ChangeType.HOST)) {\n            holder.hostView.setText(listItem.displayHostAndPort.toString());\n        }\n        if (fullBind || changes.contains(ChangeType.PING)) {\n            holder.pingView.setText(listItem.ping);\n        }\n        if (fullBind || changes.contains(ChangeType.ICON)) {\n            holder.iconView.setImageDrawable(listItem.icon);\n        }\n        if (fullBind) {\n            holder.heightView.setText(listItem.height > 0 ? listItem.height + \" blocks\" : null);\n            holder.versionView.setText(listItem.version);\n            holder.protocolView.setText(listItem.protocol);\n            holder.servicesView.setText(listItem.services);\n            if (onClickListener != null)\n                holder.itemView.setOnClickListener(v -> onClickListener.onPeerClick(v, listItem.hostAndPort));\n        }\n    }\n\n    public static class ViewHolder extends RecyclerView.ViewHolder {\n        private final TextView hostView;\n        private final TextView heightView;\n        private final TextView versionView;\n        private final TextView protocolView;\n        private final TextView servicesView;\n        private final TextView pingView;\n        private final ImageView iconView;\n\n        private ViewHolder(final View itemView) {\n            super(itemView);\n            hostView = itemView.findViewById(R.id.peer_list_row_host);\n            heightView = itemView.findViewById(R.id.peer_list_row_height);\n            versionView = itemView.findViewById(R.id.peer_list_row_version);\n            protocolView = itemView.findViewById(R.id.peer_list_row_protocol);\n            servicesView = itemView.findViewById(R.id.peer_list_row_services);\n            pingView = itemView.findViewById(R.id.peer_list_row_ping);\n            iconView = itemView.findViewById(R.id.peer_list_row_icon);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/PeerListFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ViewAnimator;\nimport androidx.fragment.app.Fragment;\nimport androidx.lifecycle.ViewModelProvider;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.google.common.net.HostAndPort;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport org.bitcoinj.core.Peer;\n\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class PeerListFragment extends Fragment implements PeerListAdapter.OnClickListener {\n    private AbstractWalletActivity activity;\n\n    private ViewAnimator viewGroup;\n    private RecyclerView recyclerView;\n    private PeerListAdapter adapter;\n\n    private NetworkMonitorViewModel activityViewModel;\n    private PeerListViewModel viewModel;\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        activityViewModel = new ViewModelProvider(activity).get(NetworkMonitorViewModel.class);\n        activityViewModel.selectedItem.observe(this, item -> {\n            if (item instanceof HostAndPort) {\n                final HostAndPort peerHostAndPort = (HostAndPort) item;\n                adapter.setSelectedPeer(peerHostAndPort);\n                final int position = adapter.positionOf(peerHostAndPort);\n                if (position != RecyclerView.NO_POSITION)\n                    recyclerView.smoothScrollToPosition(position);\n            } else {\n                adapter.setSelectedPeer(null);\n            }\n        });\n        viewModel = new ViewModelProvider(this).get(PeerListViewModel.class);\n        viewModel.peers.observe(this, peers -> {\n            viewGroup.setDisplayedChild((peers == null || peers.isEmpty()) ? 1 : 2);\n            maybeSubmitList();\n            if (peers != null)\n                for (final Peer peer : peers)\n                    viewModel.getHostnames().reverseLookup(peer.getAddress().getAddr());\n        });\n        viewModel.getHostnames().observe(this, hostnames -> maybeSubmitList());\n\n        adapter = new PeerListAdapter(activity, this);\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.peer_list_fragment, container, false);\n        viewGroup = view.findViewById(R.id.peer_list_group);\n        recyclerView = view.findViewById(R.id.peer_list);\n        recyclerView.setHasFixedSize(true);\n        recyclerView.setLayoutManager(new LinearLayoutManager(activity));\n        recyclerView.setAdapter(adapter);\n        return view;\n    }\n\n    private void maybeSubmitList() {\n        final List<Peer> peers = viewModel.peers.getValue();\n        if (peers != null)\n            adapter.submitList(PeerListAdapter.buildListItems(activity, peers, viewModel.getHostnames().getValue()));\n    }\n\n    @Override\n    public void onPeerClick(final View view, final HostAndPort peerpeerHostAndPort) {\n        activityViewModel.selectedItem.setValue(peerpeerHostAndPort);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/monitor/PeerListViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.monitor;\n\nimport android.app.Application;\nimport android.os.AsyncTask;\nimport android.os.Handler;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MediatorLiveData;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.BlockchainServiceLiveData;\nimport de.schildbach.wallet.service.BlockchainService;\nimport org.bitcoinj.core.Peer;\n\nimport java.net.InetAddress;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\npublic class PeerListViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    private final BlockchainServiceLiveData blockchainService;\n    public final MediatorLiveData<List<Peer>> peers;\n    private HostnamesLiveData hostnames;\n\n    public PeerListViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.blockchainService = new BlockchainServiceLiveData(application);\n        this.peers = new MediatorLiveData<>();\n        this.peers.addSource(blockchainService, blockchainService -> maybeRefreshPeers());\n        this.peers.addSource(this.application.peerState, numPeers -> maybeRefreshPeers());\n    }\n\n    private void maybeRefreshPeers() {\n        final BlockchainService blockchainService = this.blockchainService.getValue();\n        if (blockchainService != null)\n            this.peers.setValue(blockchainService.getConnectedPeers());\n    }\n\n    public HostnamesLiveData getHostnames() {\n        if (hostnames == null)\n            hostnames = new HostnamesLiveData(application);\n        return hostnames;\n    }\n\n    public static class HostnamesLiveData extends LiveData<Map<InetAddress, String>> {\n        private final Handler handler = new Handler();\n\n        public HostnamesLiveData(final WalletApplication application) {\n            setValue(new HashMap<>());\n        }\n\n        public void reverseLookup(final InetAddress address) {\n            final Map<InetAddress, String> hostnames = getValue();\n            if (!hostnames.containsKey(address)) {\n                AsyncTask.execute(() -> {\n                    final String hostname = address.getCanonicalHostName();\n                    handler.post(() -> {\n                        hostnames.put(address, hostname);\n                        setValue(hostnames);\n                    });\n                });\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/preference/AboutFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.preference;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.app.DialogFragment;\nimport android.content.Intent;\nimport android.content.pm.PackageInfo;\nimport android.content.pm.PackageManager;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.preference.Preference;\nimport android.preference.PreferenceFragment;\nimport android.widget.ImageView;\nimport android.widget.Toast;\n\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.util.Installer;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.VersionMessage;\n\nimport java.io.IOException;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class AboutFragment extends PreferenceFragment {\n    private WalletApplication application;\n    private PackageManager packageManager;\n\n    private static final String KEY_ABOUT_VERSION = \"about_version\";\n    private static final String KEY_ABOUT_MARKET_APP = \"about_market_app\";\n    private static final String KEY_ABOUT_CREDITS_BITCOINJ = \"about_credits_bitcoinj\";\n\n    public static class ApkHashFragment extends DialogFragment {\n        @Override\n        public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {\n            CharSequence message;\n            try {\n                final WalletApplication application = (WalletApplication) getActivity().getApplication();\n                message = WalletUtils.formatHash(application.apkHash().toString(), 4, 0);\n            } catch (final IOException x) {\n                message = \"n/a\";\n            }\n            final DialogBuilder dialog = DialogBuilder.dialog(getActivity(), R.string.about_version_apk_hash_title, message);\n            dialog.singleDismissButton(null);\n            return dialog.create();\n        }\n    }\n\n    @Override\n    public void onAttach(final Activity activity) {\n        super.onAttach(activity);\n\n        this.application = (WalletApplication) activity.getApplication();\n        this.packageManager = activity.getPackageManager();\n    }\n\n    private int counter = 0;\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        addPreferencesFromResource(R.xml.preference_about);\n\n        final PackageInfo packageInfo = application.packageInfo();\n        final Preference versionPref = findPreference(KEY_ABOUT_VERSION);\n        versionPref.setSummary(WalletApplication.versionLine(packageInfo));\n        versionPref.setOnPreferenceClickListener(preference -> {\n            new ApkHashFragment().show(getFragmentManager(), null);\n            return true;\n        });\n        findPreference(\"about_copyright\").setOnPreferenceClickListener(pref -> {\n            counter++;\n            if (counter >= 7) {\n                Toast toast = new Toast(getContext());\n                ImageView view = new ImageView(getContext());\n                view.setImageResource(R.mipmap.ic_pink);\n                toast.setView(view);\n                toast.setDuration(Toast.LENGTH_SHORT);\n                toast.show();\n                counter = 0;\n            }\n            return true;\n        });\n\n        Installer installer = Installer.from(application);\n        if (installer == null)\n            installer = Installer.F_DROID;\n        final Preference marketPref = findPreference(KEY_ABOUT_MARKET_APP);\n        marketPref.setTitle(getString(R.string.about_market_app_title, installer.displayName));\n        final Intent marketIntent = new Intent(Intent.ACTION_VIEW,\n                Uri.parse(installer.appStorePageFor(application).toString()));\n        if (packageManager.resolveActivity(marketIntent, 0) != null) {\n            marketPref.setIntent(marketIntent);\n            marketPref.setEnabled(true);\n        }\n        findPreference(KEY_ABOUT_CREDITS_BITCOINJ)\n                .setTitle(getString(R.string.about_credits_bitcoinj_title, \"0.14\"));\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/preference/DiagnosticsFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.preference;\n\nimport android.app.Activity;\nimport android.os.Bundle;\nimport android.preference.Preference;\nimport android.preference.PreferenceFragment;\nimport android.preference.PreferenceScreen;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.service.BlockchainService;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport org.bitcoinj.crypto.DeterministicKey;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.wallet.DeterministicKeyChain;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Locale;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class DiagnosticsFragment extends PreferenceFragment {\n    private Activity activity;\n    private WalletApplication application;\n    private Configuration config;\n\n    private static final String PREFS_KEY_INITIATE_RESET = \"initiate_reset\";\n    private static final String PREFS_KEY_EXTENDED_PUBLIC_KEY = \"extended_public_key\";\n\n    private static final Logger log = LoggerFactory.getLogger(DiagnosticsFragment.class);\n\n    @Override\n    public void onAttach(final Activity activity) {\n        super.onAttach(activity);\n        this.activity = activity;\n        this.application = (WalletApplication) activity.getApplication();\n        this.config = application.getConfiguration();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        addPreferencesFromResource(R.xml.preference_diagnostics);\n    }\n\n    @Override\n    public boolean onPreferenceTreeClick(final PreferenceScreen preferenceScreen, final Preference preference) {\n        final String key = preference.getKey();\n\n        if (PREFS_KEY_INITIATE_RESET.equals(key)) {\n            handleInitiateReset();\n            return true;\n        } else if (PREFS_KEY_EXTENDED_PUBLIC_KEY.equals(key)) {\n            handleExtendedPublicKey();\n            return true;\n        }\n\n        return false;\n    }\n\n    private void handleInitiateReset() {\n        final DialogBuilder dialog = DialogBuilder.dialog(activity, R.string.preferences_initiate_reset_title,\n                R.string.preferences_initiate_reset_dialog_message);\n        dialog.setPositiveButton(R.string.preferences_initiate_reset_dialog_positive, (d, which) -> {\n            log.info(\"manually initiated block chain reset\");\n            BlockchainService.resetBlockchain(activity);\n            config.resetBestChainHeightEver();\n            config.updateLastBlockchainResetTime();\n            activity.finish(); // TODO doesn't fully finish prefs on single pane layouts\n        });\n        dialog.setNegativeButton(R.string.button_dismiss, null);\n        dialog.show();\n    }\n\n    private void handleExtendedPublicKey() {\n        final DeterministicKeyChain activeKeyChain = application.getWallet().getActiveKeyChain();\n        final DeterministicKey extendedKey = activeKeyChain.getWatchingKey();\n        final Script.ScriptType outputScriptType = activeKeyChain.getOutputScriptType();\n        final long creationTimeSeconds = extendedKey.getCreationTimeSeconds();\n        final String base58 = String.format(Locale.US, \"%s?c=%d&h=bip32\",\n                extendedKey.serializePubB58(Constants.NETWORK_PARAMETERS, outputScriptType), creationTimeSeconds);\n        ExtendedPublicKeyFragment.show(getFragmentManager(), (CharSequence) base58);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/preference/ExtendedPublicKeyFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.preference;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.app.DialogFragment;\nimport android.app.FragmentManager;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.ImageView;\nimport androidx.core.app.ShareCompat;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.util.Qr;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ExtendedPublicKeyFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = ExtendedPublicKeyFragment.class.getName();\n\n    private static final String KEY_EXTENDED_PUBLIC_KEY = \"extended_public_key\";\n\n    private static final Logger log = LoggerFactory.getLogger(ExtendedPublicKeyFragment.class);\n\n    public static void show(final FragmentManager fm, final CharSequence base58) {\n        instance(base58).show(fm, FRAGMENT_TAG);\n    }\n\n    private static ExtendedPublicKeyFragment instance(final CharSequence base58) {\n        final ExtendedPublicKeyFragment fragment = new ExtendedPublicKeyFragment();\n\n        final Bundle args = new Bundle();\n        args.putCharSequence(KEY_EXTENDED_PUBLIC_KEY, base58);\n        fragment.setArguments(args);\n\n        return fragment;\n    }\n\n    private Activity activity;\n\n    @Override\n    public void onAttach(final Activity activity) {\n        super.onAttach(activity);\n\n        this.activity = activity;\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final String base58 = getArguments().getCharSequence(KEY_EXTENDED_PUBLIC_KEY).toString();\n\n        final View view = LayoutInflater.from(activity).inflate(R.layout.extended_public_key_dialog, null);\n\n        final BitmapDrawable bitmap = new BitmapDrawable(getResources(), Qr.bitmap(base58));\n        bitmap.setFilterBitmap(false);\n        final ImageView imageView = view.findViewById(R.id.extended_public_key_dialog_image);\n        imageView.setImageDrawable(bitmap);\n\n        final DialogBuilder dialog = DialogBuilder.custom(activity, 0, view);\n        dialog.setNegativeButton(R.string.button_dismiss, (d, which) -> dismissAllowingStateLoss());\n        dialog.setPositiveButton(R.string.button_share, (d, which) -> {\n            final ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);\n            builder.setType(\"text/plain\");\n            builder.setText(base58);\n            builder.setSubject(getString(R.string.extended_public_key_fragment_title));\n            builder.setChooserTitle(R.string.extended_public_key_fragment_share);\n            builder.startChooser();\n            log.info(\"extended public key shared via intent: {}\", base58);\n        });\n\n        return dialog.show();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/preference/PreferenceActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.preference;\n\nimport android.view.MenuItem;\nimport de.schildbach.wallet.R;\n\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class PreferenceActivity extends android.preference.PreferenceActivity {\n    @Override\n    public void onBuildHeaders(final List<Header> target) {\n        loadHeadersFromResource(R.xml.preference_headers, target);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        if (item.getItemId() == android.R.id.home) {\n            onBackPressed();\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    @Override\n    protected boolean isValidFragment(final String fragmentName) {\n        return SettingsFragment.class.getName().equals(fragmentName)\n                || DiagnosticsFragment.class.getName().equals(fragmentName)\n                || AboutFragment.class.getName().equals(fragmentName);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/preference/ResolveDnsTask.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.preference;\n\nimport android.os.Handler;\nimport android.os.Looper;\nimport com.google.common.net.HostAndPort;\nimport de.schildbach.wallet.Constants;\n\nimport java.net.InetAddress;\nimport java.net.InetSocketAddress;\nimport java.net.UnknownHostException;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class ResolveDnsTask {\n    private final Handler backgroundHandler;\n    private final Handler callbackHandler;\n\n    public ResolveDnsTask(final Handler backgroundHandler) {\n        this.backgroundHandler = backgroundHandler;\n        this.callbackHandler = new Handler(Looper.myLooper());\n    }\n\n    public final void resolve(final HostAndPort hostAndPort) {\n        backgroundHandler.post(() -> {\n            try {\n                final InetAddress address = InetAddress.getByName(hostAndPort.getHost()); // blocks on network\n                final int port = hostAndPort.getPortOrDefault(Constants.NETWORK_PARAMETERS.getPort());\n                final InetSocketAddress socketAddress = new InetSocketAddress(address, port);\n                callbackHandler.post(() -> onSuccess(hostAndPort, socketAddress));\n            } catch (final UnknownHostException x) {\n                callbackHandler.post(() -> onUnknownHost(hostAndPort));\n            }\n        });\n    }\n\n    protected abstract void onSuccess(HostAndPort hostAndPort, InetSocketAddress socketAddress);\n\n    protected abstract void onUnknownHost(HostAndPort hostAndPort);\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/preference/SettingsFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.preference;\n\nimport android.app.Activity;\nimport android.bluetooth.BluetoothAdapter;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Process;\nimport android.preference.EditTextPreference;\nimport android.preference.ListPreference;\nimport android.preference.Preference;\nimport android.preference.Preference.OnPreferenceChangeListener;\nimport android.preference.PreferenceFragment;\nimport android.provider.Settings;\nimport android.text.Editable;\nimport android.text.Html;\nimport android.text.InputFilter;\nimport android.text.Spanned;\nimport android.text.TextWatcher;\nimport com.google.common.net.HostAndPort;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.util.Bluetooth;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.net.InetSocketAddress;\nimport java.util.Locale;\nimport java.util.Set;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class SettingsFragment extends PreferenceFragment implements OnPreferenceChangeListener {\n    private Activity activity;\n    private WalletApplication application;\n    private Configuration config;\n    private PackageManager pm;\n\n    private final Handler handler = new Handler();\n    private HandlerThread backgroundThread;\n    private Handler backgroundHandler;\n\n    private EditTextPreference trustedPeerPreference;\n    private Preference trustedPeerOnlyPreference;\n    private Preference ownNamePreference;\n    private EditTextPreference bluetoothAddressPreference;\n\n    private static final int BLUETOOTH_ADDRESS_LENGTH = 6 * 2 + 5; // including the colons\n    private static final Logger log = LoggerFactory.getLogger(SettingsFragment.class);\n\n    @Override\n    public void onAttach(final Activity activity) {\n        super.onAttach(activity);\n\n        this.activity = activity;\n        this.application = (WalletApplication) activity.getApplication();\n        this.config = application.getConfiguration();\n        this.pm = activity.getPackageManager();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        addPreferencesFromResource(R.xml.preference_settings);\n\n        backgroundThread = new HandlerThread(\"backgroundThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        backgroundThread.start();\n        backgroundHandler = new Handler(backgroundThread.getLooper());\n\n        final ListPreference syncModePreference = (ListPreference) findPreference(Configuration.PREFS_KEY_SYNC_MODE);\n        syncModePreference.setEntryValues(new CharSequence[] {\n                Configuration.SyncMode.CONNECTION_FILTER.name(),\n                Configuration.SyncMode.FULL.name() });\n        syncModePreference.setEntries(new CharSequence[] {\n                Html.fromHtml(getString(R.string.preferences_sync_mode_labels_connection_filter)),\n                Html.fromHtml(getString(R.string.preferences_sync_mode_labels_full)) });\n        if (!application.fullSyncCapable())\n            removeOrDisablePreference(syncModePreference);\n\n        trustedPeerPreference = (EditTextPreference) findPreference(Configuration.PREFS_KEY_TRUSTED_PEERS);\n        trustedPeerPreference.setOnPreferenceChangeListener(this);\n        trustedPeerPreference.setDialogMessage(getString(R.string.preferences_trusted_peer_dialog_message) + \"\\n\\n\" +\n                getString(R.string.preferences_trusted_peer_dialog_message_multiple));\n\n        trustedPeerOnlyPreference = findPreference(Configuration.PREFS_KEY_TRUSTED_PEERS_ONLY);\n        trustedPeerOnlyPreference.setOnPreferenceChangeListener(this);\n\n        final Preference dataUsagePreference = findPreference(Configuration.PREFS_KEY_DATA_USAGE);\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)\n            dataUsagePreference.setIntent(new Intent(Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS,\n                    Uri.parse(\"package:\" + application.getPackageName())));\n        if (dataUsagePreference.getIntent() == null || pm.resolveActivity(dataUsagePreference.getIntent(), 0) == null)\n            removeOrDisablePreference(dataUsagePreference);\n\n        final Preference notificationsPreference = findPreference(Configuration.PREFS_KEY_NOTIFICATIONS);\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)\n            notificationsPreference.setIntent(new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)\n                    .putExtra(Settings.EXTRA_APP_PACKAGE, application.getPackageName()));\n        if (notificationsPreference.getIntent() == null || pm.resolveActivity(notificationsPreference.getIntent(), 0) == null)\n            removeOrDisablePreference(notificationsPreference);\n\n        ownNamePreference = findPreference(Configuration.PREFS_KEY_OWN_NAME);\n        ownNamePreference.setOnPreferenceChangeListener(this);\n\n        bluetoothAddressPreference = (EditTextPreference) findPreference(Configuration.PREFS_KEY_BLUETOOTH_ADDRESS);\n        bluetoothAddressPreference.setOnPreferenceChangeListener(this);\n        final InputFilter.AllCaps allCaps = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1 ?\n                new InputFilter.AllCaps(Locale.US) : new InputFilter.AllCaps();\n        final InputFilter.LengthFilter maxLength = new InputFilter.LengthFilter(BLUETOOTH_ADDRESS_LENGTH);\n        final RestrictToHex hex = new RestrictToHex();\n        bluetoothAddressPreference.getEditText().setFilters(new InputFilter[] { maxLength, allCaps, hex });\n        bluetoothAddressPreference.getEditText().addTextChangedListener(colonFormat);\n\n        updateTrustedPeer();\n        updateOwnName();\n        updateBluetoothAddress();\n    }\n\n    @Override\n    public void onDestroy() {\n        bluetoothAddressPreference.getEditText().removeTextChangedListener(colonFormat);\n        bluetoothAddressPreference.setOnPreferenceChangeListener(null);\n        ownNamePreference.setOnPreferenceChangeListener(null);\n        trustedPeerOnlyPreference.setOnPreferenceChangeListener(null);\n        trustedPeerPreference.setOnPreferenceChangeListener(null);\n\n        backgroundThread.getLooper().quit();\n\n        super.onDestroy();\n    }\n\n    @Override\n    public boolean onPreferenceChange(final Preference preference, final Object newValue) {\n        // delay action because preference isn't persisted until after this method returns\n        handler.post(() -> {\n            if (preference.equals(trustedPeerPreference))\n                updateTrustedPeer();\n            else if (preference.equals(ownNamePreference))\n                updateOwnName();\n            else if (preference.equals(bluetoothAddressPreference))\n                updateBluetoothAddress();\n        });\n        return true;\n    }\n\n    private void updateTrustedPeer() {\n        final Set<HostAndPort> trustedPeers = config.getTrustedPeers();\n        if (trustedPeers.isEmpty()) {\n            trustedPeerPreference.setSummary(R.string.preferences_trusted_peer_summary);\n            trustedPeerOnlyPreference.setEnabled(false);\n        } else {\n            trustedPeerPreference.setSummary(R.string.preferences_trusted_peer_resolve_progress);\n            trustedPeerOnlyPreference.setEnabled(true);\n\n            for (final HostAndPort trustedPeer : trustedPeers) {\n                new ResolveDnsTask(backgroundHandler) {\n                    @Override\n                    protected void onSuccess(final HostAndPort hostAndPort, final InetSocketAddress socketAddress) {\n                        appendToTrustedPeerSummary(Constants.CHAR_CHECKMARK + \" \" + hostAndPort);\n                        log.info(\"trusted peer '{}' resolved to {}\", hostAndPort,\n                                socketAddress.getAddress().getHostAddress());\n                    }\n\n                    @Override\n                    protected void onUnknownHost(final HostAndPort hostAndPort) {\n                        appendToTrustedPeerSummary(Constants.CHAR_CROSSMARK + \" \" + hostAndPort + \" – \" +\n                                getString(R.string.preferences_trusted_peer_resolve_unknown_host));\n                        log.info(\"trusted peer '{}' unknown host\", hostAndPort);\n                    }\n                }.resolve(trustedPeer);\n            }\n        }\n    }\n\n    private void appendToTrustedPeerSummary(final String line) {\n        // This is a hack, because we're too lazy to implement a sophisticated UI here.\n        synchronized (trustedPeerPreference) {\n            CharSequence summary = trustedPeerPreference.getSummary();\n            if (summary.equals(getString(R.string.preferences_trusted_peer_resolve_progress)))\n                summary = \"\";\n            else\n                summary = summary + \"\\n\";\n            trustedPeerPreference.setSummary(summary + line);\n        }\n    }\n\n    private void updateOwnName() {\n        final String ownName = config.getOwnName();\n        ownNamePreference.setSummary(ownName != null ? ownName : getText(R.string.preferences_own_name_summary));\n    }\n\n    private void updateBluetoothAddress() {\n        final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();\n        if (bluetoothAdapter != null) {\n            String bluetoothAddress = Bluetooth.getAddress(bluetoothAdapter);\n            if (bluetoothAddress == null)\n                bluetoothAddress = config.getLastBluetoothAddress();\n            if (bluetoothAddress != null) {\n                bluetoothAddressPreference.setSummary(bluetoothAddress);\n                bluetoothAddressPreference.setEnabled(false);\n            } else {\n                bluetoothAddress = config.getBluetoothAddress();\n                if (bluetoothAddress != null) {\n                    final String normalizedBluetoothAddress =\n                            Bluetooth.decompressMac(Bluetooth.compressMac(bluetoothAddress));\n                    bluetoothAddressPreference.setSummary(normalizedBluetoothAddress);\n                }\n            }\n        } else {\n            removeOrDisablePreference(bluetoothAddressPreference);\n        }\n    }\n\n    private void removeOrDisablePreference(final Preference preference) {\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)\n            preference.getParent().removePreference(preference);\n        else\n            preference.setEnabled(false);\n    }\n\n    private static class RestrictToHex implements InputFilter {\n        @Override\n        public CharSequence filter(final CharSequence source, final int start, final int end, final Spanned dest,\n                                   final int dstart, final int dend) {\n            final StringBuilder result = new StringBuilder();\n            for (int i = start; i < end; i++) {\n                final char c = source.charAt(i);\n                if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F') || c == ':')\n                    result.append(c);\n            }\n            return result;\n        }\n    }\n\n    private final TextWatcher colonFormat = new TextWatcher() {\n        private boolean inFlight = false;\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n            if (inFlight)\n                return;\n\n            inFlight = true;\n            for (int i = 0; i < s.length(); i++) {\n                final boolean atColon = i % 3 == 2;\n                final char c = s.charAt(i);\n                if (atColon) {\n                    if (c != ':')\n                        s.insert(i, \":\");\n                } else {\n                    if (c == ':')\n                        s.delete(i, i + 1);\n                }\n            }\n            inFlight = false;\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n        }\n    };\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/scan/CameraManager.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.scan;\n\nimport android.annotation.SuppressLint;\nimport android.graphics.Rect;\nimport android.graphics.RectF;\nimport android.hardware.Camera;\nimport android.hardware.Camera.CameraInfo;\nimport android.hardware.Camera.PreviewCallback;\nimport android.view.TextureView;\nimport com.google.zxing.PlanarYUVLuminanceSource;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Collection;\nimport java.util.Collections;\nimport java.util.Comparator;\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\n@SuppressWarnings(\"deprecation\")\npublic final class CameraManager {\n    private static final int MIN_FRAME_SIZE = 240;\n    private static final int MAX_FRAME_SIZE = 600;\n    private static final int MIN_PREVIEW_PIXELS = 640 * 480; // normal screen\n    private static final int MAX_PREVIEW_PIXELS = 1920 * 1080;\n\n    private Camera camera;\n    private CameraInfo cameraInfo = new CameraInfo();\n    private Camera.Size cameraResolution;\n    private Rect frame;\n    private RectF framePreview;\n\n    private static final Logger log = LoggerFactory.getLogger(CameraManager.class);\n\n    public Rect getFrame() {\n        return frame;\n    }\n\n    public RectF getFramePreview() {\n        return framePreview;\n    }\n\n    public int getFacing() {\n        return cameraInfo.facing;\n    }\n\n    public int getOrientation() {\n        return cameraInfo.orientation;\n    }\n\n    public Camera open(final TextureView textureView, final int displayOrientation) throws IOException {\n        final int cameraId = determineCameraId();\n        Camera.getCameraInfo(cameraId, cameraInfo);\n\n        log.info(\"opening camera id {}: {}-facing, camera orientation: {}, display orientation: {}\", cameraId,\n                cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK ? \"back\" : \"front\", cameraInfo.orientation,\n                displayOrientation);\n        camera = Camera.open(cameraId);\n\n        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)\n            camera.setDisplayOrientation((720 - displayOrientation - cameraInfo.orientation) % 360);\n        else if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK)\n            camera.setDisplayOrientation((720 - displayOrientation + cameraInfo.orientation) % 360);\n        else\n            throw new IllegalStateException(\"facing: \" + cameraInfo.facing);\n\n        camera.setPreviewTexture(textureView.getSurfaceTexture());\n\n        final Camera.Parameters parameters = camera.getParameters();\n\n        final int width = textureView.getWidth();\n        final int height = textureView.getHeight();\n        cameraResolution = findBestPreviewSizeValue(parameters, width, height);\n        log.info(\"texture size is {}/{}, picked preview size is {}/{}\", width, height, cameraResolution.width,\n                cameraResolution.height);\n\n        final int rawSize = Math.min(width * 2 / 3, height * 2 / 3);\n        final int frameSize = Math.max(MIN_FRAME_SIZE, Math.min(MAX_FRAME_SIZE, rawSize));\n\n        final int leftOffset = (width - frameSize) / 2;\n        final int topOffset = (height - frameSize) / 2;\n        frame = new Rect(leftOffset, topOffset, leftOffset + frameSize, topOffset + frameSize);\n        if (width > height) { // landscape\n            framePreview = new RectF((float) (frame.left * cameraResolution.width) / width,\n                    (float) (frame.top * cameraResolution.height) / height,\n                    (float) (frame.right * cameraResolution.width) / width,\n                    (float) (frame.bottom * cameraResolution.height) / height);\n        } else { // portrait\n            framePreview = new RectF((float) (frame.top * cameraResolution.width) / height,\n                    (float) (frame.left * cameraResolution.height) / width,\n                    (float) (frame.bottom * cameraResolution.width) / height,\n                    (float) (frame.right * cameraResolution.height) / width);\n        }\n\n        final String savedParameters = parameters == null ? null : parameters.flatten();\n\n        try {\n            setDesiredCameraParameters(camera, cameraResolution);\n        } catch (final RuntimeException x) {\n            if (savedParameters != null) {\n                final Camera.Parameters parameters2 = camera.getParameters();\n                parameters2.unflatten(savedParameters);\n                try {\n                    camera.setParameters(parameters2);\n                    setDesiredCameraParameters(camera, cameraResolution);\n                } catch (final RuntimeException x2) {\n                    log.info(\"problem setting camera parameters\", x2);\n                }\n            }\n        }\n\n        try {\n            camera.startPreview();\n            return camera;\n        } catch (final RuntimeException x) {\n            log.warn(\"something went wrong while starting camera preview\", x);\n            camera.release();\n            throw x;\n        }\n    }\n\n    private int determineCameraId() {\n        final int cameraCount = Camera.getNumberOfCameras();\n        final CameraInfo cameraInfo = new CameraInfo();\n\n        // prefer back-facing camera\n        for (int i = 0; i < cameraCount; i++) {\n            Camera.getCameraInfo(i, cameraInfo);\n            if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK)\n                return i;\n        }\n\n        // fall back to front-facing camera\n        for (int i = 0; i < cameraCount; i++) {\n            Camera.getCameraInfo(i, cameraInfo);\n            if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)\n                return i;\n        }\n\n        return -1;\n    }\n\n    public void close() {\n        if (camera != null) {\n            try {\n                camera.stopPreview();\n                camera.setPreviewCallback(null);\n            } catch (final RuntimeException x) {\n                log.warn(\"something went wrong while stopping camera preview\", x);\n            }\n\n            camera.release();\n        }\n    }\n\n    private static final Comparator<Camera.Size> NUM_PIXEL_COMPARATOR = (size1, size2) -> {\n        final int pixels1 = size1.height * size1.width;\n        final int pixels2 = size2.height * size2.width;\n        return -Integer.compare(pixels1, pixels2);\n    };\n\n    private static Camera.Size findBestPreviewSizeValue(final Camera.Parameters parameters, int width, int height) {\n        if (height > width) {\n            final int temp = width;\n            width = height;\n            height = temp;\n        }\n\n        final float screenAspectRatio = (float) width / (float) height;\n\n        final List<Camera.Size> rawSupportedSizes = parameters.getSupportedPreviewSizes();\n        if (rawSupportedSizes == null)\n            return parameters.getPreviewSize();\n\n        // sort by size, descending\n        final List<Camera.Size> supportedPreviewSizes = new ArrayList<>(rawSupportedSizes);\n        Collections.sort(supportedPreviewSizes, NUM_PIXEL_COMPARATOR);\n\n        Camera.Size bestSize = null;\n        float diff = Float.POSITIVE_INFINITY;\n\n        for (final Camera.Size supportedPreviewSize : supportedPreviewSizes) {\n            final int realWidth = supportedPreviewSize.width;\n            final int realHeight = supportedPreviewSize.height;\n            final int realPixels = realWidth * realHeight;\n            if (realPixels < MIN_PREVIEW_PIXELS || realPixels > MAX_PREVIEW_PIXELS)\n                continue;\n\n            final boolean isCandidatePortrait = realWidth < realHeight;\n            final int maybeFlippedWidth = isCandidatePortrait ? realHeight : realWidth;\n            final int maybeFlippedHeight = isCandidatePortrait ? realWidth : realHeight;\n            if (maybeFlippedWidth == width && maybeFlippedHeight == height)\n                return supportedPreviewSize;\n\n            final float aspectRatio = (float) maybeFlippedWidth / (float) maybeFlippedHeight;\n            final float newDiff = Math.abs(aspectRatio - screenAspectRatio);\n            if (newDiff < diff) {\n                bestSize = supportedPreviewSize;\n                diff = newDiff;\n            }\n        }\n\n        if (bestSize != null)\n            return bestSize;\n        else\n            return parameters.getPreviewSize();\n    }\n\n    @SuppressLint(\"InlinedApi\")\n    private static void setDesiredCameraParameters(final Camera camera, final Camera.Size cameraResolution) {\n        final Camera.Parameters parameters = camera.getParameters();\n        if (parameters == null)\n            return;\n\n        final List<String> supportedFocusModes = parameters.getSupportedFocusModes();\n        final String focusMode = findValue(supportedFocusModes, Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,\n                Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO, Camera.Parameters.FOCUS_MODE_AUTO,\n                Camera.Parameters.FOCUS_MODE_MACRO);\n        if (focusMode != null)\n            parameters.setFocusMode(focusMode);\n\n        parameters.setPreviewSize(cameraResolution.width, cameraResolution.height);\n\n        camera.setParameters(parameters);\n    }\n\n    public void requestPreviewFrame(final PreviewCallback callback) {\n        try {\n            camera.setOneShotPreviewCallback(callback);\n        } catch (final RuntimeException x) {\n            log.warn(\"problem requesting preview frame, callback won't be called\", x);\n        }\n    }\n\n    public PlanarYUVLuminanceSource buildLuminanceSource(final byte[] data) {\n        return new PlanarYUVLuminanceSource(data, cameraResolution.width, cameraResolution.height,\n                (int) framePreview.left, (int) framePreview.top, (int) framePreview.width(),\n                (int) framePreview.height(), false);\n    }\n\n    public void setTorch(final boolean enabled) {\n        if (enabled != getTorchEnabled(camera))\n            setTorchEnabled(camera, enabled);\n    }\n\n    private static boolean getTorchEnabled(final Camera camera) {\n        final Camera.Parameters parameters = camera.getParameters();\n        if (parameters != null) {\n            final String flashMode = camera.getParameters().getFlashMode();\n            return flashMode != null && (Camera.Parameters.FLASH_MODE_ON.equals(flashMode)\n                    || Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode));\n        }\n\n        return false;\n    }\n\n    private static void setTorchEnabled(final Camera camera, final boolean enabled) {\n        final Camera.Parameters parameters = camera.getParameters();\n\n        final List<String> supportedFlashModes = parameters.getSupportedFlashModes();\n        if (supportedFlashModes != null) {\n            final String flashMode;\n            if (enabled)\n                flashMode = findValue(supportedFlashModes, Camera.Parameters.FLASH_MODE_TORCH,\n                        Camera.Parameters.FLASH_MODE_ON);\n            else\n                flashMode = findValue(supportedFlashModes, Camera.Parameters.FLASH_MODE_OFF);\n\n            if (flashMode != null) {\n                camera.cancelAutoFocus(); // autofocus can cause conflict\n\n                parameters.setFlashMode(flashMode);\n                camera.setParameters(parameters);\n            }\n        }\n    }\n\n    private static String findValue(final Collection<String> values, final String... valuesToFind) {\n        for (final String valueToFind : valuesToFind)\n            if (values.contains(valueToFind))\n                return valueToFind;\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/scan/ScanActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.scan;\n\nimport android.Manifest;\nimport android.animation.Animator;\nimport android.animation.AnimatorListenerAdapter;\nimport android.app.Activity;\nimport android.app.ActivityOptions;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.Intent;\nimport android.content.pm.ActivityInfo;\nimport android.content.pm.PackageManager;\nimport android.graphics.Rect;\nimport android.graphics.RectF;\nimport android.graphics.SurfaceTexture;\nimport android.graphics.drawable.ColorDrawable;\nimport android.hardware.Camera;\nimport android.hardware.Camera.CameraInfo;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Process;\nimport android.os.Vibrator;\nimport android.view.KeyEvent;\nimport android.view.Surface;\nimport android.view.TextureView;\nimport android.view.TextureView.SurfaceTextureListener;\nimport android.view.View;\nimport android.view.ViewAnimationUtils;\nimport android.view.WindowManager;\nimport android.view.animation.AccelerateInterpolator;\nimport androidx.annotation.Nullable;\nimport androidx.core.app.ActivityCompat;\nimport androidx.core.content.ContextCompat;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.zxing.BinaryBitmap;\nimport com.google.zxing.DecodeHintType;\nimport com.google.zxing.PlanarYUVLuminanceSource;\nimport com.google.zxing.ReaderException;\nimport com.google.zxing.Result;\nimport com.google.zxing.ResultPointCallback;\nimport com.google.zxing.common.HybridBinarizer;\nimport com.google.zxing.qrcode.QRCodeReader;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.ui.Event;\nimport de.schildbach.wallet.util.OnFirstPreDraw;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.EnumMap;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\n@SuppressWarnings(\"deprecation\")\npublic final class ScanActivity extends AbstractWalletActivity\n        implements SurfaceTextureListener, ActivityCompat.OnRequestPermissionsResultCallback {\n    private static final String INTENT_EXTRA_SCENE_TRANSITION_X = \"scene_transition_x\";\n    private static final String INTENT_EXTRA_SCENE_TRANSITION_Y = \"scene_transition_y\";\n    public static final String INTENT_EXTRA_RESULT = \"result\";\n\n    public static void startForResult(final Activity activity, @Nullable final View clickView, final int requestCode) {\n        if (clickView != null) {\n            final int[] clickViewLocation = new int[2];\n            clickView.getLocationOnScreen(clickViewLocation);\n            final Intent intent = new Intent(activity, ScanActivity.class);\n            intent.putExtra(ScanActivity.INTENT_EXTRA_SCENE_TRANSITION_X,\n                    (int) (clickViewLocation[0] + clickView.getWidth() / 2));\n            intent.putExtra(ScanActivity.INTENT_EXTRA_SCENE_TRANSITION_Y,\n                    (int) (clickViewLocation[1] + clickView.getHeight() / 2));\n            final ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(activity, clickView,\n                    \"transition\");\n            activity.startActivityForResult(intent, requestCode, options.toBundle());\n        } else {\n            startForResult(activity, requestCode);\n        }\n    }\n\n    public static void startForResult(final Activity activity, final int resultCode) {\n        activity.startActivityForResult(new Intent(activity, ScanActivity.class), resultCode);\n    }\n\n    public static void startForResult(final Fragment fragment, final Activity activity, final int resultCode) {\n        fragment.startActivityForResult(new Intent(activity, ScanActivity.class), resultCode);\n    }\n\n    private static final long VIBRATE_DURATION = 50L;\n    private static final long AUTO_FOCUS_INTERVAL_MS = 2500L;\n\n    private final CameraManager cameraManager = new CameraManager();\n\n    private View contentView;\n    private ScannerView scannerView;\n    private TextureView previewView;\n\n    private volatile boolean surfaceCreated = false;\n    private Animator sceneTransition = null;\n\n    private Vibrator vibrator;\n    private HandlerThread cameraThread;\n    private volatile Handler cameraHandler;\n\n    private ScanViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(ScanActivity.class);\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);\n\n        viewModel = new ViewModelProvider(this).get(ScanViewModel.class);\n        viewModel.showPermissionWarnDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                WarnDialogFragment.show(getSupportFragmentManager(), R.string.scan_camera_permission_dialog_title,\n                        getString(R.string.scan_camera_permission_dialog_message));\n            }\n        });\n        viewModel.showProblemWarnDialog.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                WarnDialogFragment.show(getSupportFragmentManager(), R.string.scan_camera_problem_dialog_title,\n                        getString(R.string.scan_camera_problem_dialog_message));\n            }\n        });\n        viewModel.maybeStartSceneTransition.observe(this, new Event.Observer<Void>() {\n            @Override\n            protected void onEvent(final Void v) {\n                if (sceneTransition != null) {\n                    contentView.setAlpha(1);\n                    sceneTransition.addListener(new AnimatorListenerAdapter() {\n                        @Override\n                        public void onAnimationEnd(Animator animation) {\n                            getWindow().setBackgroundDrawable(new ColorDrawable(\n                                    getColor(android.R.color.black)));\n                        }\n                    });\n                    sceneTransition.start();\n                    sceneTransition = null;\n                }\n            }\n        });\n\n        // Stick to the orientation the activity was started with. We cannot declare this in the\n        // AndroidManifest.xml, because it's not allowed in combination with the windowIsTranslucent=true\n        // theme attribute.\n        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);\n        // Draw under navigation and status bars.\n        getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,\n                WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);\n\n        setContentView(R.layout.scan_activity);\n        contentView = findViewById(android.R.id.content);\n        scannerView = findViewById(R.id.scan_activity_mask);\n        previewView = findViewById(R.id.scan_activity_preview);\n        previewView.setSurfaceTextureListener(this);\n\n        cameraThread = new HandlerThread(\"cameraThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        cameraThread.start();\n        cameraHandler = new Handler(cameraThread.getLooper());\n\n        if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {\n            log.info(\"missing {}, requesting\", Manifest.permission.CAMERA);\n            ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.CAMERA }, 0);\n        }\n\n        if (savedInstanceState == null) {\n            final Intent intent = getIntent();\n            final int x = intent.getIntExtra(INTENT_EXTRA_SCENE_TRANSITION_X, -1);\n            final int y = intent.getIntExtra(INTENT_EXTRA_SCENE_TRANSITION_Y, -1);\n            if (x != -1 || y != -1) {\n                // Using alpha rather than visibility because 'invisible' will cause the surface view to never\n                // start up, so the animation will never start.\n                contentView.setAlpha(0);\n                getWindow().setBackgroundDrawable(\n                        new ColorDrawable(getColor(android.R.color.transparent)));\n                OnFirstPreDraw.listen(contentView, () -> {\n                    float finalRadius = (float) (Math.max(contentView.getWidth(), contentView.getHeight()));\n                    final int duration = getResources().getInteger(android.R.integer.config_mediumAnimTime);\n                    sceneTransition = ViewAnimationUtils.createCircularReveal(contentView, x, y, 0, finalRadius);\n                    sceneTransition.setDuration(duration);\n                    sceneTransition.setInterpolator(new AccelerateInterpolator());\n                    // TODO Here, the transition should start in a paused state, showing the first frame\n                    // of the animation. Sadly, RevealAnimator doesn't seem to support this, unlike\n                    // (subclasses of) ValueAnimator.\n                    return false;\n                });\n            }\n        }\n    }\n\n    @Override\n    protected void onResume() {\n        super.onResume();\n\n        maybeOpenCamera();\n    }\n\n    @Override\n    protected void onPause() {\n        cameraHandler.post(closeRunnable);\n\n        super.onPause();\n    }\n\n    @Override\n    protected void onDestroy() {\n        // cancel background thread\n        cameraHandler.removeCallbacksAndMessages(null);\n        cameraThread.quit();\n\n        previewView.setSurfaceTextureListener(null);\n\n        // We're removing the requested orientation because if we don't, somehow the requested orientation is\n        // bleeding through to the calling activity, forcing it into a locked state until it is restarted.\n        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);\n        super.onDestroy();\n    }\n\n    @Override\n    public void onRequestPermissionsResult(final int requestCode, final String[] permissions,\n            final int[] grantResults) {\n        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {\n            maybeOpenCamera();\n        } else {\n            log.info(\"missing {}, showing error\", Manifest.permission.CAMERA);\n            viewModel.showPermissionWarnDialog.setValue(Event.simple());\n        }\n    }\n\n    private void maybeOpenCamera() {\n        if (surfaceCreated && ContextCompat.checkSelfPermission(this,\n                Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED)\n            cameraHandler.post(openRunnable);\n    }\n\n    @Override\n    public void onSurfaceTextureAvailable(final SurfaceTexture surface, final int width, final int height) {\n        surfaceCreated = true;\n        maybeOpenCamera();\n    }\n\n    @Override\n    public boolean onSurfaceTextureDestroyed(final SurfaceTexture surface) {\n        surfaceCreated = false;\n        return true;\n    }\n\n    @Override\n    public void onSurfaceTextureSizeChanged(final SurfaceTexture surface, final int width, final int height) {\n    }\n\n    @Override\n    public void onSurfaceTextureUpdated(final SurfaceTexture surface) {\n    }\n\n    @Override\n    public void onAttachedToWindow() {\n        setShowWhenLocked(true);\n    }\n\n    @Override\n    public void onBackPressed() {\n        scannerView.setVisibility(View.GONE);\n        setResult(RESULT_CANCELED);\n        finish();\n    }\n\n    @Override\n    public boolean onKeyDown(final int keyCode, final KeyEvent event) {\n        if (keyCode == KeyEvent.KEYCODE_FOCUS || keyCode == KeyEvent.KEYCODE_CAMERA) {\n            // don't launch camera app\n            return true;\n        } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) {\n            cameraHandler.post(() -> cameraManager.setTorch(keyCode == KeyEvent.KEYCODE_VOLUME_UP));\n            return true;\n        }\n        return super.onKeyDown(keyCode, event);\n    }\n\n    public void handleResult(final Result scanResult) {\n        vibrator.vibrate(VIBRATE_DURATION);\n\n        scannerView.setIsResult(true);\n\n        final Intent result = new Intent();\n        result.putExtra(INTENT_EXTRA_RESULT, scanResult.getText());\n        setResult(RESULT_OK, result);\n        postFinish();\n    }\n\n    private void postFinish() {\n        new Handler().postDelayed(() -> finish(), 50);\n    }\n\n    private final Runnable openRunnable = new Runnable() {\n        @Override\n        public void run() {\n            try {\n                final Camera camera = cameraManager.open(previewView, displayRotation());\n\n                final Rect framingRect = cameraManager.getFrame();\n                final RectF framingRectInPreview = new RectF(cameraManager.getFramePreview());\n                framingRectInPreview.offsetTo(0, 0);\n                final boolean cameraFlip = cameraManager.getFacing() == CameraInfo.CAMERA_FACING_FRONT;\n                final int cameraRotation = cameraManager.getOrientation();\n\n                runOnUiThread(() -> scannerView.setFraming(framingRect, framingRectInPreview, displayRotation(), cameraRotation,\n                        cameraFlip));\n\n                final String focusMode = camera.getParameters().getFocusMode();\n                final boolean nonContinuousAutoFocus = Camera.Parameters.FOCUS_MODE_AUTO.equals(focusMode)\n                        || Camera.Parameters.FOCUS_MODE_MACRO.equals(focusMode);\n\n                if (nonContinuousAutoFocus)\n                    cameraHandler.post(new AutoFocusRunnable(camera));\n                viewModel.maybeStartSceneTransition.postValue(Event.simple());\n                cameraHandler.post(fetchAndDecodeRunnable);\n            } catch (final Exception x) {\n                log.info(\"problem opening camera\", x);\n                viewModel.showProblemWarnDialog.postValue(Event.simple());\n            }\n        }\n\n        private int displayRotation() {\n            final int rotation = getWindowManager().getDefaultDisplay().getRotation();\n            if (rotation == Surface.ROTATION_0)\n                return 0;\n            else if (rotation == Surface.ROTATION_90)\n                return 90;\n            else if (rotation == Surface.ROTATION_180)\n                return 180;\n            else if (rotation == Surface.ROTATION_270)\n                return 270;\n            else\n                throw new IllegalStateException(\"rotation: \" + rotation);\n        }\n    };\n\n    private final Runnable closeRunnable = new Runnable() {\n        @Override\n        public void run() {\n            cameraHandler.removeCallbacksAndMessages(null);\n            cameraManager.close();\n        }\n    };\n\n    private final class AutoFocusRunnable implements Runnable {\n        private final Camera camera;\n\n        public AutoFocusRunnable(final Camera camera) {\n            this.camera = camera;\n        }\n\n        @Override\n        public void run() {\n            try {\n                camera.autoFocus(autoFocusCallback);\n            } catch (final Exception x) {\n                log.info(\"problem with auto-focus, will not schedule again\", x);\n            }\n        }\n\n        private final Camera.AutoFocusCallback autoFocusCallback = new Camera.AutoFocusCallback() {\n            @Override\n            public void onAutoFocus(final boolean success, final Camera camera) {\n                // schedule again\n                cameraHandler.postDelayed(AutoFocusRunnable.this, AUTO_FOCUS_INTERVAL_MS);\n            }\n        };\n    }\n\n    private final Runnable fetchAndDecodeRunnable = new Runnable() {\n        private final QRCodeReader reader = new QRCodeReader();\n        private final Map<DecodeHintType, Object> hints = new EnumMap<>(DecodeHintType.class);\n\n        @Override\n        public void run() {\n            cameraManager.requestPreviewFrame((data, camera) -> decode(data));\n        }\n\n        private void decode(final byte[] data) {\n            final PlanarYUVLuminanceSource source = cameraManager.buildLuminanceSource(data);\n            final BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));\n\n            try {\n                hints.put(DecodeHintType.NEED_RESULT_POINT_CALLBACK, (ResultPointCallback) dot -> runOnUiThread(() -> scannerView.addDot(dot)));\n                final Result scanResult = reader.decode(bitmap, hints);\n\n                runOnUiThread(() -> handleResult(scanResult));\n            } catch (final ReaderException x) {\n                // retry\n                cameraHandler.post(fetchAndDecodeRunnable);\n            } finally {\n                reader.reset();\n            }\n        }\n    };\n\n    public static class WarnDialogFragment extends DialogFragment {\n        private static final String FRAGMENT_TAG = WarnDialogFragment.class.getName();\n\n        public static void show(final FragmentManager fm, final int titleResId, final String message) {\n            final WarnDialogFragment newFragment = new WarnDialogFragment();\n            final Bundle args = new Bundle();\n            args.putInt(\"title\", titleResId);\n            args.putString(\"message\", message);\n            newFragment.setArguments(args);\n            newFragment.show(fm, FRAGMENT_TAG);\n        }\n\n        @Override\n        public Dialog onCreateDialog(final Bundle savedInstanceState) {\n            final Bundle args = getArguments();\n            final DialogBuilder dialog = DialogBuilder.warn(getActivity(), args.getInt(\"title\"), args.getString(\n                    \"message\"));\n            dialog.singleDismissButton((d, which) -> getActivity().finish());\n            return dialog.create();\n        }\n\n        @Override\n        public void onCancel(final DialogInterface dialog) {\n            getActivity().finish();\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/scan/ScanViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.scan;\n\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\nimport de.schildbach.wallet.ui.Event;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ScanViewModel extends ViewModel {\n    public final MutableLiveData<Event<Void>> showPermissionWarnDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> showProblemWarnDialog = new MutableLiveData<>();\n    public final MutableLiveData<Event<Void>> maybeStartSceneTransition = new MutableLiveData<>();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/scan/ScannerView.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.scan;\n\nimport android.content.Context;\nimport android.content.res.Resources;\nimport android.graphics.Canvas;\nimport android.graphics.Matrix;\nimport android.graphics.Matrix.ScaleToFit;\nimport android.graphics.Paint;\nimport android.graphics.Paint.Style;\nimport android.graphics.Rect;\nimport android.graphics.RectF;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport com.google.zxing.ResultPoint;\nimport de.schildbach.wallet.R;\n\nimport java.util.HashMap;\nimport java.util.Iterator;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ScannerView extends View {\n    private static final long LASER_ANIMATION_DELAY_MS = 100l;\n    private static final int DOT_OPACITY = 0xa0;\n    private static final int DOT_TTL_MS = 500;\n\n    private final Paint maskPaint;\n    private final Paint laserPaint;\n    private final Paint dotPaint;\n    private boolean isResult;\n    private final int maskColor, maskResultColor;\n    private final int laserColor;\n    private final int dotColor, dotResultColor;\n    private final Map<float[], Long> dots = new HashMap<>(16);\n    private Rect frame;\n    private final Matrix matrix = new Matrix();\n\n    public ScannerView(final Context context, final AttributeSet attrs) {\n        super(context, attrs);\n        final Resources res = getResources();\n\n        maskColor = context.getColor(R.color.scan_mask);\n        maskResultColor = context.getColor(R.color.scan_result_view);\n        laserColor = context.getColor(R.color.scan_laser);\n        dotColor = context.getColor(R.color.scan_dot);\n        dotResultColor = context.getColor(R.color.scan_result_dots);\n\n        maskPaint = new Paint();\n        maskPaint.setStyle(Style.FILL);\n\n        laserPaint = new Paint();\n        laserPaint.setStrokeWidth(res.getDimensionPixelSize(R.dimen.scan_laser_width));\n        laserPaint.setStyle(Style.STROKE);\n\n        dotPaint = new Paint();\n        dotPaint.setAlpha(DOT_OPACITY);\n        dotPaint.setStyle(Style.STROKE);\n        dotPaint.setStrokeWidth(res.getDimension(R.dimen.scan_dot_size));\n        dotPaint.setAntiAlias(true);\n    }\n\n    public void setFraming(final Rect frame, final RectF framePreview, final int displayRotation,\n            final int cameraRotation, final boolean cameraFlip) {\n        this.frame = frame;\n        matrix.setRectToRect(framePreview, new RectF(frame), ScaleToFit.FILL);\n        matrix.postRotate(-displayRotation, frame.exactCenterX(), frame.exactCenterY());\n        matrix.postScale(cameraFlip ? -1 : 1, 1, frame.exactCenterX(), frame.exactCenterY());\n        matrix.postRotate(cameraRotation, frame.exactCenterX(), frame.exactCenterY());\n\n        invalidate();\n    }\n\n    public void setIsResult(final boolean isResult) {\n        this.isResult = isResult;\n\n        invalidate();\n    }\n\n    public void addDot(final ResultPoint dot) {\n        dots.put(new float[] { dot.getX(), dot.getY() }, System.currentTimeMillis());\n\n        invalidate();\n    }\n\n    @Override\n    public void onDraw(final Canvas canvas) {\n        if (frame == null)\n            return;\n\n        final long now = System.currentTimeMillis();\n\n        final int width = getWidth();\n        final int height = getHeight();\n\n        final float[] point = new float[2];\n\n        // draw mask darkened\n        maskPaint.setColor(isResult ? maskResultColor : maskColor);\n        canvas.drawRect(0, 0, width, frame.top, maskPaint);\n        canvas.drawRect(0, frame.top, frame.left, frame.bottom + 1, maskPaint);\n        canvas.drawRect(frame.right + 1, frame.top, width, frame.bottom + 1, maskPaint);\n        canvas.drawRect(0, frame.bottom + 1, width, height, maskPaint);\n\n        if (isResult) {\n            laserPaint.setColor(dotResultColor);\n            laserPaint.setAlpha(160);\n\n            dotPaint.setColor(dotResultColor);\n        } else {\n            laserPaint.setColor(laserColor);\n            final boolean laserPhase = (now / 600) % 2 == 0;\n            laserPaint.setAlpha(laserPhase ? 160 : 255);\n\n            dotPaint.setColor(dotColor);\n\n            // schedule redraw\n            postInvalidateDelayed(LASER_ANIMATION_DELAY_MS);\n        }\n\n        canvas.drawRect(frame, laserPaint);\n\n        // draw points\n        for (final Iterator<Map.Entry<float[], Long>> i = dots.entrySet().iterator(); i.hasNext();) {\n            final Map.Entry<float[], Long> entry = i.next();\n            final long age = now - entry.getValue();\n            if (age < DOT_TTL_MS) {\n                dotPaint.setAlpha((int) ((DOT_TTL_MS - age) * 256 / DOT_TTL_MS));\n\n                matrix.mapPoints(point, entry.getKey());\n                canvas.drawPoint(point[0], point[1], dotPaint);\n            } else {\n                i.remove();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/DecodePrivateKeyTask.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.os.Handler;\nimport android.os.Looper;\nimport org.bitcoinj.core.ECKey;\nimport org.bitcoinj.crypto.BIP38PrivateKey;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class DecodePrivateKeyTask {\n    private final Handler backgroundHandler;\n    private final Handler callbackHandler;\n\n    public DecodePrivateKeyTask(final Handler backgroundHandler) {\n        this.backgroundHandler = backgroundHandler;\n        this.callbackHandler = new Handler(Looper.myLooper());\n    }\n\n    public final void decodePrivateKey(final BIP38PrivateKey encryptedKey, final String passphrase) {\n        backgroundHandler.post(() -> {\n            try {\n                final ECKey decryptedKey = encryptedKey.decrypt(passphrase); // takes time\n\n                callbackHandler.post(() -> onSuccess(decryptedKey));\n            } catch (final BIP38PrivateKey.BadPassphraseException x) {\n                callbackHandler.post(() -> onBadPassphrase());\n            }\n        });\n    }\n\n    protected abstract void onSuccess(ECKey decryptedKey);\n\n    protected abstract void onBadPassphrase();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/DeriveKeyTask.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.os.Handler;\nimport android.os.Looper;\nimport de.schildbach.wallet.Constants;\nimport org.bitcoinj.crypto.KeyCrypter;\nimport org.bitcoinj.crypto.KeyCrypterException;\nimport org.bitcoinj.crypto.KeyCrypterScrypt;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bouncycastle.crypto.params.KeyParameter;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport static androidx.core.util.Preconditions.checkNotNull;\nimport static androidx.core.util.Preconditions.checkState;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class DeriveKeyTask {\n    private final Handler backgroundHandler;\n    private final Handler callbackHandler;\n    private final int scryptIterationsTarget;\n\n    private static final Logger log = LoggerFactory.getLogger(DeriveKeyTask.class);\n\n    public DeriveKeyTask(final Handler backgroundHandler, final int scryptIterationsTarget) {\n        this.backgroundHandler = backgroundHandler;\n        this.callbackHandler = new Handler(Looper.myLooper());\n        this.scryptIterationsTarget = scryptIterationsTarget;\n    }\n\n    public final void deriveKey(final Wallet wallet, final String password) {\n        checkState(wallet.isEncrypted());\n        final KeyCrypter keyCrypter = checkNotNull(wallet.getKeyCrypter());\n\n        backgroundHandler.post(() -> {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n\n            // Key derivation takes time.\n            KeyParameter key = keyCrypter.deriveKey(password);\n            boolean wasChanged = false;\n\n            // If the key isn't derived using the desired parameters, derive a new key.\n            if (keyCrypter instanceof KeyCrypterScrypt) {\n                final long scryptIterations = ((KeyCrypterScrypt) keyCrypter).getScryptParameters().getN();\n\n                if (scryptIterations != scryptIterationsTarget) {\n                    log.info(\"upgrading scrypt iterations from {} to {}; re-encrypting wallet\", scryptIterations,\n                            scryptIterationsTarget);\n\n                    final KeyCrypterScrypt newKeyCrypter = new KeyCrypterScrypt(scryptIterationsTarget);\n                    final KeyParameter newKey = newKeyCrypter.deriveKey(password);\n\n                    // Re-encrypt wallet with new key.\n                    try {\n                        wallet.changeEncryptionKey(newKeyCrypter, key, newKey);\n                        key = newKey;\n                        wasChanged = true;\n                        log.info(\"scrypt upgrade succeeded\");\n                    } catch (final KeyCrypterException x) {\n                        log.info(\"scrypt upgrade failed: {}\", x.getMessage());\n                    }\n                }\n            }\n\n            // Hand back the (possibly changed) encryption key.\n            final KeyParameter keyToReturn = key;\n            final boolean keyToReturnWasChanged = wasChanged;\n            callbackHandler.post(() -> onSuccess(keyToReturn, keyToReturnWasChanged));\n        });\n    }\n\n    protected abstract void onSuccess(KeyParameter encryptionKey, boolean changed);\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/FeeCategory.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\n/**\n * @author Andreas Schildbach\n */\npublic enum FeeCategory {\n    /**\n     * We don't care when it confirms, but it should confirm at some time. Can be days or weeks.\n     */\n    ECONOMIC,\n\n    /**\n     * Under normal network conditions, confirms within the next 15 minutes. Can take longer, but this should\n     * be an exception. And it should not take days or weeks.\n     */\n    NORMAL,\n\n    /**\n     * Confirms within the next 15 minutes.\n     */\n    PRIORITY\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/MaintenanceDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.app.AlertDialog;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.graphics.Typeface;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Process;\nimport android.text.Editable;\nimport android.text.TextWatcher;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport com.google.common.util.concurrent.ListenableFuture;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.crypto.KeyCrypterException;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.wallet.DeterministicUpgradeRequiresPassword;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bouncycastle.crypto.params.KeyParameter;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Collections;\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic class MaintenanceDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = MaintenanceDialogFragment.class.getName();\n\n    public static void show(final FragmentManager fm) {\n        Fragment fragment = fm.findFragmentByTag(FRAGMENT_TAG);\n        if (fragment == null) {\n            fragment = new MaintenanceDialogFragment();\n            fm.beginTransaction().add(fragment, FRAGMENT_TAG).commit();\n        }\n    }\n\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Wallet wallet;\n\n    @Nullable\n    private AlertDialog dialog;\n\n    private View passwordGroup;\n    private EditText passwordView;\n    private View badPasswordView;\n    private Button positiveButton, negativeButton;\n\n    private Handler handler = new Handler();\n    private HandlerThread backgroundThread;\n    private Handler backgroundHandler;\n\n    private enum State {\n        INPUT, DECRYPTING, DONE\n    }\n\n    private State state = State.INPUT;\n\n    private static final Logger log = LoggerFactory.getLogger(MaintenanceDialogFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.wallet = application.getWallet();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n\n        backgroundThread = new HandlerThread(\"backgroundThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        backgroundThread.start();\n        backgroundHandler = new Handler(backgroundThread.getLooper());\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final View view = LayoutInflater.from(activity).inflate(R.layout.maintenance_dialog, null);\n\n        Coin value = Coin.ZERO;\n        Coin fee = Coin.ZERO;\n        for (final Transaction tx : determineMaintenanceTransactions()) {\n            value = value.add(tx.getValueSentFromMe(wallet));\n            fee = fee.add(tx.getFee());\n        }\n        final TextView messageView = view.findViewById(R.id.maintenance_dialog_message);\n        final MonetaryFormat format = application.getConfiguration().getFormat();\n        messageView.setText(getString(R.string.maintenance_dialog_message, format.format(value), format.format(fee)));\n\n        passwordGroup = view.findViewById(R.id.maintenance_dialog_password_group);\n\n        passwordView = view.findViewById(R.id.maintenance_dialog_password);\n        passwordView.setText(null);\n\n        badPasswordView = view.findViewById(R.id.maintenance_dialog_bad_password);\n\n        final DialogBuilder builder = DialogBuilder.custom(activity, R.string.maintenance_dialog_title, view);\n        // dummies, just to make buttons show\n        builder.setPositiveButton(R.string.maintenance_dialog_button_move, null);\n        builder.setNegativeButton(R.string.button_dismiss, null);\n        builder.setCancelable(false);\n\n        final AlertDialog dialog = builder.create();\n        dialog.setCanceledOnTouchOutside(false);\n\n        dialog.setOnShowListener(d -> {\n            positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);\n            negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);\n\n            positiveButton.setTypeface(Typeface.DEFAULT_BOLD);\n            positiveButton.setOnClickListener(v -> {\n                log.info(\"user decided to do maintenance\");\n                handleGo();\n            });\n            negativeButton.setOnClickListener(v -> {\n                log.info(\"user decided to dismiss\");\n                dismissAllowingStateLoss();\n            });\n\n            passwordView.addTextChangedListener(textWatcher);\n\n            MaintenanceDialogFragment.this.dialog = dialog;\n            updateView();\n        });\n\n        log.info(\"showing maintenance dialog\");\n\n        return dialog;\n    }\n\n    @Override\n    public void onResume() {\n        super.onResume();\n\n        updateView();\n    }\n\n    @Override\n    public void onDismiss(final DialogInterface dialog) {\n        this.dialog = null;\n\n        wipePasswords();\n\n        super.onDismiss(dialog);\n    }\n\n    @Override\n    public void onDestroy() {\n        backgroundThread.getLooper().quit();\n\n        super.onDestroy();\n    }\n\n    private void handleGo() {\n        state = State.DECRYPTING;\n        updateView();\n\n        if (wallet.isEncrypted()) {\n            new DeriveKeyTask(backgroundHandler, application.scryptIterationsTarget()) {\n                @Override\n                protected void onSuccess(final KeyParameter encryptionKey, final boolean wasChanged) {\n                    if (wasChanged)\n                        WalletUtils.autoBackupWallet(activity, wallet);\n                    doMaintenance(encryptionKey);\n                }\n            }.deriveKey(wallet, passwordView.getText().toString().trim());\n\n            updateView();\n        } else {\n            doMaintenance(null);\n        }\n    }\n\n    private void doMaintenance(final KeyParameter encryptionKey) {\n        backgroundHandler.post(() -> {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n\n            try {\n                wallet.doMaintenance(encryptionKey, true);\n\n                handler.post(() -> {\n                    state = State.DONE;\n                    updateView();\n\n                    delayedDismiss();\n                });\n            } catch (final KeyCrypterException x) {\n                handler.post(() -> {\n                    badPasswordView.setVisibility(View.VISIBLE);\n\n                    state = State.INPUT;\n                    updateView();\n\n                    passwordView.requestFocus();\n\n                    log.info(\"bad spending password\");\n                });\n            }\n        });\n    }\n\n    private void delayedDismiss() {\n        handler.postDelayed(() -> dismiss(), 2000);\n    }\n\n    private void wipePasswords() {\n        passwordView.setText(null);\n    }\n\n    private void updateView() {\n        if (dialog == null)\n            return;\n\n        final boolean needsPassword = wallet.isEncrypted();\n        passwordGroup.setVisibility(needsPassword ? View.VISIBLE : View.GONE);\n\n        if (state == State.INPUT) {\n            positiveButton.setText(R.string.maintenance_dialog_button_move);\n            positiveButton.setEnabled(!needsPassword || passwordView.getText().toString().trim().length() > 0);\n            negativeButton.setEnabled(true);\n        } else if (state == State.DECRYPTING) {\n            positiveButton.setText(R.string.maintenance_dialog_state_decrypting);\n            positiveButton.setEnabled(false);\n            negativeButton.setEnabled(false);\n        } else if (state == State.DONE) {\n            positiveButton.setText(R.string.maintenance_dialog_state_done);\n            positiveButton.setEnabled(false);\n            negativeButton.setEnabled(false);\n        }\n    }\n\n    private List<Transaction> determineMaintenanceTransactions() {\n        try {\n            final ListenableFuture<List<Transaction>> result = wallet.doMaintenance(null, false);\n            return result.get();\n        } catch (final DeterministicUpgradeRequiresPassword x) {\n            return Collections.emptyList();\n        } catch (final Exception x) {\n            throw new RuntimeException(x);\n        }\n    }\n\n    private final TextWatcher textWatcher = new TextWatcher() {\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n            badPasswordView.setVisibility(View.INVISIBLE);\n            updateView();\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n        }\n    };\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/RaiseFeeDialogFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.app.AlertDialog;\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.graphics.Typeface;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Process;\nimport android.text.Editable;\nimport android.text.TextWatcher;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.DialogFragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.AbstractWalletActivityViewModel;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionOutput;\nimport org.bitcoinj.crypto.KeyCrypterException;\nimport org.bitcoinj.wallet.KeyChain.KeyPurpose;\nimport org.bitcoinj.wallet.SendRequest;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bouncycastle.crypto.params.KeyParameter;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport static androidx.core.util.Preconditions.checkNotNull;\n\n/**\n * @author Andreas Schildbach\n */\npublic class RaiseFeeDialogFragment extends DialogFragment {\n    private static final String FRAGMENT_TAG = RaiseFeeDialogFragment.class.getName();\n    private static final String KEY_TRANSACTION = \"transaction\";\n\n    public static void show(final FragmentManager fm, final Sha256Hash transactionId) {\n        final DialogFragment newFragment = instance(transactionId);\n        newFragment.show(fm, FRAGMENT_TAG);\n    }\n\n    private static RaiseFeeDialogFragment instance(final Sha256Hash transactionId) {\n        final RaiseFeeDialogFragment fragment = new RaiseFeeDialogFragment();\n\n        final Bundle args = new Bundle();\n        args.putByteArray(KEY_TRANSACTION, transactionId.getBytes());\n        fragment.setArguments(args);\n\n        return fragment;\n    }\n\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n\n    @Nullable\n    private Coin feeRaise = null;\n    @Nullable\n    private Transaction transaction = null;\n\n    @Nullable\n    private AlertDialog dialog;\n\n    private TextView messageView;\n    private View passwordGroup;\n    private EditText passwordView;\n    private View badPasswordView;\n    private Button positiveButton, negativeButton;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private RaiseFeeViewModel viewModel;\n\n    private HandlerThread backgroundThread;\n    private Handler backgroundHandler;\n\n    private enum State {\n        INPUT, DECRYPTING, DONE\n    }\n\n    private State state = State.INPUT;\n\n    private static final Logger log = LoggerFactory.getLogger(RaiseFeeDialogFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"opening dialog {}\", getClass().getName());\n\n        walletActivityViewModel = new ViewModelProvider(activity).get(AbstractWalletActivityViewModel.class);\n        walletActivityViewModel.wallet.observe(this, wallet -> {\n            final Bundle args = getArguments();\n            transaction = checkNotNull(wallet.getTransaction(Sha256Hash.wrap(args.getByteArray(KEY_TRANSACTION))));\n            updateView();\n\n            viewModel.getDynamicFees().observe(this, dynamicFees -> {\n                // We basically have to pay fee for two transactions:\n                // The transaction to raise the fee of and the CPFP transaction we're about to create.\n                final int size = transaction.getMessageSize() + 192;\n                feeRaise = dynamicFees.get(FeeCategory.PRIORITY).multiply(size).divide(1000);\n                updateView();\n            });\n        });\n        viewModel = new ViewModelProvider(this).get(RaiseFeeViewModel.class);\n\n        backgroundThread = new HandlerThread(\"backgroundThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        backgroundThread.start();\n        backgroundHandler = new Handler(backgroundThread.getLooper());\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n        final View view = LayoutInflater.from(activity).inflate(R.layout.raise_fee_dialog, null);\n\n        messageView = view.findViewById(R.id.raise_fee_dialog_message);\n\n        passwordGroup = view.findViewById(R.id.raise_fee_dialog_password_group);\n\n        passwordView = view.findViewById(R.id.raise_fee_dialog_password);\n        passwordView.setText(null);\n\n        badPasswordView = view.findViewById(R.id.raise_fee_dialog_bad_password);\n\n        final DialogBuilder builder = DialogBuilder.custom(activity, R.string.raise_fee_dialog_title, view);\n        // dummies, just to make buttons show\n        builder.setPositiveButton(R.string.raise_fee_dialog_button_raise, null);\n        builder.setNegativeButton(R.string.button_dismiss, null);\n        builder.setCancelable(false);\n\n        final AlertDialog dialog = builder.create();\n        dialog.setCanceledOnTouchOutside(false);\n\n        dialog.setOnShowListener(d -> {\n            positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);\n            negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);\n\n            positiveButton.setTypeface(Typeface.DEFAULT_BOLD);\n            positiveButton.setOnClickListener(v -> handleGo());\n            negativeButton.setOnClickListener(v -> dismissAllowingStateLoss());\n\n            passwordView.addTextChangedListener(textWatcher);\n\n            RaiseFeeDialogFragment.this.dialog = dialog;\n            updateView();\n        });\n\n        log.info(\"showing raise fee dialog\");\n\n        return dialog;\n    }\n\n    @Override\n    public void onDismiss(final DialogInterface dialog) {\n        this.dialog = null;\n\n        wipePasswords();\n\n        super.onDismiss(dialog);\n    }\n\n    @Override\n    public void onDestroy() {\n        backgroundThread.getLooper().quit();\n\n        super.onDestroy();\n    }\n\n    private void handleGo() {\n        state = State.DECRYPTING;\n        updateView();\n\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n\n        if (wallet.isEncrypted()) {\n            new DeriveKeyTask(backgroundHandler, application.scryptIterationsTarget()) {\n                @Override\n                protected void onSuccess(final KeyParameter encryptionKey, final boolean wasChanged) {\n                    if (wasChanged)\n                        WalletUtils.autoBackupWallet(activity, wallet);\n                    doRaiseFee(wallet, encryptionKey);\n                }\n            }.deriveKey(wallet, passwordView.getText().toString().trim());\n\n            updateView();\n        } else {\n            doRaiseFee(wallet, null);\n        }\n    }\n\n    private void doRaiseFee(final Wallet wallet, final KeyParameter encryptionKey) {\n        // construct child-pays-for-parent\n        final TransactionOutput outputToSpend = checkNotNull(findSpendableOutput(wallet, transaction, feeRaise));\n        final Transaction transactionToSend = new Transaction(Constants.NETWORK_PARAMETERS);\n        transactionToSend.addInput(outputToSpend);\n        transactionToSend.addOutput(outputToSpend.getValue().subtract(feeRaise),\n                wallet.freshAddress(KeyPurpose.CHANGE));\n        transactionToSend.setPurpose(Transaction.Purpose.RAISE_FEE);\n\n        final SendRequest sendRequest = SendRequest.forTx(transactionToSend);\n        sendRequest.aesKey = encryptionKey;\n\n        try {\n            wallet.signTransaction(sendRequest);\n\n            log.info(\"raise fee: cpfp {}\", transactionToSend);\n\n            walletActivityViewModel.broadcastTransaction(transactionToSend);\n\n            state = State.DONE;\n            updateView();\n\n            dismiss();\n        } catch (final KeyCrypterException x) {\n            badPasswordView.setVisibility(View.VISIBLE);\n\n            state = State.INPUT;\n            updateView();\n\n            passwordView.requestFocus();\n\n            log.info(\"raise fee: bad spending password\");\n        }\n    }\n\n    private void wipePasswords() {\n        passwordView.setText(null);\n    }\n\n    private void updateView() {\n        if (dialog == null)\n            return;\n\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        final boolean needsPassword = wallet != null && wallet.isEncrypted();\n\n        if (wallet == null || transaction == null || feeRaise == null) {\n            messageView.setText(R.string.raise_fee_dialog_determining_fee);\n            passwordGroup.setVisibility(View.GONE);\n        } else if (findSpendableOutput(wallet, transaction, feeRaise) == null) {\n            messageView.setText(R.string.raise_fee_dialog_cant_raise);\n            passwordGroup.setVisibility(View.GONE);\n        } else {\n            messageView.setText(getString(R.string.raise_fee_dialog_message, config.getFormat().format(feeRaise)));\n            passwordGroup.setVisibility(needsPassword ? View.VISIBLE : View.GONE);\n        }\n\n        if (state == State.INPUT) {\n            positiveButton.setText(R.string.raise_fee_dialog_button_raise);\n            positiveButton.setEnabled((!needsPassword || passwordView.getText().toString().trim().length() > 0)\n                    && wallet != null && transaction != null && feeRaise != null && findSpendableOutput(wallet,\n                    transaction, feeRaise) != null);\n            negativeButton.setEnabled(true);\n        } else if (state == State.DECRYPTING) {\n            positiveButton.setText(R.string.raise_fee_dialog_state_decrypting);\n            positiveButton.setEnabled(false);\n            negativeButton.setEnabled(false);\n        } else if (state == State.DONE) {\n            positiveButton.setText(R.string.raise_fee_dialog_state_done);\n            positiveButton.setEnabled(false);\n            negativeButton.setEnabled(false);\n        }\n    }\n\n    private final TextWatcher textWatcher = new TextWatcher() {\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n            badPasswordView.setVisibility(View.INVISIBLE);\n            updateView();\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n        }\n    };\n\n    public static boolean feeCanLikelyBeRaised(final Wallet wallet, final Transaction transaction) {\n        if (transaction.getConfidence().getDepthInBlocks() > 0)\n            return false;\n\n        if (WalletUtils.isPayToManyTransaction(transaction))\n            return false;\n\n        // We don't know dynamic fees here, so we need to guess.\n        if (findSpendableOutput(wallet, transaction, Transaction.DEFAULT_TX_FEE) == null)\n            return false;\n\n        return true;\n    }\n\n    private static @Nullable TransactionOutput findSpendableOutput(final Wallet wallet, final Transaction transaction,\n            final Coin minimumOutputValue) {\n        for (final TransactionOutput output : transaction.getOutputs()) {\n            if (output.isMine(wallet) && output.isAvailableForSpending()\n                    && output.getValue().isGreaterThan(minimumOutputValue))\n                return output;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/RaiseFeeViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.app.Application;\nimport androidx.lifecycle.AndroidViewModel;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.DynamicFeeLiveData;\n\n/**\n * @author Andreas Schildbach\n */\npublic class RaiseFeeViewModel extends AndroidViewModel {\n    private final WalletApplication application;\n    private DynamicFeeLiveData dynamicFees;\n\n    public RaiseFeeViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n    }\n\n    public DynamicFeeLiveData getDynamicFees() {\n        if (dynamicFees == null)\n            dynamicFees = new DynamicFeeLiveData(application);\n        return dynamicFees;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/RequestPaymentRequestTask.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.bluetooth.BluetoothAdapter;\nimport android.bluetooth.BluetoothDevice;\nimport android.bluetooth.BluetoothSocket;\nimport android.os.Handler;\nimport android.os.Looper;\nimport androidx.annotation.Nullable;\nimport com.google.protobuf.CodedInputStream;\nimport com.google.protobuf.CodedOutputStream;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.ui.InputParser;\nimport de.schildbach.wallet.util.Bluetooth;\nimport okhttp3.CacheControl;\nimport okhttp3.Call;\nimport okhttp3.Headers;\nimport okhttp3.Request;\nimport okhttp3.Response;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class RequestPaymentRequestTask {\n    private final Handler backgroundHandler;\n    private final Handler callbackHandler;\n    private final ResultCallback resultCallback;\n\n    private static final Logger log = LoggerFactory.getLogger(RequestPaymentRequestTask.class);\n\n    public interface ResultCallback {\n        void onPaymentIntent(PaymentIntent paymentIntent);\n\n        void onFail(int messageResId, Object... messageArgs);\n    }\n\n    public RequestPaymentRequestTask(final Handler backgroundHandler, final ResultCallback resultCallback) {\n        this.backgroundHandler = backgroundHandler;\n        this.callbackHandler = new Handler(Looper.myLooper());\n        this.resultCallback = resultCallback;\n    }\n\n    public final static class HttpRequestTask extends RequestPaymentRequestTask {\n        @Nullable\n        private final String userAgent;\n\n        public HttpRequestTask(final Handler backgroundHandler, final ResultCallback resultCallback,\n                @Nullable final String userAgent) {\n            super(backgroundHandler, resultCallback);\n\n            this.userAgent = userAgent;\n        }\n\n        @Override\n        public void requestPaymentRequest(final String url) {\n            super.backgroundHandler.post(() -> {\n                log.info(\"trying to request payment request from {}\", url);\n\n                final Request.Builder request = new Request.Builder();\n                request.url(url);\n                request.cacheControl(new CacheControl.Builder().noCache().build());\n                final Headers.Builder headers = new Headers.Builder();\n                headers.add(\"Accept\", PaymentProtocol.MIMETYPE_PAYMENTREQUEST);\n                if (userAgent != null)\n                    headers.add(\"User-Agent\", userAgent);\n                request.headers(headers.build());\n\n                final Call call = Constants.HTTP_CLIENT.newCall(request.build());\n                try {\n                    final Response response = call.execute();\n                    if (response.isSuccessful()) {\n                        final String contentType = response.header(\"Content-Type\");\n                        final InputStream is = response.body().byteStream();\n                        new InputParser.StreamInputParser(contentType, is) {\n                            @Override\n                            protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                                log.info(\"received {} via http\", paymentIntent);\n\n                                onPaymentIntent(paymentIntent);\n                            }\n\n                            @Override\n                            protected void error(final int messageResId, final Object... messageArgs) {\n                                onFail(messageResId, messageArgs);\n                            }\n                        }.parse();\n                        is.close();\n                    } else {\n                        final int responseCode = response.code();\n                        final String responseMessage = response.message();\n\n                        log.info(\"got http error {}: {}\", responseCode, responseMessage);\n                        onFail(R.string.error_http, responseCode, responseMessage);\n                    }\n                } catch (final IOException x) {\n                    log.info(\"problem sending\", x);\n\n                    onFail(R.string.error_io, x.getMessage());\n                }\n            });\n        }\n    }\n\n    public final static class BluetoothRequestTask extends RequestPaymentRequestTask {\n        private final BluetoothAdapter bluetoothAdapter;\n\n        public BluetoothRequestTask(final Handler backgroundHandler, final ResultCallback resultCallback,\n                final BluetoothAdapter bluetoothAdapter) {\n            super(backgroundHandler, resultCallback);\n\n            this.bluetoothAdapter = bluetoothAdapter;\n        }\n\n        @Override\n        public void requestPaymentRequest(final String url) {\n            super.backgroundHandler.post(() -> {\n                log.info(\"trying to request payment request from {}\", url);\n\n                final BluetoothDevice device = bluetoothAdapter\n                        .getRemoteDevice(Bluetooth.decompressMac(Bluetooth.getBluetoothMac(url)));\n\n                try (final BluetoothSocket socket = device\n                        .createInsecureRfcommSocketToServiceRecord(Bluetooth.PAYMENT_REQUESTS_UUID);\n                        final OutputStream os = socket.getOutputStream();\n                        final InputStream is = socket.getInputStream()) {\n                    socket.connect();\n\n                    log.info(\"connected to {}\", url);\n\n                    final CodedInputStream cis = CodedInputStream.newInstance(is);\n                    final CodedOutputStream cos = CodedOutputStream.newInstance(os);\n\n                    cos.writeInt32NoTag(0);\n                    cos.writeStringNoTag(Bluetooth.getBluetoothQuery(url));\n                    cos.flush();\n\n                    final int responseCode = cis.readInt32();\n\n                    if (responseCode == 200) {\n                        new InputParser.BinaryInputParser(PaymentProtocol.MIMETYPE_PAYMENTREQUEST,\n                                cis.readBytes().toByteArray()) {\n                            @Override\n                            protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                                log.info(\"received {} via bluetooth\", paymentIntent);\n\n                                onPaymentIntent(paymentIntent);\n                            }\n\n                            @Override\n                            protected void error(final int messageResId, final Object... messageArgs) {\n                                onFail(messageResId, messageArgs);\n                            }\n                        }.parse();\n                    } else {\n                        log.info(\"got bluetooth error {}\", responseCode);\n\n                        onFail(R.string.error_bluetooth, responseCode);\n                    }\n                } catch (final IOException x) {\n                    log.info(\"problem sending\", x);\n\n                    onFail(R.string.error_io, x.getMessage());\n                }\n            });\n        }\n    }\n\n    public abstract void requestPaymentRequest(String url);\n\n    protected void onPaymentIntent(final PaymentIntent paymentIntent) {\n        callbackHandler.post(() -> resultCallback.onPaymentIntent(paymentIntent));\n    }\n\n    protected void onFail(final int messageResId, final Object... messageArgs) {\n        callbackHandler.post(() -> resultCallback.onFail(messageResId, messageArgs));\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/RequestWalletBalanceTask.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.content.res.AssetManager;\nimport android.os.Handler;\nimport android.os.Looper;\nimport androidx.annotation.Nullable;\nimport com.google.common.base.Splitter;\nimport com.google.common.base.Strings;\nimport com.google.common.collect.HashMultiset;\nimport com.google.common.collect.Multiset;\nimport com.google.common.hash.Hashing;\nimport com.squareup.moshi.JsonAdapter;\nimport com.squareup.moshi.JsonDataException;\nimport com.squareup.moshi.Moshi;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.util.Assets;\nimport okhttp3.Call;\nimport okhttp3.HttpUrl;\nimport okhttp3.Request;\nimport okhttp3.Response;\nimport okio.BufferedSink;\nimport okio.BufferedSource;\nimport okio.Okio;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.ECKey;\nimport org.bitcoinj.core.LegacyAddress;\nimport org.bitcoinj.core.SegwitAddress;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.UTXO;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.script.ScriptBuilder;\nimport org.bitcoinj.utils.ContextPropagatingThreadFactory;\nimport org.bouncycastle.util.encoders.Hex;\nimport org.json.JSONArray;\nimport org.json.JSONException;\nimport org.json.JSONObject;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport javax.net.SocketFactory;\nimport javax.net.ssl.HttpsURLConnection;\nimport javax.net.ssl.SSLContext;\nimport javax.net.ssl.SSLPeerUnverifiedException;\nimport javax.net.ssl.SSLSession;\nimport javax.net.ssl.SSLSocket;\nimport javax.net.ssl.SSLSocketFactory;\nimport javax.net.ssl.TrustManager;\nimport javax.net.ssl.X509TrustManager;\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.net.ConnectException;\nimport java.net.InetSocketAddress;\nimport java.net.Socket;\nimport java.nio.charset.StandardCharsets;\nimport java.security.cert.Certificate;\nimport java.security.cert.CertificateException;\nimport java.security.cert.X509Certificate;\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.HashSet;\nimport java.util.Iterator;\nimport java.util.LinkedList;\nimport java.util.List;\nimport java.util.Locale;\nimport java.util.Random;\nimport java.util.Set;\nimport java.util.concurrent.Callable;\nimport java.util.concurrent.ExecutionException;\nimport java.util.concurrent.ExecutorService;\nimport java.util.concurrent.Executors;\nimport java.util.concurrent.Future;\nimport java.util.concurrent.TimeUnit;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class RequestWalletBalanceTask {\n    private final Handler backgroundHandler;\n    private final Handler callbackHandler;\n    private final ResultCallback resultCallback;\n\n    private static final Logger log = LoggerFactory.getLogger(RequestWalletBalanceTask.class);\n\n    public interface ResultCallback {\n        void onResult(Set<UTXO> utxos);\n\n        void onFail(int messageResId, Object... messageArgs);\n    }\n\n    public RequestWalletBalanceTask(final Handler backgroundHandler, final ResultCallback resultCallback) {\n        this.backgroundHandler = backgroundHandler;\n        this.callbackHandler = new Handler(Looper.myLooper());\n        this.resultCallback = resultCallback;\n    }\n\n    public void requestWalletBalance(final AssetManager assets, final ECKey key) {\n        backgroundHandler.post(() -> {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n\n            final Address legacyAddress = LegacyAddress.fromKey(Constants.NETWORK_PARAMETERS, key);\n            final String addressesStr;\n            // DOGE: No segwit for now\n            /*if (key.isCompressed()) {\n                final Address segwitAddress = SegwitAddress.fromKey(Constants.NETWORK_PARAMETERS, key);\n                addressesStr = legacyAddress.toString() + \",\" + segwitAddress.toString();\n            } else {*/\n                addressesStr = legacyAddress.toString();\n            //}\n\n            // Use either dogechain or chain.so\n            List<String> urls = new ArrayList<>(2);\n            urls.add(Constants.BLOCKCYPHER_API_URL);\n            //urls.add(Constants.DOGECHAIN_API_URL); // Seems unreliable too now\n            //urls.add(Constants.CHAINSO_API_URL); // inactive for now\n            Collections.shuffle(urls, new Random(System.nanoTime()));\n\n            final StringBuilder url = new StringBuilder(urls.get(0));\n            url.append(addressesStr);\n\n            log.debug(\"trying to request wallet balance from {}\", url);\n\n            final Request.Builder request = new Request.Builder();\n            request.url(HttpUrl.parse(url.toString()).newBuilder().encodedQuery(\"unspentOnly=true&includeScript=true\").build());\n\n            final Call call = Constants.HTTP_CLIENT.newCall(request.build());\n\n            try {\n                final Response response = call.execute();\n                if (response.isSuccessful()) {\n                    String content = response.body().string();\n                    final JSONObject json = new JSONObject(content);\n                    final JSONArray jsonOutputs = json.optJSONArray(\"txrefs\");\n\n                    final Set<UTXO> utxoSet = new HashSet<>();\n                    if (jsonOutputs == null) {\n                        onResult(utxoSet);\n                        return;\n                    }\n\n                    for (int i = 0; i < jsonOutputs.length(); i++) {\n                        final JSONObject jsonOutput = jsonOutputs.getJSONObject(i);\n\n                        final Sha256Hash utxoHash = Sha256Hash.wrap(jsonOutput.getString(\"tx_hash\"));\n                        final int utxoIndex = jsonOutput.getInt(\"tx_output_n\");\n                        final byte[] utxoScriptBytes = Hex.decode(jsonOutput.getString(\"script\"));\n                        final Coin uxtutx = Coin.valueOf(Long.parseLong(jsonOutput.getString(\"value\")));\n\n                        UTXO utxo = new UTXO(utxoHash, utxoIndex, uxtutx, -1, false, new Script(utxoScriptBytes));\n                        utxoSet.add(utxo);\n                    }\n\n                    log.info(\"fetched unspent outputs from {}\", url);\n                    onResult(utxoSet);\n                } else {\n                    final String responseMessage = response.message();\n                    log.info(\"got http error '{}: {}' from {}\", response.code(), responseMessage, url);\n                    onFail(R.string.error_http, response.code(), responseMessage);\n                }\n            } catch (final JSONException x) {\n                log.info(\"problem parsing json from \" + url, x);\n                onFail(R.string.error_parse, x.getMessage());\n            } catch (final IOException x) {\n                log.info(\"problem querying unspent outputs from \" + url, x);\n                onFail(R.string.error_io, x.getMessage());\n            }\n        });\n    }\n\n    protected void onResult(final Set<UTXO> utxos) {\n        callbackHandler.post(() -> resultCallback.onResult(utxos));\n    }\n\n    protected void onFail(final int messageResId, final Object... messageArgs) {\n        callbackHandler.post(() -> resultCallback.onFail(messageResId, messageArgs));\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SendCoinsActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport androidx.annotation.Nullable;\nimport androidx.lifecycle.ViewModelProvider;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.service.BlockchainService;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.Event;\nimport de.schildbach.wallet.ui.HelpDialogFragment;\nimport org.bitcoinj.core.Coin;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class SendCoinsActivity extends AbstractWalletActivity {\n    public static final String INTENT_EXTRA_PAYMENT_INTENT = \"payment_intent\";\n    public static final String INTENT_EXTRA_FEE_CATEGORY = \"fee_category\";\n\n    private static final Logger log = LoggerFactory.getLogger(SendCoinsActivity.class);\n\n    public static void start(final Context context, final PaymentIntent paymentIntent,\n            final @Nullable FeeCategory feeCategory, final int intentFlags) {\n        final Intent intent = new Intent(context, SendCoinsActivity.class);\n        intent.putExtra(INTENT_EXTRA_PAYMENT_INTENT, paymentIntent);\n        if (feeCategory != null)\n            intent.putExtra(INTENT_EXTRA_FEE_CATEGORY, feeCategory);\n        if (intentFlags != 0)\n            intent.setFlags(intentFlags);\n        context.startActivity(intent);\n    }\n\n    public static void start(final Context context, final PaymentIntent paymentIntent) {\n        start(context, paymentIntent, null, 0);\n    }\n\n    public static void startDonate(final Context context, final Coin amount, final @Nullable FeeCategory feeCategory,\n            final int intentFlags) {\n        start(context, PaymentIntent.from(Constants.DONATION_ADDRESS,\n                context.getString(R.string.wallet_donate_address_label), amount), feeCategory, intentFlags);\n    }\n\n    private SendCoinsActivityViewModel viewModel;\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        log.info(\"Referrer: {}\", getReferrer());\n        setContentView(R.layout.send_coins_content);\n\n        viewModel = new ViewModelProvider(this).get(SendCoinsActivityViewModel.class);\n        viewModel.showHelpDialog.observe(this, new Event.Observer<Integer>() {\n            @Override\n            protected void onEvent(final Integer messageResId) {\n                HelpDialogFragment.page(getSupportFragmentManager(), messageResId);\n            }\n        });\n\n        BlockchainService.start(this, false);\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(final Menu menu) {\n        getMenuInflater().inflate(R.menu.send_coins_activity_options, menu);\n\n        return super.onCreateOptionsMenu(menu);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        if (item.getItemId() == R.id.send_coins_options_help) {\n            viewModel.showHelpDialog.setValue(new Event<>(R.string.help_send_coins));\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SendCoinsActivityViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\nimport de.schildbach.wallet.ui.Event;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SendCoinsActivityViewModel extends ViewModel {\n    public final MutableLiveData<Event<Integer>> showHelpDialog = new MutableLiveData<>();\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SendCoinsFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.app.Activity;\nimport android.bluetooth.BluetoothAdapter;\nimport android.content.ComponentName;\nimport android.content.ContentResolver;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.net.Uri;\nimport android.nfc.NdefMessage;\nimport android.nfc.NfcAdapter;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Process;\nimport android.text.Editable;\nimport android.text.TextWatcher;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.View.OnFocusChangeListener;\nimport android.view.ViewGroup;\nimport android.view.animation.AnimationUtils;\nimport android.widget.AdapterView;\nimport android.widget.ArrayAdapter;\nimport android.widget.AutoCompleteTextView;\nimport android.widget.Button;\nimport android.widget.CheckBox;\nimport android.widget.EditText;\nimport android.widget.Filter;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.base.Joiner;\nimport com.google.common.util.concurrent.ListenableFuture;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDao;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.data.PaymentIntent.Standard;\nimport de.schildbach.wallet.integration.android.BitcoinIntegration;\nimport de.schildbach.wallet.offline.DirectPaymentTask;\nimport de.schildbach.wallet.service.BlockchainState;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.AbstractWalletActivityViewModel;\nimport de.schildbach.wallet.ui.AddressAndLabel;\nimport de.schildbach.wallet.ui.CurrencyAmountView;\nimport de.schildbach.wallet.ui.CurrencyCalculatorLink;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.ui.InputParser.BinaryInputParser;\nimport de.schildbach.wallet.ui.InputParser.StreamInputParser;\nimport de.schildbach.wallet.ui.InputParser.StringInputParser;\nimport de.schildbach.wallet.ui.ProgressDialogFragment;\nimport de.schildbach.wallet.ui.TransactionsAdapter;\nimport de.schildbach.wallet.ui.scan.ScanActivity;\nimport de.schildbach.wallet.util.Bluetooth;\nimport de.schildbach.wallet.util.Nfc;\nimport de.schildbach.wallet.util.WalletUtils;\nimport org.bitcoin.protocols.payments.Protos.Payment;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.AddressFormatException;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.InsufficientMoneyException;\nimport org.bitcoinj.core.PrefixedChecksummedBytes;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionConfidence;\nimport org.bitcoinj.core.TransactionConfidence.ConfidenceType;\nimport org.bitcoinj.core.VerificationException;\nimport org.bitcoinj.protocols.payments.PaymentProtocol;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.KeyChain.KeyPurpose;\nimport org.bitcoinj.wallet.SendRequest;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.Wallet.BalanceType;\nimport org.bitcoinj.wallet.Wallet.CouldNotAdjustDownwards;\nimport org.bitcoinj.wallet.Wallet.DustySendRequested;\nimport org.bouncycastle.crypto.params.KeyParameter;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.FileNotFoundException;\nimport java.io.InputStream;\nimport java.util.Collections;\nimport java.util.LinkedList;\nimport java.util.List;\nimport java.util.Map;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class SendCoinsFragment extends Fragment {\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n    private AddressBookDao addressBookDao;\n    private ContentResolver contentResolver;\n    private FragmentManager fragmentManager;\n    @Nullable\n    private BluetoothAdapter bluetoothAdapter;\n\n    private final Handler handler = new Handler();\n    private HandlerThread backgroundThread;\n    private Handler backgroundHandler;\n\n    private View payeeGroup;\n    private TextView payeeNameView;\n    private TextView payeeVerifiedByView;\n    private AutoCompleteTextView receivingAddressView;\n    private ReceivingAddressViewAdapter receivingAddressViewAdapter;\n    private View receivingStaticView;\n    private TextView receivingStaticAddressView;\n    private TextView receivingStaticLabelView;\n    private View amountGroup;\n    private CurrencyCalculatorLink amountCalculatorLink;\n    private CheckBox directPaymentEnableView;\n\n    private TextView hintView;\n    private TextView directPaymentMessageView;\n    private ViewGroup sentTransactionView;\n    private TransactionsAdapter.TransactionViewHolder sentTransactionViewHolder;\n    private View privateKeyPasswordViewGroup;\n    private EditText privateKeyPasswordView;\n    private View privateKeyBadPasswordView;\n    private Button viewGo;\n    private Button viewCancel;\n\n    private static final int REQUEST_CODE_SCAN = 0;\n    private static final int REQUEST_CODE_ENABLE_BLUETOOTH_FOR_PAYMENT_REQUEST = 1;\n    private static final int REQUEST_CODE_ENABLE_BLUETOOTH_FOR_DIRECT_PAYMENT = 2;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private SendCoinsViewModel viewModel;\n\n    private static final Logger log = LoggerFactory.getLogger(SendCoinsFragment.class);\n\n    private final class ReceivingAddressListener\n            implements OnFocusChangeListener, TextWatcher, AdapterView.OnItemClickListener {\n        @Override\n        public void onFocusChange(final View v, final boolean hasFocus) {\n            if (!hasFocus) {\n                validateReceivingAddress();\n                updateView();\n            }\n        }\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n            final String constraint = s.toString().trim();\n            if (!constraint.isEmpty())\n                validateReceivingAddress();\n            else\n                updateView();\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n        }\n\n        @Override\n        public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {\n            final AddressBookEntry entry = receivingAddressViewAdapter.getItem(position);\n            try {\n                viewModel.validatedAddress = new AddressAndLabel(Constants.NETWORK_PARAMETERS, entry.getAddress(),\n                        entry.getLabel());\n                receivingAddressView.setText(null);\n                log.info(\"Picked valid address from suggestions: {}\", viewModel.validatedAddress);\n            } catch (final AddressFormatException x) {\n                // swallow\n            }\n        }\n    }\n\n    private final ReceivingAddressListener receivingAddressListener = new ReceivingAddressListener();\n\n    private final CurrencyAmountView.Listener amountsListener = new CurrencyAmountView.Listener() {\n        @Override\n        public void changed() {\n            updateView();\n            handler.post(dryrunRunnable);\n        }\n\n        @Override\n        public void focusChanged(final boolean hasFocus) {\n        }\n    };\n\n    private final TextWatcher privateKeyPasswordListener = new TextWatcher() {\n        @Override\n        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {\n            privateKeyBadPasswordView.setVisibility(View.INVISIBLE);\n            updateView();\n        }\n\n        @Override\n        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {\n        }\n\n        @Override\n        public void afterTextChanged(final Editable s) {\n        }\n    };\n\n    private final class ReceivingAddressViewAdapter extends ArrayAdapter<AddressBookEntry> {\n        private final LayoutInflater inflater;\n\n        public ReceivingAddressViewAdapter(final Context context) {\n            super(context, 0);\n            this.inflater = LayoutInflater.from(context);\n        }\n\n        @Override\n        public View getView(final int position, View view, final ViewGroup parent) {\n            if (view == null)\n                view = inflater.inflate(R.layout.send_coins_address_row, parent, false);\n            final AddressBookEntry entry = getItem(position);\n            ((TextView) view.findViewById(R.id.send_coins_address_row_label)).setText(entry.getLabel());\n            ((TextView) view.findViewById(R.id.send_coins_address_row_address)).setText(WalletUtils.formatHash(\n                    entry.getAddress(), Constants.ADDRESS_FORMAT_GROUP_SIZE, Constants.ADDRESS_FORMAT_LINE_SIZE));\n            return view;\n        }\n\n        @Override\n        public Filter getFilter() {\n            return new Filter() {\n                @Override\n                protected FilterResults performFiltering(final CharSequence constraint) {\n                    final String trimmedConstraint = constraint.toString().trim();\n                    final FilterResults results = new FilterResults();\n                    if (viewModel.validatedAddress == null && !trimmedConstraint.isEmpty()) {\n                        final List<AddressBookEntry> entries = addressBookDao.get(trimmedConstraint);\n                        results.values = entries;\n                        results.count = entries.size();\n                    } else {\n                        results.values = Collections.emptyList();\n                        results.count = 0;\n                    }\n                    return results;\n                }\n\n                @Override\n                protected void publishResults(final CharSequence constraint, final FilterResults results) {\n                    setNotifyOnChange(false);\n                    clear();\n                    if (results.count > 0)\n                        addAll((List<AddressBookEntry>) results.values);\n                    notifyDataSetChanged();\n                }\n            };\n        }\n    }\n\n    private final DialogInterface.OnClickListener activityDismissListener = new DialogInterface.OnClickListener() {\n        @Override\n        public void onClick(final DialogInterface dialog, final int which) {\n            activity.finish();\n        }\n    };\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n        this.addressBookDao = AddressBookDatabase.getDatabase(context).addressBookDao();\n        this.contentResolver = application.getContentResolver();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        this.fragmentManager = getChildFragmentManager();\n\n        setHasOptionsMenu(true);\n\n        walletActivityViewModel = new ViewModelProvider(activity).get(AbstractWalletActivityViewModel.class);\n        walletActivityViewModel.wallet.observe(this, wallet -> updateView());\n        viewModel = new ViewModelProvider(this).get(SendCoinsViewModel.class);\n        viewModel.addressBook.observe(this, addressBook -> updateView());\n        if (Constants.ENABLE_EXCHANGE_RATES) {\n            viewModel.exchangeRate.observe(this, exchangeRate -> {\n                final SendCoinsViewModel.State state = viewModel.state;\n                if (state == null || state.compareTo(SendCoinsViewModel.State.INPUT) <= 0)\n                    amountCalculatorLink.setExchangeRate(exchangeRate != null ? exchangeRate.exchangeRate() : null);\n            });\n        }\n        viewModel.dynamicFees.observe(this, dynamicFees -> {\n            updateView();\n            handler.post(dryrunRunnable);\n        });\n        application.blockchainState.observe(this, blockchainState -> updateView());\n        viewModel.balance.observe(this, coin -> activity.invalidateOptionsMenu());\n        viewModel.progress.observe(this, new ProgressDialogFragment.Observer(fragmentManager));\n        viewModel.sentTransaction.observe(this, transaction -> {\n            if (viewModel.state == SendCoinsViewModel.State.SENDING) {\n                final TransactionConfidence confidence = transaction.getConfidence();\n                final ConfidenceType confidenceType = confidence.getConfidenceType();\n                final int numBroadcastPeers = confidence.numBroadcastPeers();\n                if (confidenceType == ConfidenceType.DEAD)\n                    setState(SendCoinsViewModel.State.FAILED);\n                else if (numBroadcastPeers > 1 || confidenceType == ConfidenceType.BUILDING)\n                    setState(SendCoinsViewModel.State.SENT);\n            }\n            updateView();\n        });\n\n        bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();\n\n        backgroundThread = new HandlerThread(\"backgroundThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        backgroundThread.start();\n        backgroundHandler = new Handler(backgroundThread.getLooper());\n\n        if (savedInstanceState == null) {\n            final Intent intent = activity.getIntent();\n            final String action = intent.getAction();\n            final Uri intentUri = intent.getData();\n            final String scheme = intentUri != null ? intentUri.getScheme() : null;\n            final String mimeType = intent.getType();\n\n            if ((Intent.ACTION_VIEW.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))\n                    && intentUri != null && \"dogecoin\".equals(scheme)) {\n                initStateFromBitcoinUri(intentUri);\n            } else if ((NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))\n                    && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {\n                final NdefMessage ndefMessage = (NdefMessage) intent\n                        .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];\n                final byte[] ndefMessagePayload = Nfc.extractMimePayload(PaymentProtocol.MIMETYPE_PAYMENTREQUEST,\n                        ndefMessage);\n                initStateFromPaymentRequest(mimeType, ndefMessagePayload);\n            } else if ((Intent.ACTION_VIEW.equals(action))\n                    && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {\n                final byte[] paymentRequest = BitcoinIntegration.paymentRequestFromIntent(intent);\n\n                if (intentUri != null)\n                    initStateFromIntentUri(mimeType, intentUri);\n                else if (paymentRequest != null)\n                    initStateFromPaymentRequest(mimeType, paymentRequest);\n                else\n                    throw new IllegalArgumentException();\n            } else if (intent.hasExtra(SendCoinsActivity.INTENT_EXTRA_PAYMENT_INTENT)) {\n                initStateFromIntentExtras(intent.getExtras());\n            } else {\n                updateStateFrom(PaymentIntent.blank());\n            }\n        }\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.send_coins_fragment, container, false);\n\n        payeeGroup = view.findViewById(R.id.send_coins_payee_group);\n\n        payeeNameView = view.findViewById(R.id.send_coins_payee_name);\n        payeeVerifiedByView = view.findViewById(R.id.send_coins_payee_verified_by);\n\n        receivingAddressView = view.findViewById(R.id.send_coins_receiving_address);\n        receivingAddressViewAdapter = new ReceivingAddressViewAdapter(activity);\n        receivingAddressView.setAdapter(receivingAddressViewAdapter);\n        receivingAddressView.setOnFocusChangeListener(receivingAddressListener);\n        receivingAddressView.addTextChangedListener(receivingAddressListener);\n        receivingAddressView.setOnItemClickListener(receivingAddressListener);\n\n        receivingStaticView = view.findViewById(R.id.send_coins_receiving_static);\n        receivingStaticAddressView = view.findViewById(R.id.send_coins_receiving_static_address);\n        receivingStaticLabelView = view.findViewById(R.id.send_coins_receiving_static_label);\n\n        amountGroup = view.findViewById(R.id.send_coins_amount_group);\n\n        final CurrencyAmountView btcAmountView = view.findViewById(R.id.send_coins_amount_btc);\n        btcAmountView.setCurrencySymbol(config.getFormat().code());\n        btcAmountView.setInputFormat(config.getMaxPrecisionFormat());\n        btcAmountView.setHintFormat(config.getFormat());\n\n        final CurrencyAmountView localAmountView = view.findViewById(R.id.send_coins_amount_local);\n        localAmountView.setInputFormat(Constants.LOCAL_FORMAT);\n        localAmountView.setHintFormat(Constants.LOCAL_FORMAT);\n        amountCalculatorLink = new CurrencyCalculatorLink(btcAmountView, localAmountView);\n        amountCalculatorLink.setExchangeDirection(config.getLastExchangeDirection());\n\n        directPaymentEnableView = view.findViewById(R.id.send_coins_direct_payment_enable);\n        directPaymentEnableView.setOnCheckedChangeListener((buttonView, isChecked) -> {\n            if (viewModel.paymentIntent.isBluetoothPaymentUrl() && isChecked && !bluetoothAdapter.isEnabled()) {\n                // ask for permission to enable bluetooth\n                startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE),\n                        REQUEST_CODE_ENABLE_BLUETOOTH_FOR_DIRECT_PAYMENT);\n            }\n        });\n\n        hintView = view.findViewById(R.id.send_coins_hint);\n\n        directPaymentMessageView = view.findViewById(R.id.send_coins_direct_payment_message);\n\n        sentTransactionView = view.findViewById(R.id.transaction_row);\n        sentTransactionView.setVisibility(View.GONE);\n        sentTransactionView.setLayoutAnimation(AnimationUtils.loadLayoutAnimation(activity,\n                R.anim.transaction_layout_anim));\n        sentTransactionViewHolder = new TransactionsAdapter.TransactionViewHolder(view);\n\n        privateKeyPasswordViewGroup = view.findViewById(R.id.send_coins_private_key_password_group);\n        privateKeyPasswordView = view.findViewById(R.id.send_coins_private_key_password);\n        privateKeyBadPasswordView = view.findViewById(R.id.send_coins_private_key_bad_password);\n\n        viewGo = view.findViewById(R.id.send_coins_go);\n        viewGo.setOnClickListener(v -> {\n            validateReceivingAddress();\n\n            if (everythingPlausible())\n                handleGo();\n            else\n                requestFocusFirst();\n\n            updateView();\n        });\n\n        viewCancel = view.findViewById(R.id.send_coins_cancel);\n        viewCancel.setOnClickListener(v -> handleCancel());\n\n        return view;\n    }\n\n    @Override\n    public void onDestroyView() {\n        super.onDestroyView();\n\n        config.setLastExchangeDirection(amountCalculatorLink.getExchangeDirection());\n    }\n\n    @Override\n    public void onResume() {\n        super.onResume();\n\n        amountCalculatorLink.setListener(amountsListener);\n        privateKeyPasswordView.addTextChangedListener(privateKeyPasswordListener);\n\n        updateView();\n        handler.post(dryrunRunnable);\n    }\n\n    @Override\n    public void onPause() {\n        privateKeyPasswordView.removeTextChangedListener(privateKeyPasswordListener);\n        amountCalculatorLink.setListener(null);\n\n        super.onPause();\n    }\n\n    @Override\n    public void onDetach() {\n        handler.removeCallbacksAndMessages(null);\n\n        super.onDetach();\n    }\n\n    @Override\n    public void onDestroy() {\n        backgroundThread.getLooper().quit();\n        super.onDestroy();\n    }\n\n    @Override\n    public void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {\n        handler.post(() -> onActivityResultResumed(requestCode, resultCode, intent));\n    }\n\n    private void onActivityResultResumed(final int requestCode, final int resultCode, final Intent intent) {\n        if (requestCode == REQUEST_CODE_SCAN) {\n            if (resultCode == Activity.RESULT_OK) {\n                final String input = intent.getStringExtra(ScanActivity.INTENT_EXTRA_RESULT);\n\n                new StringInputParser(input) {\n                    @Override\n                    protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                        setState(null);\n\n                        updateStateFrom(paymentIntent);\n                    }\n\n                    @Override\n                    protected void handleDirectTransaction(final Transaction transaction) throws VerificationException {\n                        cannotClassify(input);\n                    }\n\n                    @Override\n                    protected void error(final int messageResId, final Object... messageArgs) {\n                        final DialogBuilder dialog = DialogBuilder.dialog(activity, R.string.button_scan, messageResId, messageArgs);\n                        dialog.singleDismissButton(null);\n                        dialog.show();\n                    }\n                }.parse();\n            }\n        } else if (requestCode == REQUEST_CODE_ENABLE_BLUETOOTH_FOR_PAYMENT_REQUEST) {\n            if (viewModel.paymentIntent.isBluetoothPaymentRequestUrl())\n                requestPaymentRequest();\n        } else if (requestCode == REQUEST_CODE_ENABLE_BLUETOOTH_FOR_DIRECT_PAYMENT) {\n            if (viewModel.paymentIntent.isBluetoothPaymentUrl())\n                directPaymentEnableView.setChecked(resultCode == Activity.RESULT_OK);\n        }\n    }\n\n    @Override\n    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {\n        inflater.inflate(R.menu.send_coins_fragment_options, menu);\n\n        super.onCreateOptionsMenu(menu, inflater);\n    }\n\n    @Override\n    public void onPrepareOptionsMenu(final Menu menu) {\n        final MenuItem scanAction = menu.findItem(R.id.send_coins_options_scan);\n        final PackageManager pm = activity.getPackageManager();\n        scanAction.setVisible(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)\n                || pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT));\n        scanAction.setEnabled(viewModel.state == SendCoinsViewModel.State.INPUT);\n\n        final MenuItem emptyAction = menu.findItem(R.id.send_coins_options_empty);\n        emptyAction.setEnabled(viewModel.state == SendCoinsViewModel.State.INPUT\n                && viewModel.paymentIntent.mayEditAmount() && viewModel.balance.getValue() != null);\n\n        final MenuItem feeCategoryAction = menu.findItem(R.id.send_coins_options_fee_category);\n        feeCategoryAction.setVisible(false); //DOGE: We only have static fees\n        feeCategoryAction.setEnabled(viewModel.state == SendCoinsViewModel.State.INPUT);\n        if (viewModel.feeCategory == FeeCategory.ECONOMIC)\n            menu.findItem(R.id.send_coins_options_fee_category_economic).setChecked(true);\n        else if (viewModel.feeCategory == FeeCategory.NORMAL)\n            menu.findItem(R.id.send_coins_options_fee_category_normal).setChecked(true);\n        else if (viewModel.feeCategory == FeeCategory.PRIORITY)\n            menu.findItem(R.id.send_coins_options_fee_category_priority).setChecked(true);\n\n        super.onPrepareOptionsMenu(menu);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        int itemId = item.getItemId();\n        if (itemId == R.id.send_coins_options_scan) {\n            ScanActivity.startForResult(this, activity, REQUEST_CODE_SCAN);\n            return true;\n        } else if (itemId == R.id.send_coins_options_fee_category_economic) {\n            handleFeeCategory(FeeCategory.ECONOMIC);\n            return true;\n        } else if (itemId == R.id.send_coins_options_fee_category_normal) {\n            handleFeeCategory(FeeCategory.NORMAL);\n            return true;\n        } else if (itemId == R.id.send_coins_options_fee_category_priority) {\n            handleFeeCategory(FeeCategory.PRIORITY);\n            return true;\n        } else if (itemId == R.id.send_coins_options_empty) {\n            handleEmpty();\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    private void validateReceivingAddress() {\n        try {\n            final String addressStr = receivingAddressView.getText().toString().trim();\n            if (!addressStr.isEmpty()) {\n                final Address address = Address.fromString(Constants.NETWORK_PARAMETERS, addressStr);\n                final String label = addressBookDao.resolveLabel(address.toString());\n                viewModel.validatedAddress = new AddressAndLabel(Constants.NETWORK_PARAMETERS, address.toString(),\n                        label);\n                receivingAddressView.setText(null);\n                log.info(\"Locked to valid address: {}\", viewModel.validatedAddress);\n            }\n        } catch (final AddressFormatException x) {\n            // swallow\n        }\n    }\n\n    private void handleCancel() {\n        if (viewModel.state == null || viewModel.state.compareTo(SendCoinsViewModel.State.INPUT) <= 0)\n            activity.setResult(Activity.RESULT_CANCELED);\n\n        activity.finish();\n    }\n\n    private boolean isPayeePlausible() {\n        if (viewModel.paymentIntent.hasOutputs())\n            return true;\n\n        if (viewModel.validatedAddress != null)\n            return true;\n\n        return false;\n    }\n\n    private boolean isAmountPlausible() {\n        if (viewModel.dryrunTransaction != null)\n            return viewModel.dryrunException == null;\n        else if (viewModel.paymentIntent.mayEditAmount())\n            return amountCalculatorLink.hasAmount();\n        else\n            return viewModel.paymentIntent.hasAmount();\n    }\n\n    private boolean isPasswordPlausible() {\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        if (wallet == null)\n            return false;\n        if (!wallet.isEncrypted())\n            return true;\n        return !privateKeyPasswordView.getText().toString().trim().isEmpty();\n    }\n\n    private boolean everythingPlausible() {\n        return viewModel.state == SendCoinsViewModel.State.INPUT && isPayeePlausible() && isAmountPlausible()\n                && isPasswordPlausible();\n    }\n\n    private void requestFocusFirst() {\n        if (!isPayeePlausible())\n            receivingAddressView.requestFocus();\n        else if (!isAmountPlausible())\n            amountCalculatorLink.requestFocus();\n        else if (!isPasswordPlausible())\n            privateKeyPasswordView.requestFocus();\n        else if (everythingPlausible())\n            viewGo.requestFocus();\n        else\n            log.warn(\"unclear focus\");\n    }\n\n    private void handleGo() {\n        privateKeyBadPasswordView.setVisibility(View.INVISIBLE);\n\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        if (wallet.isEncrypted()) {\n            new DeriveKeyTask(backgroundHandler, application.scryptIterationsTarget()) {\n                @Override\n                protected void onSuccess(final KeyParameter encryptionKey, final boolean wasChanged) {\n                    if (wasChanged)\n                        WalletUtils.autoBackupWallet(activity, wallet);\n                    signAndSendPayment(encryptionKey);\n                }\n            }.deriveKey(wallet, privateKeyPasswordView.getText().toString().trim());\n\n            setState(SendCoinsViewModel.State.DECRYPTING);\n        } else {\n            signAndSendPayment(null);\n        }\n    }\n\n    private void signAndSendPayment(final KeyParameter encryptionKey) {\n        setState(SendCoinsViewModel.State.SIGNING);\n\n        // final payment intent\n        final PaymentIntent finalPaymentIntent = viewModel.paymentIntent.mergeWithEditedValues(\n                amountCalculatorLink.getAmount(),\n                viewModel.validatedAddress != null ? viewModel.validatedAddress.address : null);\n        final Coin finalAmount = finalPaymentIntent.getAmount();\n\n        // prepare send request\n        final Map<FeeCategory, Coin> fees = viewModel.dynamicFees.getValue();\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        final SendRequest sendRequest = finalPaymentIntent.toSendRequest();\n        sendRequest.emptyWallet = viewModel.paymentIntent.mayEditAmount()\n                && finalAmount.equals(wallet.getBalance(BalanceType.AVAILABLE));\n        sendRequest.feePerKb = fees.get(viewModel.feeCategory);\n        sendRequest.memo = viewModel.paymentIntent.memo;\n        sendRequest.exchangeRate = amountCalculatorLink.getExchangeRate();\n        sendRequest.aesKey = encryptionKey;\n\n        final Coin fee = viewModel.dryrunTransaction.getFee();\n        if (fee.isGreaterThan(finalAmount)) {\n            setState(SendCoinsViewModel.State.INPUT);\n\n            final MonetaryFormat btcFormat = config.getFormat();\n            final DialogBuilder dialog = DialogBuilder.warn(activity,\n                    R.string.send_coins_fragment_significant_fee_title,\n                    R.string.send_coins_fragment_significant_fee_message, btcFormat.format(fee),\n                    btcFormat.format(finalAmount));\n            dialog.setPositiveButton(R.string.send_coins_fragment_button_send, (d, which) -> sendPayment(sendRequest, finalAmount));\n            dialog.setNegativeButton(R.string.button_cancel, null);\n            dialog.show();\n        } else {\n            sendPayment(sendRequest, finalAmount);\n        }\n    }\n\n    private void sendPayment(final SendRequest sendRequest, final Coin finalAmount) {\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        new SendCoinsOfflineTask(wallet, backgroundHandler) {\n            @Override\n            protected void onSuccess(final Transaction transaction) {\n                viewModel.sentTransaction.setValue(transaction);\n                setState(SendCoinsViewModel.State.SENDING);\n\n                final Address refundAddress = viewModel.paymentIntent.standard == Standard.BIP70\n                        ? wallet.freshAddress(KeyPurpose.REFUND) : null;\n                final Payment payment = PaymentProtocol.createPaymentMessage(Collections.singletonList(transaction),\n                        finalAmount, refundAddress, null, viewModel.paymentIntent.payeeData);\n\n                if (directPaymentEnableView.isChecked())\n                    directPay(payment);\n\n                final ListenableFuture<Transaction> future = walletActivityViewModel.broadcastTransaction(transaction);\n                future.addListener(() -> {\n                    // Auto-close the dialog after a short delay\n                    if (config.getSendCoinsAutoclose())\n                        handler.postDelayed(() -> activity.finish(), Constants.AUTOCLOSE_DELAY_MS);\n                }, Threading.THREAD_POOL);\n\n                final ComponentName callingActivity = activity.getCallingActivity();\n                if (callingActivity != null) {\n                    log.info(\"returning result to calling activity: {}\", callingActivity.flattenToString());\n\n                    final Intent result = new Intent();\n                    BitcoinIntegration.transactionHashToResult(result, transaction.getTxId().toString());\n                    if (viewModel.paymentIntent.standard == Standard.BIP70)\n                        BitcoinIntegration.paymentToResult(result, payment.toByteArray());\n                    activity.setResult(Activity.RESULT_OK, result);\n                }\n            }\n\n            private void directPay(final Payment payment) {\n                final DirectPaymentTask.ResultCallback callback = new DirectPaymentTask.ResultCallback() {\n                    @Override\n                    public void onResult(final boolean ack) {\n                        viewModel.directPaymentAck = ack;\n\n                        if (viewModel.state == SendCoinsViewModel.State.SENDING)\n                            setState(SendCoinsViewModel.State.SENT);\n\n                        updateView();\n                    }\n\n                    @Override\n                    public void onFail(final int messageResId, final Object... messageArgs) {\n                        final DialogBuilder dialog = DialogBuilder.warn(activity,\n                                R.string.send_coins_fragment_direct_payment_failed_title,\n                                viewModel.paymentIntent.paymentUrl + \"\\n\" + getString(messageResId, messageArgs)\n                                        + \"\\n\\n\" + getString(R.string.send_coins_fragment_direct_payment_failed_msg));\n                        dialog.setPositiveButton(R.string.button_retry, (d, which) -> directPay(payment));\n                        dialog.setNegativeButton(R.string.button_dismiss, null);\n                        dialog.show();\n                    }\n                };\n\n                if (viewModel.paymentIntent.isHttpPaymentUrl()) {\n                    new DirectPaymentTask.HttpPaymentTask(backgroundHandler, callback,\n                            viewModel.paymentIntent.paymentUrl, application.httpUserAgent()).send(payment);\n                } else if (viewModel.paymentIntent.isBluetoothPaymentUrl() && bluetoothAdapter != null\n                        && bluetoothAdapter.isEnabled()) {\n                    new DirectPaymentTask.BluetoothPaymentTask(backgroundHandler, callback, bluetoothAdapter,\n                            Bluetooth.getBluetoothMac(viewModel.paymentIntent.paymentUrl)).send(payment);\n                }\n            }\n\n            @Override\n            protected void onInsufficientMoney(final Coin missing) {\n                setState(SendCoinsViewModel.State.INPUT);\n\n                final Coin estimated = wallet.getBalance(BalanceType.ESTIMATED);\n                final Coin available = wallet.getBalance(BalanceType.AVAILABLE);\n                final Coin pending = estimated.subtract(available);\n\n                final MonetaryFormat btcFormat = config.getFormat();\n\n                final StringBuilder msg = new StringBuilder();\n                msg.append(getString(R.string.send_coins_fragment_insufficient_money_msg1, btcFormat.format(missing)));\n                if (pending.signum() > 0)\n                    msg.append(\"\\n\\n\")\n                            .append(getString(R.string.send_coins_fragment_pending, btcFormat.format(pending)));\n                if (viewModel.paymentIntent.mayEditAmount())\n                    msg.append(\"\\n\\n\").append(getString(R.string.send_coins_fragment_insufficient_money_msg2));\n\n                final DialogBuilder dialog = DialogBuilder.warn(activity, R.string.send_coins_fragment_insufficient_money_title, msg);\n                if (viewModel.paymentIntent.mayEditAmount()) {\n                    dialog.setPositiveButton(R.string.send_coins_options_empty, (d, which) -> handleEmpty());\n                    dialog.setNegativeButton(R.string.button_cancel, null);\n                } else {\n                    dialog.setNeutralButton(R.string.button_dismiss, null);\n                }\n                dialog.show();\n            }\n\n            @Override\n            protected void onInvalidEncryptionKey() {\n                setState(SendCoinsViewModel.State.INPUT);\n\n                privateKeyBadPasswordView.setVisibility(View.VISIBLE);\n                privateKeyPasswordView.requestFocus();\n            }\n\n            @Override\n            protected void onEmptyWalletFailed() {\n                setState(SendCoinsViewModel.State.INPUT);\n\n                final DialogBuilder dialog = DialogBuilder.warn(activity,\n                        R.string.send_coins_fragment_empty_wallet_failed_title,\n                        R.string.send_coins_fragment_hint_empty_wallet_failed);\n                dialog.setNeutralButton(R.string.button_dismiss, null);\n                dialog.show();\n            }\n\n            @Override\n            protected void onFailure(Exception exception) {\n                setState(SendCoinsViewModel.State.FAILED);\n\n                final DialogBuilder dialog = DialogBuilder.warn(activity, R.string.send_coins_error_msg,\n                        exception.toString());\n                dialog.setNeutralButton(R.string.button_dismiss, null);\n                dialog.show();\n            }\n        }.sendCoinsOffline(sendRequest); // send asynchronously\n    }\n\n    private void handleFeeCategory(final FeeCategory feeCategory) {\n        viewModel.feeCategory = feeCategory;\n        log.info(\"switching to {} fee category\", feeCategory);\n\n        updateView();\n        handler.post(dryrunRunnable);\n    }\n\n    private void handleEmpty() {\n        final Coin available = viewModel.balance.getValue();\n        amountCalculatorLink.setBtcAmount(available);\n\n        updateView();\n        handler.post(dryrunRunnable);\n    }\n\n    private Runnable dryrunRunnable = new Runnable() {\n        @Override\n        public void run() {\n            if (viewModel.state == SendCoinsViewModel.State.INPUT)\n                executeDryrun();\n\n            updateView();\n        }\n\n        private void executeDryrun() {\n            viewModel.dryrunTransaction = null;\n            viewModel.dryrunException = null;\n\n            final Wallet wallet = walletActivityViewModel.wallet.getValue();\n            final Map<FeeCategory, Coin> fees = viewModel.dynamicFees.getValue();\n            final Coin amount = amountCalculatorLink.getAmount();\n            if (amount != null && fees != null) {\n                try {\n                    final Address dummy = wallet.currentReceiveAddress(); // won't be used, tx is never\n                                                                          // committed\n                    final SendRequest sendRequest = viewModel.paymentIntent.mergeWithEditedValues(amount, dummy)\n                            .toSendRequest();\n                    sendRequest.signInputs = false;\n                    sendRequest.emptyWallet = viewModel.paymentIntent.mayEditAmount()\n                            && amount.equals(wallet.getBalance(BalanceType.AVAILABLE));\n                    sendRequest.feePerKb = fees.get(viewModel.feeCategory);\n                    wallet.completeTx(sendRequest);\n                    viewModel.dryrunTransaction = sendRequest.tx;\n                } catch (final Exception x) {\n                    viewModel.dryrunException = x;\n                }\n            }\n        }\n    };\n\n    private void setState(final SendCoinsViewModel.State state) {\n        viewModel.state = state;\n\n        activity.invalidateOptionsMenu();\n        updateView();\n    }\n\n    private void updateView() {\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        final Map<FeeCategory, Coin> fees = viewModel.dynamicFees.getValue();\n        final BlockchainState blockchainState = application.blockchainState.getValue();\n        final Map<String, AddressBookEntry> addressBook = AddressBookEntry.asMap(viewModel.addressBook.getValue());\n\n        if (viewModel.paymentIntent != null) {\n            final MonetaryFormat btcFormat = config.getFormat();\n\n            getView().setVisibility(View.VISIBLE);\n\n            if (viewModel.paymentIntent.hasPayee()) {\n                payeeNameView.setVisibility(View.VISIBLE);\n                payeeNameView.setText(viewModel.paymentIntent.payeeName);\n\n                payeeVerifiedByView.setVisibility(View.VISIBLE);\n                final String verifiedBy = viewModel.paymentIntent.payeeVerifiedBy != null\n                        ? viewModel.paymentIntent.payeeVerifiedBy\n                        : getString(R.string.send_coins_fragment_payee_verified_by_unknown);\n                payeeVerifiedByView.setText(Constants.CHAR_CHECKMARK\n                        + String.format(getString(R.string.send_coins_fragment_payee_verified_by), verifiedBy));\n            } else {\n                payeeNameView.setVisibility(View.GONE);\n                payeeVerifiedByView.setVisibility(View.GONE);\n            }\n\n            if (viewModel.paymentIntent.hasOutputs()) {\n                payeeGroup.setVisibility(View.VISIBLE);\n                receivingAddressView.setVisibility(View.GONE);\n                receivingStaticView.setVisibility(\n                        !viewModel.paymentIntent.hasPayee() || viewModel.paymentIntent.payeeVerifiedBy == null\n                                ? View.VISIBLE : View.GONE);\n\n                receivingStaticLabelView.setText(viewModel.paymentIntent.memo);\n\n                if (viewModel.paymentIntent.hasAddress())\n                    receivingStaticAddressView.setText(WalletUtils.formatAddress(viewModel.paymentIntent.getAddress(),\n                            Constants.ADDRESS_FORMAT_GROUP_SIZE, Constants.ADDRESS_FORMAT_LINE_SIZE));\n                else\n                    receivingStaticAddressView.setText(R.string.send_coins_fragment_receiving_address_complex);\n            } else if (viewModel.validatedAddress != null) {\n                payeeGroup.setVisibility(View.VISIBLE);\n                receivingAddressView.setVisibility(View.GONE);\n                receivingStaticView.setVisibility(View.VISIBLE);\n\n                receivingStaticAddressView.setText(WalletUtils.formatAddress(viewModel.validatedAddress.address,\n                        Constants.ADDRESS_FORMAT_GROUP_SIZE, Constants.ADDRESS_FORMAT_LINE_SIZE));\n                final String addressBookLabel = addressBookDao\n                        .resolveLabel(viewModel.validatedAddress.address.toString());\n                final String staticLabel;\n                if (addressBookLabel != null)\n                    staticLabel = addressBookLabel;\n                else if (viewModel.validatedAddress.label != null)\n                    staticLabel = viewModel.validatedAddress.label;\n                else\n                    staticLabel = getString(R.string.address_unlabeled);\n                receivingStaticLabelView.setText(staticLabel);\n                receivingStaticLabelView.setTextColor(activity.getColor(\n                        viewModel.validatedAddress.label != null ? R.color.fg_significant : R.color.fg_insignificant));\n            } else if (viewModel.paymentIntent.standard == null) {\n                payeeGroup.setVisibility(View.VISIBLE);\n                receivingStaticView.setVisibility(View.GONE);\n                receivingAddressView.setVisibility(View.VISIBLE);\n            } else {\n                payeeGroup.setVisibility(View.GONE);\n            }\n\n            receivingAddressView.setEnabled(viewModel.state == SendCoinsViewModel.State.INPUT);\n\n            amountGroup.setVisibility(viewModel.paymentIntent.hasAmount()\n                    || (viewModel.state != null && viewModel.state.compareTo(SendCoinsViewModel.State.INPUT) >= 0)\n                            ? View.VISIBLE : View.GONE);\n            amountCalculatorLink.setEnabled(\n                    viewModel.state == SendCoinsViewModel.State.INPUT && viewModel.paymentIntent.mayEditAmount());\n\n            final boolean directPaymentVisible;\n            if (viewModel.paymentIntent.hasPaymentUrl()) {\n                if (viewModel.paymentIntent.isBluetoothPaymentUrl())\n                    directPaymentVisible = bluetoothAdapter != null;\n                else\n                    directPaymentVisible = true;\n            } else {\n                directPaymentVisible = false;\n            }\n            directPaymentEnableView.setVisibility(directPaymentVisible ? View.VISIBLE : View.GONE);\n            directPaymentEnableView.setEnabled(viewModel.state == SendCoinsViewModel.State.INPUT);\n\n            hintView.setVisibility(View.GONE);\n            if (viewModel.state == SendCoinsViewModel.State.INPUT) {\n                if (blockchainState != null && blockchainState.replaying) {\n                    hintView.setTextColor(activity.getColor(R.color.fg_error));\n                    hintView.setVisibility(View.VISIBLE);\n                    hintView.setText(R.string.send_coins_fragment_hint_replaying);\n                } else if (viewModel.paymentIntent.mayEditAddress() && viewModel.validatedAddress == null\n                        && !receivingAddressView.getText().toString().trim().isEmpty()) {\n                    hintView.setTextColor(activity.getColor(R.color.fg_error));\n                    hintView.setVisibility(View.VISIBLE);\n                    hintView.setText(R.string.send_coins_fragment_receiving_address_error);\n                } else if (viewModel.dryrunException != null) {\n                    hintView.setTextColor(activity.getColor(R.color.fg_error));\n                    hintView.setVisibility(View.VISIBLE);\n                    if (viewModel.dryrunException instanceof DustySendRequested)\n                        hintView.setText(getString(R.string.send_coins_fragment_hint_dusty_send));\n                    else if (viewModel.dryrunException instanceof InsufficientMoneyException)\n                        hintView.setText(getString(R.string.send_coins_fragment_hint_insufficient_money,\n                                btcFormat.format(((InsufficientMoneyException) viewModel.dryrunException).missing)));\n                    else if (viewModel.dryrunException instanceof CouldNotAdjustDownwards)\n                        hintView.setText(getString(R.string.send_coins_fragment_hint_empty_wallet_failed));\n                    else\n                        hintView.setText(viewModel.dryrunException.toString());\n                } else if (viewModel.dryrunTransaction != null && viewModel.dryrunTransaction.getFee() != null) {\n                    hintView.setVisibility(View.VISIBLE);\n                    final int hintResId;\n                    final int colorResId;\n                    if (viewModel.feeCategory == FeeCategory.ECONOMIC) {\n                        hintResId = R.string.send_coins_fragment_hint_fee_economic;\n                        colorResId = R.color.fg_less_significant;\n                    } else if (viewModel.feeCategory == FeeCategory.PRIORITY) {\n                        hintResId = R.string.send_coins_fragment_hint_fee_priority;\n                        colorResId = R.color.fg_less_significant;\n                    } else {\n                        hintResId = R.string.send_coins_fragment_hint_fee;\n                        colorResId = R.color.fg_insignificant;\n                    }\n                    hintView.setTextColor(activity.getColor(colorResId));\n                    hintView.setText(getString(hintResId, btcFormat.format(viewModel.dryrunTransaction.getFee())));\n                } else if (viewModel.paymentIntent.mayEditAddress() && viewModel.validatedAddress != null\n                        && wallet != null && wallet.isAddressMine(viewModel.validatedAddress.address)) {\n                    hintView.setTextColor(activity.getColor(R.color.fg_insignificant));\n                    hintView.setVisibility(View.VISIBLE);\n                    hintView.setText(R.string.send_coins_fragment_receiving_address_own);\n                }\n            }\n\n            final Transaction sentTransaction = viewModel.sentTransaction.getValue();\n            if (sentTransaction != null && wallet != null) {\n                sentTransactionView.setVisibility(View.VISIBLE);\n                sentTransactionViewHolder\n                        .fullBind(new TransactionsAdapter.ListItem.TransactionItem(activity, sentTransaction,\n                                wallet, addressBook, btcFormat, application.maxConnectedPeers()));\n            } else {\n                sentTransactionView.setVisibility(View.GONE);\n            }\n\n            if (viewModel.directPaymentAck != null) {\n                directPaymentMessageView.setVisibility(View.VISIBLE);\n                directPaymentMessageView\n                        .setText(viewModel.directPaymentAck ? R.string.send_coins_fragment_direct_payment_ack\n                                : R.string.send_coins_fragment_direct_payment_nack);\n            } else {\n                directPaymentMessageView.setVisibility(View.GONE);\n            }\n\n            viewCancel.setEnabled(viewModel.state != SendCoinsViewModel.State.REQUEST_PAYMENT_REQUEST\n                    && viewModel.state != SendCoinsViewModel.State.DECRYPTING\n                    && viewModel.state != SendCoinsViewModel.State.SIGNING);\n            viewGo.setEnabled(everythingPlausible() && viewModel.dryrunTransaction != null && wallet != null\n                    && fees != null && (blockchainState == null || !blockchainState.replaying));\n\n            if (viewModel.state == null || viewModel.state == SendCoinsViewModel.State.REQUEST_PAYMENT_REQUEST) {\n                viewCancel.setText(R.string.button_cancel);\n                viewGo.setText(null);\n            } else if (viewModel.state == SendCoinsViewModel.State.INPUT) {\n                viewCancel.setText(R.string.button_cancel);\n                viewGo.setText(R.string.send_coins_fragment_button_send);\n            } else if (viewModel.state == SendCoinsViewModel.State.DECRYPTING) {\n                viewCancel.setText(R.string.button_cancel);\n                viewGo.setText(R.string.send_coins_fragment_state_decrypting);\n            } else if (viewModel.state == SendCoinsViewModel.State.SIGNING) {\n                viewCancel.setText(R.string.button_cancel);\n                viewGo.setText(R.string.send_coins_preparation_msg);\n            } else if (viewModel.state == SendCoinsViewModel.State.SENDING) {\n                viewCancel.setText(R.string.send_coins_fragment_button_back);\n                viewGo.setText(R.string.send_coins_sending_msg);\n            } else if (viewModel.state == SendCoinsViewModel.State.SENT) {\n                viewCancel.setText(R.string.send_coins_fragment_button_back);\n                viewGo.setText(R.string.send_coins_sent_msg);\n            } else if (viewModel.state == SendCoinsViewModel.State.FAILED) {\n                viewCancel.setText(R.string.send_coins_fragment_button_back);\n                viewGo.setText(R.string.send_coins_failed_msg);\n            }\n\n            final boolean privateKeyPasswordViewVisible = (viewModel.state == SendCoinsViewModel.State.INPUT\n                    || viewModel.state == SendCoinsViewModel.State.DECRYPTING) && wallet != null\n                    && wallet.isEncrypted();\n            privateKeyPasswordViewGroup.setVisibility(privateKeyPasswordViewVisible ? View.VISIBLE : View.GONE);\n            privateKeyPasswordView.setEnabled(viewModel.state == SendCoinsViewModel.State.INPUT);\n\n            // focus linking\n            final int activeAmountViewId = amountCalculatorLink.activeTextView().getId();\n            receivingAddressView.setNextFocusDownId(activeAmountViewId);\n            receivingAddressView.setNextFocusForwardId(activeAmountViewId);\n            amountCalculatorLink.setNextFocusId(\n                    privateKeyPasswordViewVisible ? R.id.send_coins_private_key_password : R.id.send_coins_go);\n            privateKeyPasswordView.setNextFocusUpId(activeAmountViewId);\n            privateKeyPasswordView.setNextFocusDownId(R.id.send_coins_go);\n            privateKeyPasswordView.setNextFocusForwardId(R.id.send_coins_go);\n            viewGo.setNextFocusUpId(\n                    privateKeyPasswordViewVisible ? R.id.send_coins_private_key_password : activeAmountViewId);\n        } else {\n            getView().setVisibility(View.GONE);\n        }\n    }\n\n    private void initStateFromIntentExtras(final Bundle extras) {\n        final PaymentIntent paymentIntent = extras.getParcelable(SendCoinsActivity.INTENT_EXTRA_PAYMENT_INTENT);\n        final FeeCategory feeCategory = (FeeCategory) extras\n                .getSerializable(SendCoinsActivity.INTENT_EXTRA_FEE_CATEGORY);\n\n        if (feeCategory != null) {\n            log.info(\"got fee category {}\", feeCategory);\n            viewModel.feeCategory = feeCategory;\n        }\n\n        updateStateFrom(paymentIntent);\n    }\n\n    private void initStateFromBitcoinUri(final Uri bitcoinUri) {\n        final String input = bitcoinUri.toString();\n\n        new StringInputParser(input) {\n            @Override\n            protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                updateStateFrom(paymentIntent);\n            }\n\n            @Override\n            protected void handlePrivateKey(final PrefixedChecksummedBytes key) {\n                throw new UnsupportedOperationException();\n            }\n\n            @Override\n            protected void handleDirectTransaction(final Transaction transaction) throws VerificationException {\n                throw new UnsupportedOperationException();\n            }\n\n            @Override\n            protected void error(final int messageResId, final Object... messageArgs) {\n                final DialogBuilder dialog = DialogBuilder.dialog(activity, 0, messageResId, messageArgs);\n                dialog.singleDismissButton(activityDismissListener);\n                dialog.show();\n            }\n        }.parse();\n    }\n\n    private void initStateFromPaymentRequest(final String mimeType, final byte[] input) {\n        new BinaryInputParser(mimeType, input) {\n            @Override\n            protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                updateStateFrom(paymentIntent);\n            }\n\n            @Override\n            protected void error(final int messageResId, final Object... messageArgs) {\n                final DialogBuilder dialog = DialogBuilder.dialog(activity, 0, messageResId, messageArgs);\n                dialog.singleDismissButton(activityDismissListener);\n                dialog.show();\n            }\n        }.parse();\n    }\n\n    private void initStateFromIntentUri(final String mimeType, final Uri bitcoinUri) {\n        try {\n            final InputStream is = contentResolver.openInputStream(bitcoinUri);\n\n            new StreamInputParser(mimeType, is) {\n                @Override\n                protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                    updateStateFrom(paymentIntent);\n                }\n\n                @Override\n                protected void error(final int messageResId, final Object... messageArgs) {\n                    final DialogBuilder dialog = DialogBuilder.dialog(activity, 0, messageResId, messageArgs);\n                    dialog.singleDismissButton(activityDismissListener);\n                    dialog.show();\n                }\n            }.parse();\n        } catch (final FileNotFoundException x) {\n            throw new RuntimeException(x);\n        }\n    }\n\n    private void updateStateFrom(final PaymentIntent paymentIntent) {\n        log.info(\"got {}\", paymentIntent);\n\n        viewModel.paymentIntent = paymentIntent;\n\n        viewModel.validatedAddress = null;\n        viewModel.directPaymentAck = null;\n\n        // delay these actions until fragment is resumed\n        handler.post(() -> {\n            if (paymentIntent.hasPaymentRequestUrl() && paymentIntent.isBluetoothPaymentRequestUrl()) {\n                if (bluetoothAdapter.isEnabled())\n                    requestPaymentRequest();\n                else\n                    // ask for permission to enable bluetooth\n                    startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE),\n                            REQUEST_CODE_ENABLE_BLUETOOTH_FOR_PAYMENT_REQUEST);\n            } else if (paymentIntent.hasPaymentRequestUrl() && paymentIntent.isHttpPaymentRequestUrl()) {\n                requestPaymentRequest();\n            } else {\n                setState(SendCoinsViewModel.State.INPUT);\n\n                receivingAddressView.setText(null);\n                amountCalculatorLink.setBtcAmount(paymentIntent.getAmount());\n\n                if (paymentIntent.isBluetoothPaymentUrl())\n                    directPaymentEnableView.setChecked(bluetoothAdapter != null && bluetoothAdapter.isEnabled());\n                else if (paymentIntent.isHttpPaymentUrl())\n                    directPaymentEnableView.setChecked(true);\n\n                requestFocusFirst();\n                updateView();\n                handler.post(dryrunRunnable);\n            }\n        });\n    }\n\n    private void requestPaymentRequest() {\n        final String paymentRequestHost;\n        if (!Bluetooth.isBluetoothUrl(viewModel.paymentIntent.paymentRequestUrl))\n            paymentRequestHost = Uri.parse(viewModel.paymentIntent.paymentRequestUrl).getHost();\n        else\n            paymentRequestHost = Bluetooth\n                    .decompressMac(Bluetooth.getBluetoothMac(viewModel.paymentIntent.paymentRequestUrl));\n\n        viewModel.progress\n                .setValue(getString(R.string.send_coins_fragment_request_payment_request_progress, paymentRequestHost));\n        setState(SendCoinsViewModel.State.REQUEST_PAYMENT_REQUEST);\n\n        final RequestPaymentRequestTask.ResultCallback callback = new RequestPaymentRequestTask.ResultCallback() {\n            @Override\n            public void onPaymentIntent(final PaymentIntent paymentIntent) {\n                viewModel.progress.setValue(null);\n\n                if (viewModel.paymentIntent.isExtendedBy(paymentIntent)) {\n                    // success\n                    setState(SendCoinsViewModel.State.INPUT);\n                    updateStateFrom(paymentIntent);\n                    updateView();\n                    handler.post(dryrunRunnable);\n                } else {\n                    final List<String> reasons = new LinkedList<>();\n                    if (!viewModel.paymentIntent.equalsAddress(paymentIntent))\n                        reasons.add(\"address\");\n                    if (!viewModel.paymentIntent.equalsAmount(paymentIntent))\n                        reasons.add(\"amount\");\n                    if (reasons.isEmpty())\n                        reasons.add(\"unknown\");\n\n                    final DialogBuilder dialog = DialogBuilder.warn(activity,\n                            R.string.send_coins_fragment_request_payment_request_failed_title,\n                            R.string.send_coins_fragment_request_payment_request_failed_message,\n                            paymentRequestHost, Joiner.on(\", \").join(reasons));\n                    dialog.singleDismissButton((d, which) -> handleCancel());\n                    dialog.show();\n\n                    log.info(\"BIP72 trust check failed: {}\", reasons);\n                }\n            }\n\n            @Override\n            public void onFail(final int messageResId, final Object... messageArgs) {\n                viewModel.progress.setValue(null);\n\n                final DialogBuilder dialog = DialogBuilder.warn(activity,\n                        R.string.send_coins_fragment_request_payment_request_failed_title, messageResId, messageArgs);\n                dialog.setPositiveButton(R.string.button_retry, (d, which) -> requestPaymentRequest());\n                dialog.setNegativeButton(R.string.button_dismiss, (d, which) -> {\n                    if (!viewModel.paymentIntent.hasOutputs())\n                        handleCancel();\n                    else\n                        setState(SendCoinsViewModel.State.INPUT);\n                });\n                dialog.show();\n            }\n        };\n\n        if (!Bluetooth.isBluetoothUrl(viewModel.paymentIntent.paymentRequestUrl))\n            new RequestPaymentRequestTask.HttpRequestTask(backgroundHandler, callback, application.httpUserAgent())\n                    .requestPaymentRequest(viewModel.paymentIntent.paymentRequestUrl);\n        else\n            new RequestPaymentRequestTask.BluetoothRequestTask(backgroundHandler, callback, bluetoothAdapter)\n                    .requestPaymentRequest(viewModel.paymentIntent.paymentRequestUrl);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SendCoinsOfflineTask.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.os.Handler;\nimport android.os.Looper;\nimport de.schildbach.wallet.Constants;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.ECKey;\nimport org.bitcoinj.core.InsufficientMoneyException;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.crypto.KeyCrypterException;\nimport org.bitcoinj.wallet.SendRequest;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.Wallet.CompletionException;\nimport org.bitcoinj.wallet.Wallet.CouldNotAdjustDownwards;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\n/**\n * @author Andreas Schildbach\n */\npublic abstract class SendCoinsOfflineTask {\n    private final Wallet wallet;\n    private final Handler backgroundHandler;\n    private final Handler callbackHandler;\n\n    private static final Logger log = LoggerFactory.getLogger(SendCoinsOfflineTask.class);\n\n    public SendCoinsOfflineTask(final Wallet wallet, final Handler backgroundHandler) {\n        this.wallet = wallet;\n        this.backgroundHandler = backgroundHandler;\n        this.callbackHandler = new Handler(Looper.myLooper());\n    }\n\n    public final void sendCoinsOffline(final SendRequest sendRequest) {\n        backgroundHandler.post(() -> {\n            org.bitcoinj.core.Context.propagate(Constants.CONTEXT);\n\n            try {\n                log.info(\"sending: {}\", sendRequest);\n                final Transaction transaction = wallet.sendCoinsOffline(sendRequest); // can take long\n                log.info(\"send successful, transaction committed: {}\", transaction.getTxId());\n\n                callbackHandler.post(() -> onSuccess(transaction));\n            } catch (final InsufficientMoneyException x) {\n                final Coin missing = x.missing;\n                if (missing != null)\n                    log.info(\"send failed, {} missing\", missing.toFriendlyString());\n                else\n                    log.info(\"send failed, insufficient coins\");\n\n                callbackHandler.post(() -> onInsufficientMoney(x.missing));\n            } catch (final ECKey.KeyIsEncryptedException x) {\n                log.info(\"send failed, key is encrypted: {}\", x.getMessage());\n\n                callbackHandler.post(() -> onFailure(x));\n            } catch (final KeyCrypterException x) {\n                log.info(\"send failed, key crypter exception: {}\", x.getMessage());\n\n                final boolean isEncrypted = wallet.isEncrypted();\n                callbackHandler.post(() -> {\n                    if (isEncrypted)\n                        onInvalidEncryptionKey();\n                    else\n                        onFailure(x);\n                });\n            } catch (final CouldNotAdjustDownwards x) {\n                log.info(\"send failed, could not adjust downwards: {}\", x.getMessage());\n\n                callbackHandler.post(() -> onEmptyWalletFailed());\n            } catch (final CompletionException x) {\n                log.info(\"send failed, cannot complete: {}\", x.getMessage());\n\n                callbackHandler.post(() -> onFailure(x));\n            }\n        });\n    }\n\n    protected abstract void onSuccess(Transaction transaction);\n\n    protected abstract void onInsufficientMoney(Coin missing);\n\n    protected abstract void onInvalidEncryptionKey();\n\n    protected void onEmptyWalletFailed() {\n        onFailure(new CouldNotAdjustDownwards());\n    }\n\n    protected abstract void onFailure(Exception exception);\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SendCoinsViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.app.Application;\nimport androidx.annotation.Nullable;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.addressbook.AddressBookDatabase;\nimport de.schildbach.wallet.addressbook.AddressBookEntry;\nimport de.schildbach.wallet.data.DynamicFeeLiveData;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.data.SelectedExchangeRateLiveData;\nimport de.schildbach.wallet.data.TransactionLiveData;\nimport de.schildbach.wallet.data.WalletBalanceLiveData;\nimport de.schildbach.wallet.ui.AddressAndLabel;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.wallet.Wallet.BalanceType;\n\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SendCoinsViewModel extends AndroidViewModel {\n    public enum State {\n        REQUEST_PAYMENT_REQUEST, //\n        INPUT, // asks for confirmation\n        DECRYPTING, SIGNING, SENDING, SENT, FAILED // sending states\n    }\n\n    private final WalletApplication application;\n    public final LiveData<List<AddressBookEntry>> addressBook;\n    public final SelectedExchangeRateLiveData exchangeRate;\n    public final DynamicFeeLiveData dynamicFees;\n    public final WalletBalanceLiveData balance;\n    public final MutableLiveData<String> progress = new MutableLiveData<>();\n    public final TransactionLiveData sentTransaction;\n\n    @Nullable\n    public State state = null;\n    @Nullable\n    public PaymentIntent paymentIntent = null;\n    public FeeCategory feeCategory = FeeCategory.NORMAL;\n    @Nullable\n    public AddressAndLabel validatedAddress = null;\n    @Nullable\n    public Boolean directPaymentAck = null;\n    @Nullable\n    public Transaction dryrunTransaction = null;\n    @Nullable\n    public Exception dryrunException = null;\n\n    public SendCoinsViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.addressBook = AddressBookDatabase.getDatabase(this.application).addressBookDao().getAll();\n        this.exchangeRate = new SelectedExchangeRateLiveData(this.application);\n        this.dynamicFees = new DynamicFeeLiveData(this.application);\n        this.balance = new WalletBalanceLiveData(this.application, BalanceType.AVAILABLE);\n        this.sentTransaction = new TransactionLiveData(this.application);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SweepWalletActivity.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.service.BlockchainService;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport org.bitcoinj.core.PrefixedChecksummedBytes;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class SweepWalletActivity extends AbstractWalletActivity {\n    public static final String INTENT_EXTRA_KEY = \"sweep_key\";\n\n    public static void start(final Context context) {\n        context.startActivity(new Intent(context, SweepWalletActivity.class));\n    }\n\n    public static void start(final Context context, final PrefixedChecksummedBytes key) {\n        final Intent intent = new Intent(context, SweepWalletActivity.class);\n        // This crashes. For reasons.\n        // Jokes aside though this is cause PrefixedChecksummedBytes fails to deserialize properly for altcoins.\n        //intent.putExtra(INTENT_EXTRA_KEY, key);\n        context.startActivity(intent);\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        setContentView(R.layout.sweep_wallet_content);\n\n        BlockchainService.start(this, false);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SweepWalletFragment.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.app.Activity;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Process;\nimport android.text.SpannableStringBuilder;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.view.animation.AnimationUtils;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.lifecycle.ViewModelProvider;\nimport com.google.common.collect.ComparisonChain;\nimport com.google.common.util.concurrent.ListenableFuture;\nimport de.schildbach.wallet.Configuration;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.R;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.PaymentIntent;\nimport de.schildbach.wallet.ui.AbstractWalletActivity;\nimport de.schildbach.wallet.ui.AbstractWalletActivityViewModel;\nimport de.schildbach.wallet.ui.DialogBuilder;\nimport de.schildbach.wallet.ui.DialogEvent;\nimport de.schildbach.wallet.ui.InputParser.StringInputParser;\nimport de.schildbach.wallet.ui.ProgressDialogFragment;\nimport de.schildbach.wallet.ui.TransactionsAdapter;\nimport de.schildbach.wallet.ui.scan.ScanActivity;\nimport de.schildbach.wallet.util.MonetarySpannable;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.DumpedPrivateKey;\nimport org.bitcoinj.core.ECKey;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.core.PrefixedChecksummedBytes;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionConfidence;\nimport org.bitcoinj.core.TransactionConfidence.ConfidenceType;\nimport org.bitcoinj.core.TransactionInput;\nimport org.bitcoinj.core.TransactionOutPoint;\nimport org.bitcoinj.core.TransactionOutput;\nimport org.bitcoinj.core.UTXO;\nimport org.bitcoinj.core.VerificationException;\nimport org.bitcoinj.crypto.BIP38PrivateKey;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.utils.MonetaryFormat;\nimport org.bitcoinj.utils.Threading;\nimport org.bitcoinj.wallet.BasicKeyChain;\nimport org.bitcoinj.wallet.DeterministicKeyChain;\nimport org.bitcoinj.wallet.DeterministicSeed;\nimport org.bitcoinj.wallet.KeyChainGroup;\nimport org.bitcoinj.wallet.SendRequest;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.Wallet.BalanceType;\nimport org.bitcoinj.wallet.WalletTransaction;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Comparator;\nimport java.util.HashMap;\nimport java.util.Map;\nimport java.util.Set;\nimport java.util.TreeSet;\n\nimport static androidx.core.util.Preconditions.checkState;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SweepWalletFragment extends Fragment {\n    private AbstractWalletActivity activity;\n    private WalletApplication application;\n    private Configuration config;\n    private FragmentManager fragmentManager;\n\n    private final Handler handler = new Handler();\n    private HandlerThread backgroundThread;\n    private Handler backgroundHandler;\n\n    private TextView messageView;\n    private View passwordViewGroup;\n    private EditText passwordView;\n    private View badPasswordView;\n    private TextView balanceView;\n    private View hintView;\n    private ViewGroup sweepTransactionView;\n    private TransactionsAdapter.TransactionViewHolder sweepTransactionViewHolder;\n    private Button viewGo;\n    private Button viewCancel;\n\n    private MenuItem reloadAction;\n    private MenuItem scanAction;\n\n    private AbstractWalletActivityViewModel walletActivityViewModel;\n    private SweepWalletViewModel viewModel;\n\n    private static final int REQUEST_CODE_SCAN = 0;\n\n    private static final Logger log = LoggerFactory.getLogger(SweepWalletFragment.class);\n\n    @Override\n    public void onAttach(final Context context) {\n        super.onAttach(context);\n        this.activity = (AbstractWalletActivity) context;\n        this.application = activity.getWalletApplication();\n        this.config = application.getConfiguration();\n    }\n\n    @Override\n    public void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        this.fragmentManager = getChildFragmentManager();\n\n        setHasOptionsMenu(true);\n\n        if (!Constants.ENABLE_SWEEP_WALLET)\n            throw new IllegalStateException(\"ENABLE_SWEEP_WALLET is disabled\");\n\n        walletActivityViewModel = new ViewModelProvider(activity).get(AbstractWalletActivityViewModel.class);\n        walletActivityViewModel.wallet.observe(this, wallet -> updateView());\n        viewModel = new ViewModelProvider(this).get(SweepWalletViewModel.class);\n        viewModel.getDynamicFees().observe(this, dynamicFees -> updateView());\n        viewModel.progress.observe(this, new ProgressDialogFragment.Observer(fragmentManager));\n        viewModel.privateKeyToSweep.observe(this, privateKeyToSweep -> updateView());\n        viewModel.walletToSweep.observe(this, walletToSweep -> {\n            if (walletToSweep != null) {\n                balanceView.setVisibility(View.VISIBLE);\n                final MonetaryFormat btcFormat = config.getFormat();\n                final MonetarySpannable balanceSpannable = new MonetarySpannable(btcFormat,\n                        walletToSweep.getBalance(BalanceType.ESTIMATED));\n                balanceSpannable.applyMarkup(null, null);\n                final SpannableStringBuilder balance = new SpannableStringBuilder(balanceSpannable);\n                balance.insert(0, \": \");\n                balance.insert(0, getString(R.string.sweep_wallet_fragment_balance));\n                balanceView.setText(balance);\n            } else {\n                balanceView.setVisibility(View.GONE);\n            }\n            updateView();\n        });\n        viewModel.sentTransaction.observe(this, transaction -> {\n            if (viewModel.state == SweepWalletViewModel.State.SENDING) {\n                final TransactionConfidence confidence = transaction.getConfidence();\n                final ConfidenceType confidenceType = confidence.getConfidenceType();\n                final int numBroadcastPeers = confidence.numBroadcastPeers();\n                if (confidenceType == ConfidenceType.DEAD)\n                    setState(SweepWalletViewModel.State.FAILED);\n                else if (numBroadcastPeers > 1 || confidenceType == ConfidenceType.BUILDING)\n                    setState(SweepWalletViewModel.State.SENT);\n            }\n            updateView();\n        });\n        viewModel.showDialog.observe(this, new DialogEvent.Observer(activity));\n        viewModel.showDialogWithRetryRequestBalance.observe(this, new DialogEvent.Observer(activity) {\n            @Override\n            protected void onBuildButtons(final DialogBuilder dialog) {\n                dialog.setPositiveButton(R.string.button_retry, (d, which) -> requestWalletBalance());\n                dialog.setNegativeButton(R.string.button_dismiss, null);\n            }\n        });\n\n        backgroundThread = new HandlerThread(\"backgroundThread\", Process.THREAD_PRIORITY_BACKGROUND);\n        backgroundThread.start();\n        backgroundHandler = new Handler(backgroundThread.getLooper());\n\n        if (savedInstanceState == null) {\n            final Intent intent = activity.getIntent();\n\n            if (intent.hasExtra(SweepWalletActivity.INTENT_EXTRA_KEY)) {\n                final PrefixedChecksummedBytes privateKeyToSweep = (PrefixedChecksummedBytes) intent\n                        .getSerializableExtra(SweepWalletActivity.INTENT_EXTRA_KEY);\n                viewModel.privateKeyToSweep.setValue(privateKeyToSweep);\n\n                // delay until fragment is resumed\n                handler.post(maybeDecodeKeyRunnable);\n            }\n        }\n    }\n\n    @Override\n    public View onCreateView(final LayoutInflater inflater, final ViewGroup container,\n            final Bundle savedInstanceState) {\n        final View view = inflater.inflate(R.layout.sweep_wallet_fragment, container, false);\n\n        messageView = view.findViewById(R.id.sweep_wallet_fragment_message);\n\n        passwordViewGroup = view.findViewById(R.id.sweep_wallet_fragment_password_group);\n        passwordView = view.findViewById(R.id.sweep_wallet_fragment_password);\n        badPasswordView = view.findViewById(R.id.sweep_wallet_fragment_bad_password);\n\n        balanceView = view.findViewById(R.id.sweep_wallet_fragment_balance);\n\n        hintView = view.findViewById(R.id.sweep_wallet_fragment_hint);\n\n        sweepTransactionView = view.findViewById(R.id.transaction_row);\n        sweepTransactionView.setVisibility(View.GONE);\n        sweepTransactionView.setLayoutAnimation(AnimationUtils.loadLayoutAnimation(activity,\n                R.anim.transaction_layout_anim));\n        sweepTransactionViewHolder = new TransactionsAdapter.TransactionViewHolder(view);\n\n        viewGo = view.findViewById(R.id.send_coins_go);\n        viewGo.setOnClickListener(v -> {\n            if (viewModel.state == SweepWalletViewModel.State.DECODE_KEY)\n                handleDecrypt();\n            if (viewModel.state == SweepWalletViewModel.State.CONFIRM_SWEEP)\n                handleSweep();\n        });\n\n        viewCancel = view.findViewById(R.id.send_coins_cancel);\n        viewCancel.setOnClickListener(v -> activity.finish());\n\n        return view;\n    }\n\n    @Override\n    public void onDestroy() {\n        backgroundThread.getLooper().quit();\n        super.onDestroy();\n    }\n\n    @Override\n    public void onActivityResult(final int requestCode, final int resultCode, final Intent intent) {\n        if (requestCode == REQUEST_CODE_SCAN) {\n            if (resultCode == Activity.RESULT_OK) {\n                final String input = intent.getStringExtra(ScanActivity.INTENT_EXTRA_RESULT);\n\n                new StringInputParser(input) {\n                    @Override\n                    protected void handlePrivateKey(final PrefixedChecksummedBytes key) {\n                        viewModel.privateKeyToSweep.setValue(key);\n                        setState(SweepWalletViewModel.State.DECODE_KEY);\n                        maybeDecodeKey();\n                    }\n\n                    @Override\n                    protected void handlePaymentIntent(final PaymentIntent paymentIntent) {\n                        cannotClassify(input);\n                    }\n\n                    @Override\n                    protected void handleDirectTransaction(final Transaction transaction) throws VerificationException {\n                        cannotClassify(input);\n                    }\n\n                    @Override\n                    protected void error(final int messageResId, final Object... messageArgs) {\n                        viewModel.showDialog.setValue(DialogEvent.dialog(R.string.button_scan,\n                                messageResId, messageArgs));\n                    }\n                }.parse();\n            }\n        }\n    }\n\n    @Override\n    public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {\n        inflater.inflate(R.menu.sweep_wallet_fragment_options, menu);\n\n        reloadAction = menu.findItem(R.id.sweep_wallet_options_reload);\n        scanAction = menu.findItem(R.id.sweep_wallet_options_scan);\n\n        final PackageManager pm = activity.getPackageManager();\n        scanAction.setVisible(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)\n                || pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT));\n\n        super.onCreateOptionsMenu(menu, inflater);\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(final MenuItem item) {\n        int itemId = item.getItemId();\n        if (itemId == R.id.sweep_wallet_options_reload) {\n            handleReload();\n            return true;\n        } else if (itemId == R.id.sweep_wallet_options_scan) {\n            ScanActivity.startForResult(this, activity, REQUEST_CODE_SCAN);\n            return true;\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    private void handleReload() {\n        if (viewModel.walletToSweep.getValue() == null)\n            return;\n        requestWalletBalance();\n    }\n\n    private final Runnable maybeDecodeKeyRunnable = () -> maybeDecodeKey();\n\n    private void maybeDecodeKey() {\n        checkState(viewModel.state == SweepWalletViewModel.State.DECODE_KEY);\n        final PrefixedChecksummedBytes privateKeyToSweep = viewModel.privateKeyToSweep.getValue();\n        checkState(privateKeyToSweep != null);\n\n        if (privateKeyToSweep instanceof DumpedPrivateKey) {\n            final ECKey key = ((DumpedPrivateKey) privateKeyToSweep).getKey();\n            askConfirmSweep(key);\n        } else if (privateKeyToSweep instanceof BIP38PrivateKey) {\n            badPasswordView.setVisibility(View.INVISIBLE);\n\n            final String password = passwordView.getText().toString().trim();\n            passwordView.setText(null); // get rid of it asap\n\n            if (!password.isEmpty()) {\n                viewModel.progress.setValue(getString(R.string.sweep_wallet_fragment_decrypt_progress));\n\n                new DecodePrivateKeyTask(backgroundHandler) {\n                    @Override\n                    protected void onSuccess(ECKey decryptedKey) {\n                        log.info(\"successfully decoded BIP38 private key\");\n\n                        viewModel.progress.setValue(null);\n\n                        askConfirmSweep(decryptedKey);\n                    }\n\n                    @Override\n                    protected void onBadPassphrase() {\n                        log.info(\"failed decoding BIP38 private key (bad password)\");\n\n                        viewModel.progress.setValue(null);\n\n                        badPasswordView.setVisibility(View.VISIBLE);\n                        passwordView.requestFocus();\n                    }\n                }.decodePrivateKey((BIP38PrivateKey) privateKeyToSweep, password);\n            }\n        } else {\n            throw new IllegalStateException(\"cannot handle type: \" + privateKeyToSweep.getClass().getName());\n        }\n    }\n\n    private void askConfirmSweep(final ECKey key) {\n        final Wallet walletToSweep = Wallet.createBasic(Constants.NETWORK_PARAMETERS);\n        walletToSweep.importKey(key);\n        viewModel.walletToSweep.setValue(walletToSweep);\n\n        setState(SweepWalletViewModel.State.CONFIRM_SWEEP);\n\n        // delay until fragment is resumed\n        handler.post(requestWalletBalanceRunnable);\n    }\n\n    private final Runnable requestWalletBalanceRunnable = () -> requestWalletBalance();\n\n    private static final Comparator<UTXO> UTXO_COMPARATOR = (lhs, rhs) -> ComparisonChain.start().compare(lhs.getHash(), rhs.getHash()).compare(lhs.getIndex(), rhs.getIndex())\n            .result();\n\n    private void requestWalletBalance() {\n        viewModel.progress.setValue(getString(R.string.sweep_wallet_fragment_request_wallet_balance_progress));\n\n        final RequestWalletBalanceTask.ResultCallback callback = new RequestWalletBalanceTask.ResultCallback() {\n            @Override\n            public void onResult(final Set<UTXO> utxos) {\n                final Wallet wallet = walletActivityViewModel.wallet.getValue();\n\n                viewModel.progress.setValue(null);\n\n                // Filter UTXOs we've already spent and sort the rest.\n                final Set<Transaction> walletTxns = wallet.getTransactions(false);\n                final Set<UTXO> sortedUtxos = new TreeSet<>(UTXO_COMPARATOR);\n                for (final UTXO utxo : utxos)\n                    if (!utxoSpentBy(walletTxns, utxo))\n                        sortedUtxos.add(utxo);\n\n                // Fake transaction funding the wallet to sweep.\n                final Map<Sha256Hash, Transaction> fakeTxns = new HashMap<>();\n                for (final UTXO utxo : sortedUtxos) {\n                    Transaction fakeTx = fakeTxns.get(utxo.getHash());\n                    if (fakeTx == null) {\n                        fakeTx = new FakeTransaction(Constants.NETWORK_PARAMETERS, utxo.getHash(), utxo.getHash());\n                        fakeTx.getConfidence().setConfidenceType(ConfidenceType.BUILDING);\n                        fakeTxns.put(fakeTx.getTxId(), fakeTx);\n                    }\n                    final TransactionOutput fakeOutput = new TransactionOutput(Constants.NETWORK_PARAMETERS, fakeTx,\n                            utxo.getValue(), utxo.getScript().getProgram());\n                    // Fill with output dummies as needed.\n                    while (fakeTx.getOutputs().size() < utxo.getIndex())\n                        fakeTx.addOutput(new TransactionOutput(Constants.NETWORK_PARAMETERS, fakeTx,\n                                Coin.NEGATIVE_SATOSHI, new byte[] {}));\n                    // Add the actual output we will spend later.\n                    fakeTx.addOutput(fakeOutput);\n                }\n\n                final Wallet walletToSweep = viewModel.walletToSweep.getValue();\n                walletToSweep.clearTransactions(0);\n                for (final Transaction tx : fakeTxns.values())\n                    walletToSweep.addWalletTransaction(new WalletTransaction(WalletTransaction.Pool.UNSPENT, tx));\n                //log.info(\"built wallet to sweep:\\n{}\",\n                //        walletToSweep.toString(false, false, null, true, false, null));\n                viewModel.walletToSweep.setValue(walletToSweep);\n            }\n\n            private boolean utxoSpentBy(final Set<Transaction> transactions, final UTXO utxo) {\n                for (final Transaction tx : transactions) {\n                    for (final TransactionInput input : tx.getInputs()) {\n                        final TransactionOutPoint outpoint = input.getOutpoint();\n                        if (outpoint.getHash().equals(utxo.getHash()) && outpoint.getIndex() == utxo.getIndex())\n                            return true;\n                    }\n                }\n                return false;\n            }\n\n            @Override\n            public void onFail(final int messageResId, final Object... messageArgs) {\n                viewModel.progress.setValue(null);\n                viewModel.showDialogWithRetryRequestBalance.setValue(DialogEvent.warn(\n                        R.string.sweep_wallet_fragment_request_wallet_balance_failed_title, messageResId, messageArgs));\n            }\n        };\n\n        final Wallet walletToSweep = viewModel.walletToSweep.getValue();\n        final ECKey key = walletToSweep.getImportedKeys().iterator().next();\n        new RequestWalletBalanceTask(backgroundHandler, callback).requestWalletBalance(activity.getAssets(), key);\n    }\n\n    private void setState(final SweepWalletViewModel.State state) {\n        viewModel.state = state;\n\n        updateView();\n    }\n\n    private void updateView() {\n        final PrefixedChecksummedBytes privateKeyToSweep = viewModel.privateKeyToSweep.getValue();\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        final Map<FeeCategory, Coin> fees = viewModel.getDynamicFees().getValue();\n        final MonetaryFormat btcFormat = config.getFormat();\n\n        if (viewModel.state == SweepWalletViewModel.State.DECODE_KEY && privateKeyToSweep == null) {\n            messageView.setVisibility(View.VISIBLE);\n            messageView.setText(R.string.sweep_wallet_fragment_wallet_unknown);\n        } else if (viewModel.state == SweepWalletViewModel.State.DECODE_KEY && privateKeyToSweep != null) {\n            messageView.setVisibility(View.VISIBLE);\n            messageView.setText(R.string.sweep_wallet_fragment_encrypted);\n        } else if (privateKeyToSweep != null) {\n            messageView.setVisibility(View.GONE);\n        }\n\n        passwordViewGroup.setVisibility(\n                viewModel.state == SweepWalletViewModel.State.DECODE_KEY && privateKeyToSweep != null\n                        ? View.VISIBLE : View.GONE);\n\n        hintView.setVisibility(\n                viewModel.state == SweepWalletViewModel.State.DECODE_KEY && privateKeyToSweep == null\n                        ? View.VISIBLE : View.GONE);\n\n        final Transaction sentTransaction = viewModel.sentTransaction.getValue();\n        if (sentTransaction != null) {\n            sweepTransactionView.setVisibility(View.VISIBLE);\n            sweepTransactionViewHolder\n                    .fullBind(new TransactionsAdapter.ListItem.TransactionItem(activity, sentTransaction, wallet,\n                            null, btcFormat, application.maxConnectedPeers()));\n        } else {\n            sweepTransactionView.setVisibility(View.GONE);\n        }\n\n        final Wallet walletToSweep = viewModel.walletToSweep.getValue();\n        if (viewModel.state == SweepWalletViewModel.State.DECODE_KEY) {\n            viewCancel.setText(R.string.button_cancel);\n            viewGo.setText(R.string.sweep_wallet_fragment_button_decrypt);\n            viewGo.setEnabled(privateKeyToSweep != null);\n        } else if (viewModel.state == SweepWalletViewModel.State.CONFIRM_SWEEP) {\n            viewCancel.setText(R.string.button_cancel);\n            viewGo.setText(R.string.sweep_wallet_fragment_button_sweep);\n            viewGo.setEnabled(wallet != null && walletToSweep != null\n                    && walletToSweep.getBalance(BalanceType.ESTIMATED).signum() > 0 && fees != null);\n        } else if (viewModel.state == SweepWalletViewModel.State.PREPARATION) {\n            viewCancel.setText(R.string.button_cancel);\n            viewGo.setText(R.string.send_coins_preparation_msg);\n            viewGo.setEnabled(false);\n        } else if (viewModel.state == SweepWalletViewModel.State.SENDING) {\n            viewCancel.setText(R.string.send_coins_fragment_button_back);\n            viewGo.setText(R.string.send_coins_sending_msg);\n            viewGo.setEnabled(false);\n        } else if (viewModel.state == SweepWalletViewModel.State.SENT) {\n            viewCancel.setText(R.string.send_coins_fragment_button_back);\n            viewGo.setText(R.string.send_coins_sent_msg);\n            viewGo.setEnabled(false);\n        } else if (viewModel.state == SweepWalletViewModel.State.FAILED) {\n            viewCancel.setText(R.string.send_coins_fragment_button_back);\n            viewGo.setText(R.string.send_coins_failed_msg);\n            viewGo.setEnabled(false);\n        }\n\n        viewCancel.setEnabled(viewModel.state != SweepWalletViewModel.State.PREPARATION);\n\n        // enable actions\n        if (reloadAction != null)\n            reloadAction.setEnabled(\n                    viewModel.state == SweepWalletViewModel.State.CONFIRM_SWEEP && walletToSweep != null);\n        if (scanAction != null)\n            scanAction.setEnabled(viewModel.state == SweepWalletViewModel.State.DECODE_KEY\n                    || viewModel.state == SweepWalletViewModel.State.CONFIRM_SWEEP);\n    }\n\n    private void handleDecrypt() {\n        handler.post(maybeDecodeKeyRunnable);\n    }\n\n    private void handleSweep() {\n        setState(SweepWalletViewModel.State.PREPARATION);\n\n        final Wallet wallet = walletActivityViewModel.wallet.getValue();\n        final Wallet walletToSweep = viewModel.walletToSweep.getValue();\n        final Map<FeeCategory, Coin> fees = viewModel.getDynamicFees().getValue();\n        final SendRequest sendRequest = SendRequest.emptyWallet(wallet.freshReceiveAddress());\n        sendRequest.feePerKb = fees.get(FeeCategory.NORMAL);\n\n        new SendCoinsOfflineTask(walletToSweep, backgroundHandler) {\n            @Override\n            protected void onSuccess(final Transaction transaction) {\n                viewModel.sentTransaction.setValue(transaction);\n                setState(SweepWalletViewModel.State.SENDING);\n\n                final ListenableFuture<Transaction> future = walletActivityViewModel.broadcastTransaction(transaction);\n                future.addListener(() -> {\n                    // Auto-close the dialog after a short delay\n                    if (config.getSendCoinsAutoclose())\n                        handler.postDelayed(() -> activity.finish(), Constants.AUTOCLOSE_DELAY_MS);\n                }, Threading.THREAD_POOL);\n            }\n\n            @Override\n            protected void onInsufficientMoney(@Nullable final Coin missing) {\n                setState(SweepWalletViewModel.State.FAILED);\n                viewModel.showDialog.setValue(DialogEvent.warn(\n                        R.string.sweep_wallet_fragment_insufficient_money_title,\n                        R.string.sweep_wallet_fragment_insufficient_money_msg)\n                );\n            }\n\n            @Override\n            protected void onEmptyWalletFailed() {\n                setState(SweepWalletViewModel.State.FAILED);\n                viewModel.showDialog.setValue(DialogEvent.warn(\n                        R.string.sweep_wallet_fragment_insufficient_money_title,\n                        R.string.sweep_wallet_fragment_insufficient_money_msg)\n                );\n            }\n\n            @Override\n            protected void onFailure(final Exception exception) {\n                setState(SweepWalletViewModel.State.FAILED);\n                viewModel.showDialog.setValue(DialogEvent.warn(0, R.string.send_coins_error_msg,\n                        exception.toString())\n                );\n            }\n\n            @Override\n            protected void onInvalidEncryptionKey() {\n                throw new RuntimeException(); // cannot happen\n            }\n        }.sendCoinsOffline(sendRequest); // send asynchronously\n    }\n\n    private static class FakeTransaction extends Transaction {\n        private final Sha256Hash txId, wTxId;\n\n        public FakeTransaction(final NetworkParameters params, final Sha256Hash txId, final Sha256Hash wTxId) {\n            super(params);\n            this.txId = txId;\n            this.wTxId = wTxId;\n        }\n\n        @Override\n        public Sha256Hash getTxId() {\n            return txId;\n        }\n\n        @Override\n        public Sha256Hash getWTxId() {\n            return wTxId;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/ui/send/SweepWalletViewModel.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.ui.send;\n\nimport android.app.Application;\nimport androidx.lifecycle.AndroidViewModel;\nimport androidx.lifecycle.MutableLiveData;\nimport de.schildbach.wallet.WalletApplication;\nimport de.schildbach.wallet.data.DynamicFeeLiveData;\nimport de.schildbach.wallet.data.TransactionLiveData;\nimport de.schildbach.wallet.ui.DialogEvent;\nimport org.bitcoinj.core.PrefixedChecksummedBytes;\nimport org.bitcoinj.wallet.Wallet;\n\n/**\n * @author Andreas Schildbach\n */\npublic class SweepWalletViewModel extends AndroidViewModel {\n    public enum State {\n        DECODE_KEY, // ask for password\n        CONFIRM_SWEEP, // displays balance and asks for confirmation\n        PREPARATION, SENDING, SENT, FAILED // sending states\n    }\n\n    private final WalletApplication application;\n    private DynamicFeeLiveData dynamicFees;\n    public final MutableLiveData<String> progress = new MutableLiveData<>();\n    public final MutableLiveData<PrefixedChecksummedBytes> privateKeyToSweep = new MutableLiveData<>();\n    public final MutableLiveData<Wallet> walletToSweep = new MutableLiveData<>();\n    public final TransactionLiveData sentTransaction;\n    public final MutableLiveData<DialogEvent> showDialog = new MutableLiveData<>();\n    public final MutableLiveData<DialogEvent> showDialogWithRetryRequestBalance = new MutableLiveData<>();\n\n    public State state = State.DECODE_KEY;\n\n    public SweepWalletViewModel(final Application application) {\n        super(application);\n        this.application = (WalletApplication) application;\n        this.sentTransaction = new TransactionLiveData(this.application);\n    }\n\n    public DynamicFeeLiveData getDynamicFees() {\n        if (dynamicFees == null)\n            dynamicFees = new DynamicFeeLiveData(application);\n        return dynamicFees;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Assets.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.content.res.AssetManager;\n\nimport java.io.IOException;\nimport java.io.InputStream;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Assets {\n    public static InputStream open(final AssetManager assets, final String filename) {\n        try {\n            return assets.open(filename);\n        } catch (final IOException x) {\n            throw new RuntimeException(x);\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Base43.java",
    "content": "/*\n * Copyright 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage de.schildbach.wallet.util;\n\nimport java.nio.charset.StandardCharsets;\nimport java.util.Arrays;\n\n/**\n * Base43, derived from bitcoinj Base58. It's meant to be used for efficiently stuffing binary data into QR\n * codes. The alphabet is picked to match the 'Alphanumeric' input mode of QR codes as closely as possible,\n * but at the same time be allowed in URIs.\n * \n * @author Andreas Schildbach\n */\npublic class Base43 {\n    private static final char[] ALPHABET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$*+-./:\".toCharArray();\n\n    private static final int[] INDEXES = new int[128];\n    static {\n        Arrays.fill(INDEXES, -1);\n        for (int i = 0; i < ALPHABET.length; i++)\n            INDEXES[ALPHABET[i]] = i;\n    }\n\n    public static String encode(byte[] input) {\n        if (input.length == 0)\n            return \"\";\n\n        input = copyOfRange(input, 0, input.length);\n\n        // Count leading zeroes.\n        int zeroCount = 0;\n        while (zeroCount < input.length && input[zeroCount] == 0)\n            ++zeroCount;\n\n        // The actual encoding.\n        final byte[] temp = new byte[input.length * 2];\n        int j = temp.length;\n\n        int startAt = zeroCount;\n        while (startAt < input.length) {\n            byte mod = divmod43(input, startAt);\n            if (input[startAt] == 0)\n                ++startAt;\n            temp[--j] = (byte) ALPHABET[mod];\n        }\n\n        // Strip extra '1' if there are some after decoding.\n        while (j < temp.length && temp[j] == ALPHABET[0])\n            ++j;\n\n        // Add as many leading '1' as there were leading zeros.\n        while (--zeroCount >= 0)\n            temp[--j] = (byte) ALPHABET[0];\n\n        final byte[] output = copyOfRange(temp, j, temp.length);\n\n        return new String(output, StandardCharsets.US_ASCII);\n    }\n\n    public static byte[] decode(final String input) throws IllegalArgumentException {\n        if (input.length() == 0)\n            return new byte[0];\n\n        final byte[] input43 = new byte[input.length()];\n        // Transform the String to a base43 byte sequence\n        for (int i = 0; i < input.length(); ++i) {\n            final char c = input.charAt(i);\n\n            int digit43 = -1;\n\n            if (c >= 0 && c < 128)\n                digit43 = INDEXES[c];\n\n            if (digit43 < 0)\n                throw new IllegalArgumentException(\"Illegal character \" + c + \" at \" + i);\n\n            input43[i] = (byte) digit43;\n        }\n\n        // Count leading zeroes\n        int zeroCount = 0;\n        while (zeroCount < input43.length && input43[zeroCount] == 0)\n            ++zeroCount;\n\n        // The encoding\n        final byte[] temp = new byte[input.length()];\n        int j = temp.length;\n\n        int startAt = zeroCount;\n        while (startAt < input43.length) {\n            byte mod = divmod256(input43, startAt);\n            if (input43[startAt] == 0)\n                ++startAt;\n\n            temp[--j] = mod;\n        }\n\n        // Do no add extra leading zeroes, move j to first non null byte.\n        while (j < temp.length && temp[j] == 0)\n            ++j;\n\n        return copyOfRange(temp, j - zeroCount, temp.length);\n    }\n\n    //\n    // number -> number / 43, returns number % 43\n    //\n    private static byte divmod43(final byte[] number, final int startAt) {\n        int remainder = 0;\n        for (int i = startAt; i < number.length; i++) {\n            final int digit256 = (int) number[i] & 0xFF;\n            final int temp = remainder * 256 + digit256;\n\n            number[i] = (byte) (temp / 43);\n\n            remainder = temp % 43;\n        }\n\n        return (byte) remainder;\n    }\n\n    //\n    // number -> number / 256, returns number % 256\n    //\n    private static byte divmod256(final byte[] number43, final int startAt) {\n        int remainder = 0;\n        for (int i = startAt; i < number43.length; i++) {\n            final int digit58 = (int) number43[i] & 0xFF;\n            final int temp = remainder * 43 + digit58;\n\n            number43[i] = (byte) (temp / 256);\n\n            remainder = temp % 256;\n        }\n\n        return (byte) remainder;\n    }\n\n    private static byte[] copyOfRange(final byte[] source, final int from, final int to) {\n        final byte[] range = new byte[to - from];\n        System.arraycopy(source, from, range, 0, range.length);\n\n        return range;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Bluetooth.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.bluetooth.BluetoothAdapter;\nimport androidx.annotation.Nullable;\nimport com.google.common.base.Splitter;\nimport com.google.common.base.Strings;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.lang.reflect.Field;\nimport java.lang.reflect.InvocationTargetException;\nimport java.util.Locale;\nimport java.util.UUID;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Bluetooth {\n    /** Used for local fetching of BIP70 payment requests. */\n    public static final UUID PAYMENT_REQUESTS_UUID = UUID.fromString(\"3357A7BB-762D-464A-8D9A-DCA592D57D59\");\n    /** Used for talking BIP70 payment messages and payment acks locally. */\n    public static final UUID BIP70_PAYMENT_PROTOCOL_UUID = UUID.fromString(\"3357A7BB-762D-464A-8D9A-DCA592D57D5A\");\n    public static final String BIP70_PAYMENT_PROTOCOL_NAME = \"Bitcoin BIP70 payment protocol\";\n    /** Used for talking the deprecated pre-BIP70 payment protocol. */\n    public static final UUID CLASSIC_PAYMENT_PROTOCOL_UUID = UUID.fromString(\"3357A7BB-762D-464A-8D9A-DCA592D57D5B\");\n    public static final String CLASSIC_PAYMENT_PROTOCOL_NAME = \"Bitcoin classic payment protocol (deprecated)\";\n    /** This URI parameter holds the MAC address for the deprecated pre-BIP70 payment protocol. */\n    public static final String MAC_URI_PARAM = \"bt\";\n    /** Android 6 uses this MAC address instead of the real one. */\n    private static final String MARSHMELLOW_FAKE_MAC = \"02:00:00:00:00:00\";\n\n    private static final Logger log = LoggerFactory.getLogger(Bluetooth.class);\n\n    public static @Nullable String getAddress(final BluetoothAdapter adapter) {\n        if (adapter == null)\n            return null;\n\n        final String address = adapter.getAddress();\n        if (!MARSHMELLOW_FAKE_MAC.equals(address))\n            return address;\n\n        // Horrible reflection hack needed to get the Bluetooth MAC for Marshmellow and above.\n        try {\n            final Field mServiceField = BluetoothAdapter.class.getDeclaredField(\"mService\");\n            mServiceField.setAccessible(true);\n            final Object mService = mServiceField.get(adapter);\n            if (mService == null)\n                return null;\n            return (String) mService.getClass().getMethod(\"getAddress\").invoke(mService);\n        } catch (final InvocationTargetException x) {\n            log.info(\"Problem determining Bluetooth MAC via reflection\", x);\n            return null;\n        } catch (final Exception x) {\n            throw new RuntimeException(x);\n        }\n    }\n\n    public static String compressMac(final String decompressedMac) throws IllegalArgumentException {\n        final StringBuilder compressedMac = new StringBuilder();\n        for (final CharSequence segment : Splitter.on(':').split(decompressedMac)) {\n            if (segment.length() > 2)\n                throw new IllegalArgumentException(\"Oversized segment in: \" + decompressedMac);\n            for (int i = 0; i < segment.length(); i++) {\n                final char c = segment.charAt(i);\n                if ((c < '0' || c > '9') && (c < 'a' || c > 'f') && (c < 'A' || c > 'F'))\n                    throw new IllegalArgumentException(\"Illegal character '\" + c + \"' in: \" + decompressedMac);\n            }\n            compressedMac.append(Strings.padStart(segment.toString(), 2, '0').toUpperCase(Locale.US));\n        }\n        return compressedMac.toString();\n    }\n\n    public static String decompressMac(final String compressedMac) throws IllegalArgumentException {\n        if (compressedMac.length() % 2 != 0)\n            throw new IllegalArgumentException(\"Impossible length: \" + compressedMac);\n        final StringBuilder decompressedMac = new StringBuilder();\n        for (int i = 0; i < compressedMac.length(); i++) {\n            final char c = compressedMac.charAt(i);\n            if ((c < '0' || c > '9') && (c < 'a' || c > 'f') && (c < 'A' || c > 'F'))\n                throw new IllegalArgumentException(\"Illegal character '\" + c + \"' in: \" + compressedMac);\n            if (i % 2 == 0 && decompressedMac.length() > 0)\n                decompressedMac.append(':');\n            decompressedMac.append(Character.toUpperCase(c));\n        }\n        return decompressedMac.toString();\n    }\n\n    public static boolean isBluetoothUrl(final String url) {\n        return url != null && GenericUtils.startsWithIgnoreCase(url, \"bt:\");\n    }\n\n    public static String getBluetoothMac(final String url) {\n        if (!isBluetoothUrl(url))\n            throw new IllegalArgumentException(url);\n\n        final int queryIndex = url.indexOf('/');\n        if (queryIndex != -1)\n            return url.substring(3, queryIndex);\n        else\n            return url.substring(3);\n    }\n\n    public static String getBluetoothQuery(final String url) {\n        if (!isBluetoothUrl(url))\n            throw new IllegalArgumentException(url);\n\n        final int queryIndex = url.indexOf('/');\n        if (queryIndex != -1)\n            return url.substring(queryIndex);\n        else\n            return \"/\";\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/CheatSheet.java",
    "content": "/*\n * Copyright 2012 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.content.Context;\nimport android.graphics.Rect;\nimport android.text.TextUtils;\nimport android.view.Gravity;\nimport android.view.View;\nimport android.widget.Toast;\n\n/**\n * Helper class for showing cheat sheets (tooltips) for icon-only UI elements on long-press. This is already\n * default platform behavior for icon-only {@link android.app.ActionBar} items and tabs. This class provides\n * this behavior for any other such UI element.\n *\n * <p>\n * Based on the original action bar implementation in <a href=\n * \"https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/com/android/internal/view/menu/ActionMenuItemView.java\">\n * ActionMenuItemView.java</a>.\n */\npublic class CheatSheet {\n    /**\n     * The estimated height of a toast, in dips (density-independent pixels). This is used to determine\n     * whether or not the toast should appear above or below the UI element.\n     */\n    private static final int ESTIMATED_TOAST_HEIGHT_DIPS = 48;\n\n    /**\n     * Sets up a cheat sheet (tooltip) for the given view by setting its\n     * {@link android.view.View.OnLongClickListener}. When the view is long-pressed, a {@link Toast} with the\n     * view's {@link android.view.View#getContentDescription() content description} will be shown either above\n     * (default) or below the view (if there isn't room above it).\n     *\n     * @param view\n     *            The view to add a cheat sheet for.\n     */\n    public static void setup(View view) {\n        view.setOnLongClickListener(v -> showCheatSheet(v, v.getContentDescription()));\n    }\n\n    /**\n     * Sets up a cheat sheet (tooltip) for the given view by setting its\n     * {@link android.view.View.OnLongClickListener}. When the view is long-pressed, a {@link Toast} with the\n     * given text will be shown either above (default) or below the view (if there isn't room above it).\n     *\n     * @param view\n     *            The view to add a cheat sheet for.\n     * @param textResId\n     *            The string resource containing the text to show on long-press.\n     */\n    public static void setup(View view, final int textResId) {\n        view.setOnLongClickListener(v -> showCheatSheet(v, v.getContext().getString(textResId)));\n    }\n\n    /**\n     * Sets up a cheat sheet (tooltip) for the given view by setting its\n     * {@link android.view.View.OnLongClickListener}. When the view is long-pressed, a {@link Toast} with the\n     * given text will be shown either above (default) or below the view (if there isn't room above it).\n     *\n     * @param view\n     *            The view to add a cheat sheet for.\n     * @param text\n     *            The text to show on long-press.\n     */\n    public static void setup(View view, final CharSequence text) {\n        view.setOnLongClickListener(v -> showCheatSheet(v, text));\n    }\n\n    /**\n     * Removes the cheat sheet for the given view by removing the view's\n     * {@link android.view.View.OnLongClickListener}.\n     *\n     * @param view\n     *            The view whose cheat sheet should be removed.\n     */\n    public static void remove(final View view) {\n        view.setOnLongClickListener(null);\n    }\n\n    /**\n     * Internal helper method to show the cheat sheet toast.\n     */\n    private static boolean showCheatSheet(View view, CharSequence text) {\n        if (TextUtils.isEmpty(text)) {\n            return false;\n        }\n\n        final int[] screenPos = new int[2]; // origin is device display\n        final Rect displayFrame = new Rect(); // includes decorations (e.g. status bar)\n        view.getLocationOnScreen(screenPos);\n        view.getWindowVisibleDisplayFrame(displayFrame);\n\n        final Context context = view.getContext();\n        final int viewWidth = view.getWidth();\n        final int viewHeight = view.getHeight();\n        final int viewCenterX = screenPos[0] + viewWidth / 2;\n        final int screenWidth = context.getResources().getDisplayMetrics().widthPixels;\n        final int estimatedToastHeight = (int) (ESTIMATED_TOAST_HEIGHT_DIPS\n                * context.getResources().getDisplayMetrics().density);\n\n        Toast cheatSheet = Toast.makeText(context, text, Toast.LENGTH_SHORT);\n        boolean showBelow = screenPos[1] < estimatedToastHeight;\n        if (showBelow) {\n            // Show below\n            // Offsets are after decorations (e.g. status bar) are factored in\n            cheatSheet.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, viewCenterX - screenWidth / 2,\n                    screenPos[1] - displayFrame.top + viewHeight);\n        } else {\n            // Show above\n            // Offsets are after decorations (e.g. status bar) are factored in\n            // NOTE: We can't use Gravity.BOTTOM because when the keyboard is up\n            // its height isn't factored in.\n            cheatSheet.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, viewCenterX - screenWidth / 2,\n                    screenPos[1] - displayFrame.top - estimatedToastHeight);\n        }\n\n        cheatSheet.show();\n        return true;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/CrashReporter.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.content.pm.PackageInfo;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.BufferedReader;\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.OutputStreamWriter;\nimport java.io.PrintWriter;\nimport java.nio.charset.StandardCharsets;\nimport java.util.Calendar;\nimport java.util.GregorianCalendar;\nimport java.util.Locale;\nimport java.util.TimeZone;\n\n/**\n * @author Andreas Schildbach\n */\npublic class CrashReporter {\n    private static final String BACKGROUND_TRACES_FILENAME = \"background.trace\";\n    private static final String CRASH_TRACE_FILENAME = \"crash.trace\";\n\n    private static File backgroundTracesFile;\n    private static File crashTraceFile;\n\n    private static final TimeZone UTC = TimeZone.getTimeZone(\"UTC\");\n\n    private static final Logger log = LoggerFactory.getLogger(CrashReporter.class);\n\n    public static void init(final File cacheDir) {\n        backgroundTracesFile = new File(cacheDir, BACKGROUND_TRACES_FILENAME);\n        crashTraceFile = new File(cacheDir, CRASH_TRACE_FILENAME);\n\n        Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(Thread.getDefaultUncaughtExceptionHandler()));\n    }\n\n    public static boolean collectSavedBackgroundTraces(final File file) {\n        return backgroundTracesFile.renameTo(file);\n    }\n\n    public static boolean hasSavedCrashTrace() {\n        return crashTraceFile.exists();\n    }\n\n    public static void appendSavedCrashTrace(final Appendable report) throws IOException {\n        if (crashTraceFile.exists()) {\n            try (final BufferedReader reader = new BufferedReader(\n                    new InputStreamReader(new FileInputStream(crashTraceFile), StandardCharsets.UTF_8))) {\n                copy(reader, report);\n            } finally {\n                deleteSaveCrashTrace();\n            }\n        }\n    }\n\n    public static boolean deleteSaveCrashTrace() {\n        return crashTraceFile.delete();\n    }\n\n    private static void copy(final BufferedReader in, final Appendable out) throws IOException {\n        while (true) {\n            final String line = in.readLine();\n            if (line == null)\n                break;\n\n            out.append(line).append('\\n');\n        }\n    }\n\n    public static void saveBackgroundTrace(final Throwable throwable, final PackageInfo packageInfo) {\n        synchronized (backgroundTracesFile) {\n            try (final PrintWriter writer = new PrintWriter(\n                    new OutputStreamWriter(new FileOutputStream(backgroundTracesFile, true), StandardCharsets.UTF_8))) {\n                final Calendar now = new GregorianCalendar(UTC);\n                writer.println(String.format(Locale.US, \"\\n--- collected at %tF %tT %tZ on version %s (%d) ---\\n\", now,\n                        now, now, packageInfo.versionName, packageInfo.versionCode));\n                appendTrace(writer, throwable);\n            } catch (final IOException x) {\n                log.error(\"problem writing background trace\", x);\n            }\n        }\n    }\n\n    private static void appendTrace(final PrintWriter writer, final Throwable throwable) {\n        throwable.printStackTrace(writer);\n        // If the exception was thrown in a background thread inside\n        // AsyncTask, then the actual exception can be found with getCause\n        Throwable cause = throwable.getCause();\n        while (cause != null) {\n            writer.println(\"\\nCause:\\n\");\n            cause.printStackTrace(writer);\n            cause = cause.getCause();\n        }\n    }\n\n    private static class ExceptionHandler implements Thread.UncaughtExceptionHandler {\n        private final Thread.UncaughtExceptionHandler previousHandler;\n\n        public ExceptionHandler(final Thread.UncaughtExceptionHandler previousHandler) {\n            this.previousHandler = previousHandler;\n        }\n\n        @Override\n        public synchronized void uncaughtException(final Thread t, final Throwable exception) {\n            log.warn(\"crashing because of uncaught exception\", exception);\n            saveCrashTrace(exception);\n            previousHandler.uncaughtException(t, exception);\n        }\n\n        private void saveCrashTrace(final Throwable throwable) {\n            // Don't bother the user and us with these Android system bugs; we cannot do anything about it.\n            if (/* throwable instanceof android.app.RemoteServiceException && */\n                    throwable.getMessage().contains(\"Context.startForegroundService() did not then call Service.startForeground()\"))\n                return;\n\n            try {\n                final PrintWriter writer = new PrintWriter(\n                        new OutputStreamWriter(new FileOutputStream(crashTraceFile), StandardCharsets.UTF_8));\n                appendTrace(writer, throwable);\n                writer.close();\n                log.info(\"saved crash trace to {}\", crashTraceFile);\n            } catch (final IOException x) {\n                log.warn(\"problem saving crash trace\", x);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Crypto.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * Licensed under the MIT license (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://opensource.org/licenses/mit-license.php\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage de.schildbach.wallet.util;\n\nimport com.google.common.io.BaseEncoding;\nimport org.bouncycastle.crypto.BufferedBlockCipher;\nimport org.bouncycastle.crypto.CipherParameters;\nimport org.bouncycastle.crypto.DataLengthException;\nimport org.bouncycastle.crypto.InvalidCipherTextException;\nimport org.bouncycastle.crypto.PBEParametersGenerator;\nimport org.bouncycastle.crypto.engines.AESFastEngine;\nimport org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator;\nimport org.bouncycastle.crypto.modes.CBCBlockCipher;\nimport org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher;\nimport org.bouncycastle.crypto.params.ParametersWithIV;\n\nimport java.io.File;\nimport java.io.FileFilter;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.Reader;\nimport java.nio.charset.StandardCharsets;\nimport java.security.SecureRandom;\nimport java.util.Arrays;\n\n/**\n * This class encrypts and decrypts a string in a manner that is compatible with OpenSSL.\n * \n * If you encrypt a string with this class you can decrypt it with the OpenSSL command: openssl enc -d\n * -aes-256-cbc -a -in cipher.txt -out plain.txt -pass pass:aTestPassword\n * \n * where: cipher.txt = file containing the cipher text plain.txt - where you want the plaintext to be saved\n * \n * substitute your password for \"aTestPassword\" or remove the \"-pass\" parameter to be prompted.\n * \n * @author jim\n * @author Andreas Schildbach\n */\npublic class Crypto {\n    private static final BaseEncoding BASE64_ENCRYPT = BaseEncoding.base64().withSeparator(\"\\n\", 76);\n    private static final BaseEncoding BASE64_DECRYPT = BaseEncoding.base64().withSeparator(\"\\r\\n\", 76);\n\n    /**\n     * number of times the password & salt are hashed during key creation.\n     */\n    private static final int NUMBER_OF_ITERATIONS = 1024;\n\n    /**\n     * Key length.\n     */\n    private static final int KEY_LENGTH = 256;\n\n    /**\n     * Initialization vector length.\n     */\n    private static final int IV_LENGTH = 128;\n\n    /**\n     * The length of the salt.\n     */\n    private static final int SALT_LENGTH = 8;\n\n    /**\n     * OpenSSL salted prefix text.\n     */\n    private static final String OPENSSL_SALTED_TEXT = \"Salted__\";\n\n    /**\n     * OpenSSL salted prefix bytes - also used as magic number for encrypted key file.\n     */\n    private static final byte[] OPENSSL_SALTED_BYTES = OPENSSL_SALTED_TEXT.getBytes(StandardCharsets.UTF_8);\n\n    /**\n     * Magic text that appears at the beginning of every OpenSSL encrypted file. Used in identifying encrypted\n     * key files.\n     */\n    private static final String OPENSSL_MAGIC_TEXT = BASE64_ENCRYPT.encode(Crypto.OPENSSL_SALTED_BYTES).substring(0,\n            Crypto.NUMBER_OF_CHARACTERS_TO_MATCH_IN_OPENSSL_MAGIC_TEXT);\n\n    private static final int NUMBER_OF_CHARACTERS_TO_MATCH_IN_OPENSSL_MAGIC_TEXT = 10;\n\n    private static final SecureRandom secureRandom = new SecureRandom();\n\n    /**\n     * Get password and generate key and iv.\n     * \n     * @param password\n     *            The password to use in key generation\n     * @param salt\n     *            The salt to use in key generation\n     * @return The CipherParameters containing the created key\n     */\n    private static CipherParameters getAESPasswordKey(final char[] password, final byte[] salt) {\n        final PBEParametersGenerator generator = new OpenSSLPBEParametersGenerator();\n        generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, NUMBER_OF_ITERATIONS);\n        return (ParametersWithIV) generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH);\n    }\n\n    /**\n     * Password based encryption using AES - CBC 256 bits.\n     * \n     * @param plainText\n     *            The text to encrypt\n     * @param password\n     *            The password to use for encryption\n     * @return The encrypted string\n     * @throws IOException\n     */\n    public static String encrypt(final String plainText, final char[] password) throws IOException {\n        final byte[] plainTextAsBytes = plainText.getBytes(StandardCharsets.UTF_8);\n\n        return encrypt(plainTextAsBytes, password);\n    }\n\n    /**\n     * Password based encryption using AES - CBC 256 bits.\n     * \n     * @param plainTextAsBytes\n     *            The bytes to encrypt\n     * @param password\n     *            The password to use for encryption\n     * @return The encrypted string\n     * @throws IOException\n     */\n    public static String encrypt(final byte[] plainTextAsBytes, final char[] password) throws IOException {\n        final byte[] encryptedBytes = encryptRaw(plainTextAsBytes, password);\n\n        // OpenSSL prefixes the salt bytes + encryptedBytes with Salted___ and then base64 encodes it\n        final byte[] encryptedBytesPlusSaltedText = concat(OPENSSL_SALTED_BYTES, encryptedBytes);\n\n        return BASE64_ENCRYPT.encode(encryptedBytesPlusSaltedText);\n    }\n\n    /**\n     * Password based encryption using AES - CBC 256 bits.\n     * \n     * @param plainTextAsBytes\n     *            The bytes to encrypt\n     * @param password\n     *            The password to use for encryption\n     * @return SALT_LENGTH bytes of salt followed by the encrypted bytes.\n     * @throws IOException\n     */\n    private static byte[] encryptRaw(final byte[] plainTextAsBytes, final char[] password) throws IOException {\n        try {\n            // Generate salt - each encryption call has a different salt.\n            final byte[] salt = new byte[SALT_LENGTH];\n            secureRandom.nextBytes(salt);\n\n            final ParametersWithIV key = (ParametersWithIV) getAESPasswordKey(password, salt);\n\n            // The following code uses an AES cipher to encrypt the message.\n            final BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESFastEngine()));\n            cipher.init(true, key);\n            final byte[] encryptedBytes = new byte[cipher.getOutputSize(plainTextAsBytes.length)];\n            final int processLen = cipher.processBytes(plainTextAsBytes, 0, plainTextAsBytes.length, encryptedBytes, 0);\n            final int doFinalLen = cipher.doFinal(encryptedBytes, processLen);\n\n            // The result bytes are the SALT_LENGTH bytes followed by the encrypted bytes.\n            return concat(salt, Arrays.copyOf(encryptedBytes, processLen + doFinalLen));\n        } catch (final InvalidCipherTextException | DataLengthException x) {\n            throw new IOException(\"Could not encrypt bytes\", x);\n        }\n    }\n\n    /**\n     * Decrypt text previously encrypted with this class.\n     * \n     * @param textToDecode\n     *            The code to decrypt\n     * @param password\n     *            password to use for decryption\n     * @return The decrypted text\n     * @throws IOException\n     */\n    public static String decrypt(final String textToDecode, final char[] password) throws IOException {\n        final byte[] decryptedBytes = decryptBytes(textToDecode, password);\n\n        return new String(decryptedBytes, StandardCharsets.UTF_8).trim();\n    }\n\n    /**\n     * Decrypt bytes previously encrypted with this class.\n     * \n     * @param textToDecode\n     *            The code to decrypt\n     * @param password\n     *            password to use for decryption\n     * @return The decrypted bytes\n     * @throws IOException\n     */\n    public static byte[] decryptBytes(final String textToDecode, final char[] password) throws IOException {\n        if (textToDecode.isEmpty())\n            throw new IOException(\"empty ciphertext\");\n\n        final byte[] decodeTextAsBytes;\n        try {\n            decodeTextAsBytes = BASE64_DECRYPT.decode(textToDecode);\n        } catch (final IllegalArgumentException x) {\n            throw new IOException(\"invalid base64 encoding\");\n        }\n\n        if (decodeTextAsBytes.length < OPENSSL_SALTED_BYTES.length)\n            throw new IOException(\"out of salt\");\n\n        final byte[] cipherBytes = new byte[decodeTextAsBytes.length - OPENSSL_SALTED_BYTES.length];\n        System.arraycopy(decodeTextAsBytes, OPENSSL_SALTED_BYTES.length, cipherBytes, 0,\n                decodeTextAsBytes.length - OPENSSL_SALTED_BYTES.length);\n\n        return decryptRaw(cipherBytes, password);\n    }\n\n    /**\n     * Decrypt bytes previously encrypted with this class.\n     * \n     * @param bytesToDecode\n     *            The bytes to decrypt\n     * @param password\n     *            password to use for decryption\n     * @return The decrypted bytes\n     * @throws IOException\n     */\n    private static byte[] decryptRaw(final byte[] bytesToDecode, final char[] password) throws IOException {\n        try {\n            // separate the salt and bytes to decrypt\n            final byte[] salt = new byte[SALT_LENGTH];\n\n            System.arraycopy(bytesToDecode, 0, salt, 0, SALT_LENGTH);\n\n            final byte[] cipherBytes = new byte[bytesToDecode.length - SALT_LENGTH];\n            System.arraycopy(bytesToDecode, SALT_LENGTH, cipherBytes, 0, bytesToDecode.length - SALT_LENGTH);\n\n            final ParametersWithIV key = (ParametersWithIV) getAESPasswordKey(password, salt);\n\n            // decrypt the message\n            final BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESFastEngine()));\n            cipher.init(false, key);\n\n            final byte[] decryptedBytes = new byte[cipher.getOutputSize(cipherBytes.length)];\n            final int processLen = cipher.processBytes(cipherBytes, 0, cipherBytes.length, decryptedBytes, 0);\n            final int doFinalLen = cipher.doFinal(decryptedBytes, processLen);\n\n            return Arrays.copyOf(decryptedBytes, processLen + doFinalLen);\n        } catch (final InvalidCipherTextException | DataLengthException x) {\n            throw new IOException(\"Could not decrypt bytes\", x);\n        }\n    }\n\n    /**\n     * Concatenate two byte arrays.\n     */\n    private static byte[] concat(final byte[] arrayA, final byte[] arrayB) {\n        final byte[] result = new byte[arrayA.length + arrayB.length];\n        System.arraycopy(arrayA, 0, result, 0, arrayA.length);\n        System.arraycopy(arrayB, 0, result, arrayA.length, arrayB.length);\n\n        return result;\n    }\n\n    public final static FileFilter OPENSSL_FILE_FILTER = new FileFilter() {\n        private final char[] buf = new char[OPENSSL_MAGIC_TEXT.length()];\n\n        @Override\n        public boolean accept(final File file) {\n            try (final Reader in = new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8)) {\n                if (in.read(buf) == -1)\n                    return false;\n                final String str = new String(buf);\n                if (!str.equals(OPENSSL_MAGIC_TEXT))\n                    return false;\n                return true;\n            } catch (final IOException x) {\n                return false;\n            }\n        }\n    };\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/FillGapsLinearLayout.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport android.widget.LinearLayout;\nimport androidx.annotation.Nullable;\n\n/**\n * This LinearLayout will avoid gaps by sizing its child's to the height (for horizontal orientation) or width (for\n * vertical orientation) of the largest child. This will never increase the size of the LinearLayout itself, only\n * fill the available gaps.\n *\n * @author Andreas Schildbach\n */\npublic class FillGapsLinearLayout extends LinearLayout {\n    public FillGapsLinearLayout(final Context context) {\n        super(context);\n    }\n\n    public FillGapsLinearLayout(final Context context, @Nullable final AttributeSet attrs) {\n        super(context, attrs);\n    }\n\n    public FillGapsLinearLayout(final Context context, @Nullable final AttributeSet attrs, final int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n    }\n\n    @Override\n    protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {\n        super.onMeasure(widthMeasureSpec, heightMeasureSpec);\n        final int count = getChildCount();\n        final int orientation = getOrientation();\n        if (orientation == HORIZONTAL) {\n            for (int i = 0; i < count; i++) {\n                final View child = getChildAt(i);\n                if (child == null || child.getVisibility() == GONE)\n                    continue;\n                child.measure(MeasureSpec.makeMeasureSpec(child.getMeasuredWidth(), MeasureSpec.EXACTLY),\n                        MeasureSpec.makeMeasureSpec(this.getMeasuredHeight(), MeasureSpec.EXACTLY));\n            }\n        } else if (orientation == VERTICAL) {\n            for (int i = 0; i < count; i++) {\n                final View child = getChildAt(i);\n                if (child == null || child.getVisibility() == GONE)\n                    continue;\n                child.measure(MeasureSpec.makeMeasureSpec(this.getMeasuredWidth(), MeasureSpec.EXACTLY),\n                        MeasureSpec.makeMeasureSpec(child.getMeasuredHeight(), MeasureSpec.EXACTLY));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Formats.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.Constants;\n\nimport java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class Formats {\n    public static final Pattern PATTERN_WHITESPACE = Pattern.compile(\"\\\\s+\");\n    public static final Pattern PATTERN_MONETARY_SPANNABLE = Pattern.compile(\"(?:([\\\\p{Alpha}\\\\p{Sc}]++)\\\\s?+)?\" // prefix\n            + \"([\\\\+\\\\-\" + Constants.CURRENCY_PLUS_SIGN + Constants.CURRENCY_MINUS_SIGN\n            + \"]?+(?:\\\\d*+\\\\.\\\\d{0,2}+|\\\\d++))\" // significant\n            + \"(\\\\d++)?\"); // insignificant\n    public static int PATTERN_GROUP_PREFIX = 1; // optional\n    public static int PATTERN_GROUP_SIGNIFICANT = 2; // mandatory\n    public static int PATTERN_GROUP_INSIGNIFICANT = 3; // optional\n\n    private static final Pattern PATTERN_MEMO = Pattern.compile(\n            \"(?:Payment request for Coinbase order code: (.+)|Payment request for BitPay invoice (.+) for merchant (.+))\",\n            Pattern.CASE_INSENSITIVE);\n\n    @Nullable\n    public static String[] sanitizeMemo(final @Nullable String memo) {\n        if (memo == null)\n            return null;\n\n        final Matcher m = PATTERN_MEMO.matcher(memo);\n        if (m.matches() && m.group(1) != null)\n            return new String[] { m.group(1) + \" (via Coinbase)\" };\n        else if (m.matches() && m.group(2) != null)\n            return new String[] { m.group(2) + \" (via BitPay)\", m.group(3) };\n        else\n            return new String[] { memo };\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/GenericUtils.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport java.util.Currency;\n\n/**\n * @author Andreas Schildbach\n */\npublic class GenericUtils {\n    public static boolean startsWithIgnoreCase(final String string, final String prefix) {\n        return string.regionMatches(true, 0, prefix, 0, prefix.length());\n    }\n\n    public static String currencySymbol(final String currencyCode) {\n        try {\n            final Currency currency = Currency.getInstance(currencyCode);\n            return currency.getSymbol();\n        } catch (final IllegalArgumentException x) {\n            return currencyCode;\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Installer.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.app.Application;\nimport android.content.Context;\nimport android.content.pm.PackageManager;\nimport okhttp3.HttpUrl;\n\n/**\n * @author Andreas Schildbach\n */\npublic enum Installer {\n    F_DROID(\"F-Droid\"), GOOGLE_PLAY(\"Google Play\"), AMAZON_APPSTORE(\"Amazon Appstore\"), AURORA_STORE(\"Aurora Store\");\n\n    public final String displayName;\n\n    Installer(final String displayName) {\n        this.displayName = displayName;\n    }\n\n    public static String installerPackageName(final Context context) {\n        final PackageManager pm = context.getPackageManager();\n        return pm.getInstallerPackageName(context.getPackageName());\n    }\n\n    public static Installer from(final String installerPackageName) {\n        if (\"org.fdroid.fdroid\".equals(installerPackageName)\n                || \"org.fdroid.fdroid.privileged\".equals(installerPackageName))\n            return F_DROID;\n        if (\"com.android.vending\".equals(installerPackageName))\n            return GOOGLE_PLAY;\n        if (\"com.amazon.venezia\".equals(installerPackageName))\n            return AMAZON_APPSTORE;\n        if (\"com.aurora.store\".equals(installerPackageName))\n            return AURORA_STORE;\n        return null;\n    }\n\n    public static Installer from(final Context context) {\n        return from(installerPackageName(context));\n    }\n\n    public HttpUrl appStorePageFor(final Application application) {\n        final HttpUrl.Builder url;\n        if (this == F_DROID) {\n            url = HttpUrl.parse(\"https://f-droid.org/de/packages/\").newBuilder();\n            url.addPathSegment(application.getPackageName());\n        } else if (this == GOOGLE_PLAY || this == AURORA_STORE) {\n            url = HttpUrl.parse(\"https://play.google.com/store/apps/details\").newBuilder();\n            url.addQueryParameter(\"id\", application.getPackageName());\n        } else if (this == AMAZON_APPSTORE) {\n            url = HttpUrl.parse(\"https://www.amazon.com/gp/mas/dl/android\").newBuilder();\n            url.addQueryParameter(\"p\", application.getPackageName());\n        } else {\n            throw new IllegalStateException(this.toString());\n        }\n        return url.build();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Iso8601Format.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.annotation.SuppressLint;\n\nimport java.text.DateFormat;\nimport java.text.ParseException;\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\nimport java.util.Locale;\nimport java.util.TimeZone;\n\n/**\n * @author Andreas Schildbach\n */\n@SuppressLint(\"SimpleDateFormat\")\npublic class Iso8601Format extends SimpleDateFormat {\n    private static final TimeZone UTC = TimeZone.getTimeZone(\"UTC\");\n\n    public Iso8601Format(final String formatString) {\n        super(formatString, Locale.US);\n        setTimeZone(UTC);\n    }\n\n    public static DateFormat newTimeFormat() {\n        return new Iso8601Format(\"HH:mm:ss\");\n    }\n\n    public static DateFormat newDateFormat() {\n        return new Iso8601Format(\"yyyy-MM-dd\");\n    }\n\n    public static DateFormat newDateTimeFormat() {\n        return new Iso8601Format(\"yyyy-MM-dd HH:mm:ss\");\n    }\n\n    public static String formatDateTime(final Date date) {\n        return newDateTimeFormat().format(date);\n    }\n\n    public static Date parseDateTime(final String source) throws ParseException {\n        return newDateTimeFormat().parse(source);\n    }\n\n    public static DateFormat newDateTimeFormatT() {\n        return new Iso8601Format(\"yyyy-MM-dd'T'HH:mm:ss'Z'\");\n    }\n\n    public static String formatDateTimeT(final Date date) {\n        return newDateTimeFormatT().format(date);\n    }\n\n    public static Date parseDateTimeT(final String source) throws ParseException {\n        return newDateTimeFormatT().parse(source);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/MonetarySpannable.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.graphics.Typeface;\nimport android.text.Spannable;\nimport android.text.SpannableString;\nimport android.text.style.RelativeSizeSpan;\nimport android.text.style.StyleSpan;\nimport androidx.annotation.Nullable;\nimport de.schildbach.wallet.Constants;\nimport org.bitcoinj.core.Monetary;\nimport org.bitcoinj.utils.MonetaryFormat;\n\nimport java.util.regex.Matcher;\n\nimport static androidx.core.util.Preconditions.checkArgument;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class MonetarySpannable extends SpannableString {\n    public MonetarySpannable(@Nullable final MonetaryFormat format, final boolean signed,\n            @Nullable final Monetary monetary) {\n        super(format(format, signed, monetary));\n    }\n\n    public MonetarySpannable(@Nullable final MonetaryFormat format, @Nullable final Monetary monetary) {\n        super(format(format, false, monetary));\n    }\n\n    private static CharSequence format(@Nullable final MonetaryFormat format, final boolean signed,\n            final Monetary monetary) {\n        if (monetary == null)\n            return \"\";\n        if (format == null)\n            return monetary.toString();\n\n        checkArgument(monetary.signum() >= 0 || signed);\n\n        if (signed)\n            return format.negativeSign(Constants.CURRENCY_MINUS_SIGN).positiveSign(Constants.CURRENCY_PLUS_SIGN)\n                    .format(monetary);\n        else\n            return format.format(monetary);\n    }\n\n    public MonetarySpannable applyMarkup(@Nullable final Object[] prefixSpans,\n            @Nullable final Object[] insignificantSpans) {\n        applyMarkup(this, prefixSpans, STANDARD_SIGNIFICANT_SPANS, insignificantSpans);\n        return this;\n    }\n\n    public static final Object BOLD_SPAN = new StyleSpan(Typeface.BOLD);\n    public static final RelativeSizeSpan SMALLER_SPAN = new RelativeSizeSpan(0.85f);\n\n    public static final Object[] STANDARD_SIGNIFICANT_SPANS = new Object[] { BOLD_SPAN };\n    public static final Object[] STANDARD_INSIGNIFICANT_SPANS = new Object[] { MonetarySpannable.SMALLER_SPAN };\n\n    public static void applyMarkup(final Spannable spannable, @Nullable final Object[] prefixSpans,\n            @Nullable final Object[] significantSpans, @Nullable final Object[] insignificantSpans) {\n        if (prefixSpans != null)\n            for (final Object span : prefixSpans)\n                spannable.removeSpan(span);\n        if (significantSpans != null)\n            for (final Object span : significantSpans)\n                spannable.removeSpan(span);\n        if (insignificantSpans != null)\n            for (final Object span : insignificantSpans)\n                spannable.removeSpan(span);\n\n        final Matcher m = Formats.PATTERN_MONETARY_SPANNABLE.matcher(spannable);\n        if (m.find()) {\n            int i = 0;\n\n            if (m.group(Formats.PATTERN_GROUP_PREFIX) != null) {\n                final int end = m.end(Formats.PATTERN_GROUP_PREFIX);\n                if (prefixSpans != null)\n                    for (final Object span : prefixSpans)\n                        spannable.setSpan(span, i, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n                i = end;\n            }\n\n            if (m.group(Formats.PATTERN_GROUP_SIGNIFICANT) != null) {\n                final int end = m.end(Formats.PATTERN_GROUP_SIGNIFICANT);\n                if (significantSpans != null)\n                    for (final Object span : significantSpans)\n                        spannable.setSpan(span, i, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n                i = end;\n            }\n\n            if (m.group(Formats.PATTERN_GROUP_INSIGNIFICANT) != null) {\n                final int end = m.end(Formats.PATTERN_GROUP_INSIGNIFICANT);\n                if (insignificantSpans != null)\n                    for (final Object span : insignificantSpans)\n                        spannable.setSpan(span, i, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n                i = end;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Nfc.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.nfc.NdefMessage;\nimport android.nfc.NdefRecord;\nimport androidx.annotation.Nullable;\n\nimport java.nio.charset.StandardCharsets;\nimport java.util.Arrays;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Nfc {\n    public static NdefRecord createMime(final String mimeType, final byte[] payload) {\n        final byte[] mimeBytes = mimeType.getBytes(StandardCharsets.US_ASCII);\n        return new NdefRecord(NdefRecord.TNF_MIME_MEDIA, mimeBytes, new byte[0], payload);\n    }\n\n    @Nullable\n    public static byte[] extractMimePayload(final String mimeType, final NdefMessage message) {\n        final byte[] mimeBytes = mimeType.getBytes(StandardCharsets.US_ASCII);\n\n        for (final NdefRecord record : message.getRecords()) {\n            if (record.getTnf() == NdefRecord.TNF_MIME_MEDIA && Arrays.equals(record.getType(), mimeBytes))\n                return record.getPayload();\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/OnFirstPreDraw.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.view.View;\nimport android.view.ViewTreeObserver;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.concurrent.atomic.AtomicBoolean;\n\nimport static androidx.core.util.Preconditions.checkNotNull;\n\n/**\n * @author Andreas Schildbach\n */\npublic class OnFirstPreDraw implements ViewTreeObserver.OnPreDrawListener {\n    public interface Callback {\n        boolean onFirstPreDraw();\n    }\n\n    public static void listen(final View view, final Callback callback) {\n        new OnFirstPreDraw(view.getViewTreeObserver(), callback);\n    }\n\n    private final ViewTreeObserver viewTreeObserver;\n    private final Callback callback;\n    private final AtomicBoolean fired = new AtomicBoolean(false);\n\n    private static final Logger log = LoggerFactory.getLogger(OnFirstPreDraw.class);\n\n    private OnFirstPreDraw(final ViewTreeObserver viewTreeObserver, final Callback callback) {\n        this.viewTreeObserver = viewTreeObserver;\n        this.callback = checkNotNull(callback);\n        viewTreeObserver.addOnPreDrawListener(this);\n    }\n\n    @Override\n    public boolean onPreDraw() {\n        if (viewTreeObserver.isAlive())\n            viewTreeObserver.removeOnPreDrawListener(this);\n        else\n            log.debug(\"ViewTreeObserver has died, cannot remove listener\");\n        if (!fired.getAndSet(true))\n            return callback.onFirstPreDraw();\n        return true;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Qr.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.graphics.Bitmap;\nimport com.google.zxing.BarcodeFormat;\nimport com.google.zxing.EncodeHintType;\nimport com.google.zxing.WriterException;\nimport com.google.zxing.common.BitMatrix;\nimport com.google.zxing.qrcode.QRCodeWriter;\nimport com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.ByteArrayInputStream;\nimport java.io.ByteArrayOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.nio.ByteBuffer;\nimport java.util.Hashtable;\nimport java.util.zip.GZIPInputStream;\nimport java.util.zip.GZIPOutputStream;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Qr {\n    private final static QRCodeWriter QR_CODE_WRITER = new QRCodeWriter();\n\n    private static final Logger log = LoggerFactory.getLogger(Qr.class);\n\n    public static Bitmap bitmap(final String content) {\n        try {\n            final Hashtable<EncodeHintType, Object> hints = new Hashtable<>();\n            hints.put(EncodeHintType.MARGIN, 0);\n            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);\n            final BitMatrix result = QR_CODE_WRITER.encode(content, BarcodeFormat.QR_CODE, 0, 0, hints);\n\n            final int width = result.getWidth();\n            final int height = result.getHeight();\n            final byte[] pixels = new byte[width * height];\n\n            for (int y = 0; y < height; y++) {\n                final int offset = y * width;\n                for (int x = 0; x < width; x++) {\n                    pixels[offset + x] = (byte) (result.get(x, y) ? -1 : 0);\n                }\n            }\n\n            final Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ALPHA_8);\n            bitmap.copyPixelsFromBuffer(ByteBuffer.wrap(pixels));\n            return bitmap;\n        } catch (final WriterException x) {\n            log.info(\"problem creating qr code\", x);\n            return null;\n        }\n    }\n\n    public static String encodeCompressBinary(final byte[] bytes) {\n        try {\n            final ByteArrayOutputStream bos = new ByteArrayOutputStream(bytes.length);\n            final GZIPOutputStream gos = new GZIPOutputStream(bos);\n            gos.write(bytes);\n            gos.close();\n\n            final byte[] gzippedBytes = bos.toByteArray();\n            final boolean useCompressioon = gzippedBytes.length < bytes.length;\n\n            final StringBuilder str = new StringBuilder();\n            str.append(useCompressioon ? 'Z' : '-');\n            str.append(Base43.encode(useCompressioon ? gzippedBytes : bytes));\n\n            return str.toString();\n        } catch (final IOException x) {\n            throw new RuntimeException(x);\n        }\n    }\n\n    public static String encodeBinary(final byte[] bytes) {\n        return Base43.encode(bytes);\n    }\n\n    public static byte[] decodeDecompressBinary(final String content) throws IOException {\n        final boolean useCompression = content.charAt(0) == 'Z';\n        final byte[] bytes = Base43.decode(content.substring(1));\n\n        InputStream is = new ByteArrayInputStream(bytes);\n        if (useCompression)\n            is = new GZIPInputStream(is);\n        final ByteArrayOutputStream baos = new ByteArrayOutputStream();\n\n        final byte[] buf = new byte[4096];\n        int read;\n        while (-1 != (read = is.read(buf)))\n            baos.write(buf, 0, read);\n        baos.close();\n        is.close();\n\n        return baos.toByteArray();\n    }\n\n    public static byte[] decodeBinary(final String content) throws IOException {\n        return Base43.decode(content);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/Toast.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.content.Context;\nimport android.os.Handler;\nimport android.os.Looper;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Toast {\n    private final Context context;\n    private final Handler handler = new Handler(Looper.getMainLooper());\n\n    public Toast(final Context context) {\n        this.context = context;\n    }\n\n    public final void postToast(final int textResId, final Object... formatArgs) {\n        handler.post(() -> toast(textResId, formatArgs));\n    }\n\n    public final void toast(final int textResId, final Object... formatArgs) {\n        customToast(textResId, android.widget.Toast.LENGTH_SHORT, formatArgs);\n    }\n\n    public final void postToast(final CharSequence text) {\n        handler.post(() -> toast(text));\n    }\n\n    public final void toast(final CharSequence text) {\n        customToast(text, android.widget.Toast.LENGTH_SHORT);\n    }\n\n    public final void postLongToast(final int textResId, final Object... formatArgs) {\n        handler.post(() -> longToast(textResId, formatArgs));\n    }\n\n    public final void longToast(final int textResId, final Object... formatArgs) {\n        customToast(textResId, android.widget.Toast.LENGTH_LONG, formatArgs);\n    }\n\n    public final void postLongToast(final CharSequence text) {\n        handler.post(() -> longToast(text));\n    }\n\n    public final void longToast(final CharSequence text) {\n        customToast(text, android.widget.Toast.LENGTH_LONG);\n    }\n\n    private void customToast(final int textResId, final int duration, final Object... formatArgs) {\n        customToast(context.getString(textResId, formatArgs), duration);\n    }\n\n    private void customToast(final CharSequence text, final int duration) {\n        android.widget.Toast.makeText(context, text, duration).show();\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/ViewPagerTabs.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Paint;\nimport android.graphics.Path;\nimport android.graphics.Typeface;\nimport android.os.Bundle;\nimport android.os.Parcelable;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport androidx.annotation.ColorInt;\nimport androidx.viewpager2.widget.ViewPager2;\nimport de.schildbach.wallet.R;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * @author Andreas Schildbach\n */\npublic class ViewPagerTabs extends View {\n    public enum Mode { DYNAMIC, STATIC }\n\n    private Mode mode = Mode.DYNAMIC;\n    private final List<String> labels = new ArrayList<>();\n    private final Paint paint = new Paint();\n    private int maxWidth = 0;\n    @ColorInt\n    private int textColor, selectedTextColor;\n    @ColorInt\n    private int indicatorColor;\n\n    // instance state\n    private int pagePosition = 0;\n    private float pageOffset = 0;\n\n    public ViewPagerTabs(final Context context, final AttributeSet attrs) {\n        super(context, attrs);\n\n        setSaveEnabled(true);\n\n        paint.setTextSize(getResources().getDimension(R.dimen.font_size_tiny));\n        paint.setAntiAlias(true);\n\n        textColor = context.getColor(R.color.fg_less_significant);\n        selectedTextColor = context.getColor(R.color.fg_significant);\n        indicatorColor = context.getColor(R.color.bg_level2);\n    }\n\n    public void setMode(final Mode mode) {\n        this.mode = mode;\n        invalidate();\n    }\n\n    public void addTabLabels(final int... labelResId) {\n        final Context context = getContext();\n\n        paint.setTypeface(Typeface.DEFAULT_BOLD);\n\n        for (final int resId : labelResId) {\n            final String label = context.getString(resId);\n\n            final int width = (int) paint.measureText(label);\n\n            if (width > maxWidth)\n                maxWidth = width;\n\n            labels.add(label);\n        }\n    }\n\n    private final Path path = new Path();\n\n    @Override\n    protected void onDraw(final Canvas canvas) {\n        super.onDraw(canvas);\n        if (mode == Mode.DYNAMIC)\n            drawDynamic(canvas);\n        else\n            drawStatic(canvas);\n    }\n\n    private void drawDynamic(final Canvas canvas) {\n        final int viewWidth = getWidth();\n        final int viewHalfWidth = viewWidth / 2;\n        final int viewBottom = getHeight();\n\n        final float density = getResources().getDisplayMetrics().density;\n        final float spacing = 32 * density;\n\n        path.reset();\n        path.moveTo(viewHalfWidth, viewBottom - 5 * density);\n        path.lineTo(viewHalfWidth + 5 * density, viewBottom);\n        path.lineTo(viewHalfWidth - 5 * density, viewBottom);\n        path.close();\n\n        paint.setColor(indicatorColor);\n        canvas.drawPath(path, paint);\n\n        paint.setTypeface(Typeface.DEFAULT_BOLD);\n        final float y = getPaddingTop() + -paint.getFontMetrics().top;\n\n        for (int i = 0; i < labels.size(); i++) {\n            final String label = labels.get(i);\n\n            paint.setTypeface(i == pagePosition ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);\n            paint.setColor(i == pagePosition ? selectedTextColor : textColor);\n\n            final float x = viewHalfWidth + (maxWidth + spacing) * (i - pageOffset);\n            final float labelWidth = paint.measureText(label);\n            final float labelHalfWidth = labelWidth / 2;\n\n            final float labelLeft = x - labelHalfWidth;\n            final float labelVisibleLeft = labelLeft >= 0 ? 1f : 1f - (-labelLeft / labelWidth);\n\n            final float labelRight = x + labelHalfWidth;\n            final float labelVisibleRight = labelRight < viewWidth ? 1f : 1f - ((labelRight - viewWidth) / labelWidth);\n\n            final float labelVisible = Math.min(labelVisibleLeft, labelVisibleRight);\n\n            paint.setAlpha((int) (labelVisible * 255));\n\n            canvas.drawText(label, labelLeft, y, paint);\n        }\n    }\n\n    private void drawStatic(final Canvas canvas) {\n        final int numLabels = labels.size();\n        final float labelWidth = (float) getWidth() / numLabels;\n        final float leftPadding = getResources().getDimension(R.dimen.list_entry_padding_horizontal);\n        final float y = getPaddingTop() + -paint.getFontMetrics().top;\n        paint.setTypeface(Typeface.DEFAULT);\n        paint.setColor(textColor);\n        for (int i = 0; i < numLabels; i++)\n            canvas.drawText(labels.get(i), labelWidth * i + leftPadding, y, paint);\n    }\n\n    @Override\n    protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {\n        final int widthMode = MeasureSpec.getMode(widthMeasureSpec);\n        final int widthSize = MeasureSpec.getSize(widthMeasureSpec);\n\n        final int width;\n        if (widthMode == MeasureSpec.EXACTLY)\n            width = widthSize;\n        else if (widthMode == MeasureSpec.AT_MOST)\n            width = Math.min(getMeasuredWidth(), widthSize);\n        else\n            width = 0;\n\n        final int heightMode = MeasureSpec.getMode(heightMeasureSpec);\n        final int heightSize = MeasureSpec.getSize(heightMeasureSpec);\n\n        final int height;\n        if (heightMode == MeasureSpec.EXACTLY)\n            height = heightSize;\n        else if (heightMode == MeasureSpec.AT_MOST)\n            height = Math.min(getSuggestedMinimumHeight(), heightSize);\n        else\n            height = getSuggestedMinimumHeight();\n\n        setMeasuredDimension(width, height);\n    }\n\n    @Override\n    protected int getSuggestedMinimumHeight() {\n        paint.setTypeface(Typeface.DEFAULT_BOLD);\n        return (int) (-paint.getFontMetrics().top + paint.getFontMetrics().bottom) + getPaddingTop()\n                + getPaddingBottom();\n    }\n\n    private final ViewPager2.OnPageChangeCallback pageChangeCallback = new ViewPager2.OnPageChangeCallback() {\n        @Override\n        public void onPageScrolled(final int position, final float positionOffset, final int positionOffsetPixels) {\n            pageOffset = position + positionOffset;\n            invalidate();\n        }\n\n        @Override\n        public void onPageSelected(final int position) {\n            pagePosition = position;\n            invalidate();\n        }\n    };\n\n    public ViewPager2.OnPageChangeCallback getPageChangeCallback() {\n        return pageChangeCallback;\n    }\n\n    @Override\n    public Parcelable onSaveInstanceState() {\n        final Bundle state = new Bundle();\n        state.putParcelable(\"super_state\", super.onSaveInstanceState());\n        state.putInt(\"page_position\", pagePosition);\n        state.putFloat(\"page_offset\", pageOffset);\n        return state;\n    }\n\n    @Override\n    public void onRestoreInstanceState(final Parcelable state) {\n        if (state instanceof Bundle) {\n            Bundle bundle = (Bundle) state;\n            pagePosition = bundle.getInt(\"page_position\");\n            pageOffset = bundle.getFloat(\"page_offset\");\n            super.onRestoreInstanceState(bundle.getParcelable(\"super_state\"));\n            return;\n        }\n\n        super.onRestoreInstanceState(state);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/WalletUtils.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.content.Context;\nimport android.net.Uri;\nimport android.text.Spannable;\nimport android.text.SpannableStringBuilder;\nimport android.text.Spanned;\nimport android.text.SpannedString;\nimport android.text.style.TypefaceSpan;\nimport androidx.annotation.Nullable;\nimport com.google.common.base.Stopwatch;\nimport de.schildbach.wallet.Constants;\nimport de.schildbach.wallet.service.BlockchainService;\nimport org.bitcoinj.core.Address;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.core.Sha256Hash;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.core.TransactionInput;\nimport org.bitcoinj.core.TransactionOutput;\nimport org.bitcoinj.script.Script;\nimport org.bitcoinj.script.ScriptException;\nimport org.bitcoinj.wallet.Protos;\nimport org.bitcoinj.wallet.UnreadableWalletException;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.WalletProtobufSerializer;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletUtils {\n    private static final Logger log = LoggerFactory.getLogger(WalletUtils.class);\n\n    public static Spanned formatAddress(final Address address, final int groupSize, final int lineSize) {\n        return formatHash(address.toString(), groupSize, lineSize);\n    }\n\n    public static Spanned formatAddress(@Nullable final String prefix, final Address address, final int groupSize,\n            final int lineSize) {\n        return formatHash(prefix, address.toString(), groupSize, lineSize, Constants.CHAR_THIN_SPACE);\n    }\n\n    public static Spanned formatHash(final String hash, final int groupSize, final int lineSize) {\n        return formatHash(null, hash, groupSize, lineSize, Constants.CHAR_THIN_SPACE);\n    }\n\n    public static long longHash(final Sha256Hash hash) {\n        final byte[] bytes = hash.getBytes();\n\n        return (bytes[31] & 0xFFl) | ((bytes[30] & 0xFFl) << 8) | ((bytes[29] & 0xFFl) << 16)\n                | ((bytes[28] & 0xFFl) << 24) | ((bytes[27] & 0xFFl) << 32) | ((bytes[26] & 0xFFl) << 40)\n                | ((bytes[25] & 0xFFl) << 48) | ((bytes[23] & 0xFFl) << 56);\n    }\n\n    private static class MonospaceSpan extends TypefaceSpan {\n        public MonospaceSpan() {\n            super(\"monospace\");\n        }\n\n        // TypefaceSpan doesn't implement this, and we need it so that Spanned.equals() works.\n        @Override\n        public boolean equals(final Object o) {\n            if (o == this)\n                return true;\n            if (o == null || o.getClass() != getClass())\n                return false;\n            return true;\n        }\n\n        @Override\n        public int hashCode() {\n            return 0;\n        }\n    }\n\n    public static Spanned formatHash(@Nullable final String prefix, final String hash, final int groupSize,\n            final int lineSize, final char groupSeparator) {\n        final SpannableStringBuilder builder = prefix != null ? new SpannableStringBuilder(prefix)\n                : new SpannableStringBuilder();\n\n        final int len = hash.length();\n        for (int i = 0; i < len; i += groupSize) {\n            final int end = i + groupSize;\n            final String part = hash.substring(i, end < len ? end : len);\n\n            builder.append(part);\n            builder.setSpan(new MonospaceSpan(), builder.length() - part.length(), builder.length(),\n                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n            if (end < len) {\n                final boolean endOfLine = lineSize > 0 && end % lineSize == 0;\n                builder.append(endOfLine ? '\\n' : groupSeparator);\n            }\n        }\n\n        return SpannedString.valueOf(builder);\n    }\n\n    @Nullable\n    public static Address getToAddressOfSent(final Transaction tx, final Wallet wallet) {\n        for (final TransactionOutput output : tx.getOutputs()) {\n            try {\n                if (!output.isMine(wallet)) {\n                    final Script script = output.getScriptPubKey();\n                    return script.getToAddress(Constants.NETWORK_PARAMETERS, true);\n                }\n            } catch (final ScriptException x) {\n                // swallow\n            }\n        }\n\n        return null;\n    }\n\n    @Nullable\n    public static Address getWalletAddressOfReceived(final Transaction tx, final Wallet wallet) {\n        for (final TransactionOutput output : tx.getOutputs()) {\n            try {\n                if (output.isMine(wallet)) {\n                    final Script script = output.getScriptPubKey();\n                    return script.getToAddress(Constants.NETWORK_PARAMETERS, true);\n                }\n            } catch (final ScriptException x) {\n                // swallow\n            }\n        }\n\n        return null;\n    }\n\n    public static boolean isEntirelySelf(final Transaction tx, final Wallet wallet) {\n        for (final TransactionInput input : tx.getInputs()) {\n            final TransactionOutput connectedOutput = input.getConnectedOutput();\n            if (connectedOutput == null || !connectedOutput.isMine(wallet))\n                return false;\n        }\n\n        for (final TransactionOutput output : tx.getOutputs()) {\n            if (!output.isMine(wallet))\n                return false;\n        }\n\n        return true;\n    }\n\n    public static void autoBackupWallet(final Context context, final Wallet wallet) {\n        final Stopwatch watch = Stopwatch.createStarted();\n        final Protos.Wallet.Builder builder = new WalletProtobufSerializer().walletToProto(wallet).toBuilder();\n\n        // strip redundant\n        builder.clearTransaction();\n        builder.clearLastSeenBlockHash();\n        builder.setLastSeenBlockHeight(-1);\n        builder.clearLastSeenBlockTimeSecs();\n        final Protos.Wallet walletProto = builder.build();\n\n        try (final OutputStream os = context.openFileOutput(Constants.Files.WALLET_KEY_BACKUP_PROTOBUF,\n                Context.MODE_PRIVATE)) {\n            walletProto.writeTo(os);\n            watch.stop();\n            log.info(\"wallet backed up to: '{}', took {}\", Constants.Files.WALLET_KEY_BACKUP_PROTOBUF, watch);\n        } catch (final IOException x) {\n            log.error(\"problem writing wallet backup\", x);\n        }\n    }\n\n    public static Wallet restoreWalletFromAutoBackup(final Context context) {\n        try (final InputStream is = context.openFileInput(Constants.Files.WALLET_KEY_BACKUP_PROTOBUF)) {\n            final Wallet wallet = new WalletProtobufSerializer().readWallet(Constants.NETWORK_PARAMETERS, null, WalletProtobufSerializer.parseToProto(is), true);\n            if (!wallet.isConsistent())\n                throw new Error(\"inconsistent backup\");\n\n            BlockchainService.resetBlockchain(context);\n            log.info(\"wallet restored from backup: '\" + Constants.Files.WALLET_KEY_BACKUP_PROTOBUF + \"'\");\n            return wallet;\n        } catch (final IOException | UnreadableWalletException x) {\n            throw new Error(\"cannot read backup\", x);\n        }\n    }\n\n    public static Wallet restoreWalletFromProtobuf(final InputStream is,\n            final NetworkParameters expectedNetworkParameters) throws IOException {\n        try {\n            final Wallet wallet = new WalletProtobufSerializer().readWallet(Constants.NETWORK_PARAMETERS, null, WalletProtobufSerializer.parseToProto(is), true);\n\n            if (!wallet.getParams().equals(expectedNetworkParameters))\n                throw new IOException(\"bad wallet backup network parameters: \" + wallet.getParams().getId());\n            if (!wallet.isConsistent())\n                throw new IOException(\"inconsistent wallet backup\");\n\n            return wallet;\n        } catch (final UnreadableWalletException x) {\n            throw new IOException(\"unreadable wallet\", x);\n        }\n    }\n\n    public static boolean isPayToManyTransaction(final Transaction transaction) {\n        return transaction.getOutputs().size() > 20;\n    }\n\n    public static @Nullable String uriToProvider(final Uri uri) {\n        if (uri == null || !uri.getScheme().equals(\"content\"))\n            return null;\n        final String host = uri.getHost();\n        if (\"com.google.android.apps.docs.storage\".equals(host) || \"com.google.android.apps.docs.storage.legacy\".equals(host))\n            return \"Google Drive\";\n        if (\"org.nextcloud.documents\".equals(host))\n            return \"Nextcloud\";\n        if (\"com.box.android.documents\".equals(host))\n            return \"Box\";\n        if (\"com.android.providers.downloads.documents\".equals(host))\n            return \"internal storage\";\n        return null;\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/WholeStringBuilder.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.graphics.Typeface;\nimport android.text.SpannableStringBuilder;\nimport android.text.style.StyleSpan;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WholeStringBuilder extends SpannableStringBuilder {\n    public static CharSequence bold(final CharSequence text) {\n        return new WholeStringBuilder(text, new StyleSpan(Typeface.BOLD));\n    }\n\n    public WholeStringBuilder(final CharSequence text, final Object span) {\n        super(text);\n\n        setSpan(span, 0, text.length(), SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);\n    }\n}\n"
  },
  {
    "path": "wallet/src/de/schildbach/wallet/util/ZoomOutPageTransformer.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport android.view.View;\nimport androidx.viewpager2.widget.ViewPager2;\n\n/**\n * @author Andreas Schildbach\n */\npublic final class ZoomOutPageTransformer implements ViewPager2.PageTransformer {\n    private static final float MIN_SCALE = 0.85f;\n    private static final float MIN_ALPHA = 0.5f;\n\n    public void transformPage(final View view, final float position) {\n        if (position < -1 || position > 1) {\n            view.setAlpha(0f);\n        } else {\n            final float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));\n            final float verticalMargin = view.getHeight() * (1 - scaleFactor) / 2;\n            final float horizontalMargin = view.getWidth() * (1 - scaleFactor) / 2;\n            if (position < 0)\n                view.setTranslationX(horizontalMargin - verticalMargin / 2);\n            else\n                view.setTranslationX(-horizontalMargin + verticalMargin / 2);\n            view.setScaleX(scaleFactor);\n            view.setScaleY(scaleFactor);\n            view.setAlpha(MIN_ALPHA + (scaleFactor - MIN_SCALE) / (1 - MIN_SCALE) * (1 - MIN_ALPHA));\n        }\n    }\n}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/exchangerate/CoinGeckoTest.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.exchangerate;\n\nimport com.squareup.moshi.Moshi;\nimport okio.BufferedSource;\nimport okio.Okio;\nimport org.junit.Test;\n\nimport java.util.List;\n\nimport static org.junit.Assert.assertEquals;\n\n/**\n * @author Andreas Schildbach\n */\npublic class CoinGeckoTest {\n    private final CoinGecko coinGecko = new CoinGecko(new Moshi.Builder().build());\n\n    @Test\n    public void parse() throws Exception {\n        final BufferedSource json = Okio.buffer(Okio.source(getClass().getResourceAsStream(\"coingecko.json\")));\n        final List<ExchangeRateEntry> rates = coinGecko.parse(json);\n        assertEquals(45, rates.size());\n    }\n}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/exchangerate/coingecko.json",
    "content": "{\"rates\":{\"btc\":{\"name\":\"Bitcoin\",\"unit\":\"BTC\",\"value\":1.0,\"type\":\"crypto\"},\"eth\":{\"name\":\"Ether\",\"unit\":\"ETH\",\"value\":51.699,\"type\":\"crypto\"},\"ltc\":{\"name\":\"Litecoin\",\"unit\":\"LTC\",\"value\":137.362,\"type\":\"crypto\"},\"bch\":{\"name\":\"Bitcoin Cash\",\"unit\":\"BCH\",\"value\":25.054,\"type\":\"crypto\"},\"bnb\":{\"name\":\"Binance Coin\",\"unit\":\"BNB\",\"value\":513.527,\"type\":\"crypto\"},\"eos\":{\"name\":\"EOS\",\"unit\":\"EOS\",\"value\":2281.137,\"type\":\"crypto\"},\"xrp\":{\"name\":\"XRP\",\"unit\":\"XRP\",\"value\":38985.412,\"type\":\"crypto\"},\"xlm\":{\"name\":\"Lumens\",\"unit\":\"XLM\",\"value\":153544.828,\"type\":\"crypto\"},\"usd\":{\"name\":\"US Dollar\",\"unit\":\"$\",\"value\":9301.146,\"type\":\"fiat\"},\"aed\":{\"name\":\"United Arab Emirates Dirham\",\"unit\":\"DH\",\"value\":34163.576,\"type\":\"fiat\"},\"ars\":{\"name\":\"Argentine Peso\",\"unit\":\"$\",\"value\":560551.27,\"type\":\"fiat\"},\"aud\":{\"name\":\"Australian Dollar\",\"unit\":\"A$\",\"value\":13892.676,\"type\":\"fiat\"},\"bdt\":{\"name\":\"Bangladeshi Taka\",\"unit\":\"৳\",\"value\":788837.83,\"type\":\"fiat\"},\"bhd\":{\"name\":\"Bahraini Dinar\",\"unit\":\"BD\",\"value\":3506.495,\"type\":\"fiat\"},\"bmd\":{\"name\":\"Bermudian Dollar\",\"unit\":\"$\",\"value\":9301.146,\"type\":\"fiat\"},\"brl\":{\"name\":\"Brazil Real\",\"unit\":\"R$\",\"value\":39860.063,\"type\":\"fiat\"},\"cad\":{\"name\":\"Canadian Dollar\",\"unit\":\"CA$\",\"value\":12308.849,\"type\":\"fiat\"},\"chf\":{\"name\":\"Swiss Franc\",\"unit\":\"Fr.\",\"value\":8962.668,\"type\":\"fiat\"},\"clp\":{\"name\":\"Chilean Peso\",\"unit\":\"CLP$\",\"value\":7443693.415,\"type\":\"fiat\"},\"cny\":{\"name\":\"Chinese Yuan\",\"unit\":\"¥\",\"value\":64519.263,\"type\":\"fiat\"},\"czk\":{\"name\":\"Czech Koruna\",\"unit\":\"Kč\",\"value\":211670.833,\"type\":\"fiat\"},\"dkk\":{\"name\":\"Danish Krone\",\"unit\":\"kr.\",\"value\":62695.215,\"type\":\"fiat\"},\"eur\":{\"name\":\"Euro\",\"unit\":\"€\",\"value\":8389.652,\"type\":\"fiat\"},\"gbp\":{\"name\":\"British Pound Sterling\",\"unit\":\"£\",\"value\":7046.111,\"type\":\"fiat\"},\"hkd\":{\"name\":\"Hong Kong Dollar\",\"unit\":\"HK$\",\"value\":72245.26,\"type\":\"fiat\"},\"huf\":{\"name\":\"Hungarian Forint\",\"unit\":\"Ft\",\"value\":2829483.176,\"type\":\"fiat\"},\"idr\":{\"name\":\"Indonesian Rupiah\",\"unit\":\"Rp\",\"value\":126941211.415,\"type\":\"fiat\"},\"ils\":{\"name\":\"Israeli New Shekel\",\"unit\":\"₪\",\"value\":32075.003,\"type\":\"fiat\"},\"inr\":{\"name\":\"Indian Rupee\",\"unit\":\"₹\",\"value\":665496.971,\"type\":\"fiat\"},\"jpy\":{\"name\":\"Japanese Yen\",\"unit\":\"¥\",\"value\":1007924.948,\"type\":\"fiat\"},\"krw\":{\"name\":\"South Korean Won\",\"unit\":\"₩\",\"value\":11139936.74,\"type\":\"fiat\"},\"kwd\":{\"name\":\"Kuwaiti Dinar\",\"unit\":\"KD\",\"value\":2826.358,\"type\":\"fiat\"},\"lkr\":{\"name\":\"Sri Lankan Rupee\",\"unit\":\"Rs\",\"value\":1687509.3,\"type\":\"fiat\"},\"mmk\":{\"name\":\"Burmese Kyat\",\"unit\":\"K\",\"value\":13606130.163,\"type\":\"fiat\"},\"mxn\":{\"name\":\"Mexican Peso\",\"unit\":\"MX$\",\"value\":175608.716,\"type\":\"fiat\"},\"myr\":{\"name\":\"Malaysian Ringgit\",\"unit\":\"RM\",\"value\":38098.417,\"type\":\"fiat\"},\"nok\":{\"name\":\"Norwegian Krone\",\"unit\":\"kr\",\"value\":85517.271,\"type\":\"fiat\"},\"nzd\":{\"name\":\"New Zealand Dollar\",\"unit\":\"NZ$\",\"value\":14387.478,\"type\":\"fiat\"},\"php\":{\"name\":\"Philippine Peso\",\"unit\":\"₱\",\"value\":474707.9,\"type\":\"fiat\"},\"pkr\":{\"name\":\"Pakistani Rupee\",\"unit\":\"₨\",\"value\":1436329.558,\"type\":\"fiat\"},\"pln\":{\"name\":\"Polish Zloty\",\"unit\":\"zł\",\"value\":36046.649,\"type\":\"fiat\"},\"rub\":{\"name\":\"Russian Ruble\",\"unit\":\"₽\",\"value\":594133.059,\"type\":\"fiat\"},\"sar\":{\"name\":\"Saudi Riyal\",\"unit\":\"SR\",\"value\":34897.715,\"type\":\"fiat\"},\"sek\":{\"name\":\"Swedish Krona\",\"unit\":\"kr\",\"value\":89514.857,\"type\":\"fiat\"},\"sgd\":{\"name\":\"Singapore Dollar\",\"unit\":\"S$\",\"value\":12695.618,\"type\":\"fiat\"},\"thb\":{\"name\":\"Thai Baht\",\"unit\":\"฿\",\"value\":290416.154,\"type\":\"fiat\"},\"try\":{\"name\":\"Turkish Lira\",\"unit\":\"₺\",\"value\":55640.342,\"type\":\"fiat\"},\"twd\":{\"name\":\"New Taiwan Dollar\",\"unit\":\"NT$\",\"value\":282517.667,\"type\":\"fiat\"},\"uah\":{\"name\":\"Ukrainian hryvnia\",\"unit\":\"₴\",\"value\":232982.597,\"type\":\"fiat\"},\"vef\":{\"name\":\"Venezuelan bolívar fuerte\",\"unit\":\"Bs.F\",\"value\":2311219981.163,\"type\":\"fiat\"},\"vnd\":{\"name\":\"Vietnamese đồng\",\"unit\":\"₫\",\"value\":215053100.494,\"type\":\"fiat\"},\"zar\":{\"name\":\"South African Rand\",\"unit\":\"R\",\"value\":139603.234,\"type\":\"fiat\"},\"xdr\":{\"name\":\"IMF Special Drawing Rights\",\"unit\":\"XDR\",\"value\":6757.171,\"type\":\"fiat\"},\"xag\":{\"name\":\"Silver - Troy Ounce\",\"unit\":\"XAG\",\"value\":515.271,\"type\":\"commodity\"},\"xau\":{\"name\":\"Gold - Troy Ounce\",\"unit\":\"XAU\",\"value\":5.859,\"type\":\"commodity\"}}}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/util/Base43Test.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.assertArrayEquals;\nimport static org.junit.Assert.assertEquals;\n\n/**\n * @author Andreas Schildbach\n */\npublic class Base43Test {\n    @Test\n    public void encode() throws Exception {\n        assertEquals(\"\", Base43.encode(new byte[0]));\n\n        assertEquals(\"0\", Base43.encode(new byte[] { 0x0 }));\n\n        assertEquals(\"5.\", Base43.encode(new byte[] { (byte) 0xff }));\n\n        assertEquals(\"RNO2-MYFN0D35RHM\", Base43.encode(\"Hello World\".getBytes()));\n    }\n\n    @Test\n    public void decode() throws Exception {\n        assertArrayEquals(new byte[0], Base43.decode(\"\"));\n\n        assertArrayEquals(new byte[] { 0x0 }, Base43.decode(\"0\"));\n\n        assertArrayEquals(new byte[] { (byte) 0xff }, Base43.decode(\"5.\"));\n\n        assertArrayEquals(\"Hello World\".getBytes(), Base43.decode(\"RNO2-MYFN0D35RHM\"));\n    }\n}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/util/BluetoothTest.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.assertEquals;\nimport static org.junit.Assert.assertTrue;\n\n/**\n * @author Andreas Schildbach\n */\npublic class BluetoothTest {\n    @Test\n    public void compressMac() {\n        assertEquals(\"11223344556677\", Bluetooth.compressMac(\"11:22:33:44:55:66:77\"));\n        assertEquals(\"110A3344550B00\", Bluetooth.compressMac(\"11:A:33:44:55:B:\"));\n        assertEquals(\"AA\", Bluetooth.compressMac(\"aa\"));\n        assertEquals(\"00\", Bluetooth.compressMac(\"\"));\n    }\n\n    @Test(expected = IllegalArgumentException.class)\n    public void compressMac_oversizedSegment() {\n        Bluetooth.compressMac(\"111\");\n    }\n\n    @Test(expected = IllegalArgumentException.class)\n    public void compressMac_illegalCharacter() {\n        Bluetooth.compressMac(\"1z\");\n    }\n\n    @Test\n    public void decompressMac() {\n        assertEquals(\"11:22:33:44:55:66:77\", Bluetooth.decompressMac(\"11223344556677\"));\n        assertEquals(\"11:0A:33:44:55:0B:00\", Bluetooth.decompressMac(\"110A3344550B00\"));\n        assertEquals(\"AA\", Bluetooth.decompressMac(\"aa\"));\n        assertEquals(\"\", Bluetooth.decompressMac(\"\"));\n    }\n\n    @Test(expected = IllegalArgumentException.class)\n    public void decompressMac_impossibleLength() {\n        Bluetooth.decompressMac(\"123\");\n    }\n\n    @Test(expected = IllegalArgumentException.class)\n    public void decompressMac_illegalCharacter() {\n        Bluetooth.decompressMac(\"1z\");\n    }\n\n    @Test\n    public void compressDecompressMac() throws Exception {\n        final String mac = \"00:11:22:33:44:55:66\";\n        assertEquals(mac, Bluetooth.decompressMac(Bluetooth.compressMac(mac)));\n    }\n\n    @Test\n    public void isBluetoothUri() throws Exception {\n        assertTrue(Bluetooth.isBluetoothUrl(\"bt:00112233445566\"));\n        assertTrue(Bluetooth.isBluetoothUrl(\"BT:00112233445566\"));\n    }\n\n    @Test\n    public void getBluetooth() throws Exception {\n        final String simpleUri = \"bt:00112233445566\";\n        assertEquals(\"00112233445566\", Bluetooth.getBluetoothMac(simpleUri));\n        assertEquals(\"/\", Bluetooth.getBluetoothQuery(simpleUri));\n\n        final String queryUri = \"bt:00112233445566/abc\";\n        assertEquals(\"00112233445566\", Bluetooth.getBluetoothMac(queryUri));\n        assertEquals(\"/abc\", Bluetooth.getBluetoothQuery(queryUri));\n    }\n}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/util/CryptoTest.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport com.google.common.io.CharStreams;\nimport org.bitcoinj.wallet.WalletProtobufSerializer;\nimport org.junit.Test;\n\nimport java.io.BufferedReader;\nimport java.io.ByteArrayInputStream;\nimport java.io.ByteArrayOutputStream;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.nio.charset.StandardCharsets;\n\nimport static org.junit.Assert.assertArrayEquals;\nimport static org.junit.Assert.assertEquals;\nimport static org.junit.Assert.assertTrue;\n\n/**\n * @author Andreas Schildbach\n */\npublic class CryptoTest {\n    private static final String PLAIN_TEXT = \"plain text\";\n    private static final byte[] PLAIN_BYTES = PLAIN_TEXT.getBytes();\n    private static final char[] PASSWORD = \"password\".toCharArray();\n\n    @Test\n    public void roundtripText() throws Exception {\n        final String plainText = Crypto.decrypt(Crypto.encrypt(PLAIN_TEXT, PASSWORD), PASSWORD);\n        assertEquals(PLAIN_TEXT, plainText);\n    }\n\n    @Test\n    public void roundtripDifferentTextSizes() throws Exception {\n        final StringBuilder builder = new StringBuilder();\n        while (builder.length() < 4096) {\n            final String plainText = builder.toString();\n            final String roundtrippedPlainText = Crypto.decrypt(Crypto.encrypt(plainText, PASSWORD), PASSWORD);\n            assertEquals(plainText, roundtrippedPlainText);\n\n            builder.append('x');\n        }\n    }\n\n    @Test\n    public void roundtripBytes() throws Exception {\n        final byte[] plainBytes = Crypto.decryptBytes(Crypto.encrypt(PLAIN_BYTES, PASSWORD), PASSWORD);\n        assertArrayEquals(PLAIN_BYTES, plainBytes);\n    }\n\n    @Test\n    public void roundtripDifferentByteSizes() throws Exception {\n        final ByteArrayOutputStream stream = new ByteArrayOutputStream(4096);\n        while (stream.toByteArray().length < 4096) {\n            final byte[] plainBytes = stream.toByteArray();\n            final byte[] roundtrippedPlainBytes = Crypto.decryptBytes(Crypto.encrypt(plainBytes, PASSWORD), PASSWORD);\n            assertArrayEquals(plainBytes, roundtrippedPlainBytes);\n\n            stream.write(42);\n        }\n    }\n\n    @Test\n    public void roundtripDifferentPasswordSizes() throws Exception {\n        final StringBuilder builder = new StringBuilder();\n        while (builder.length() < 4096) {\n            final char[] password = builder.toString().toCharArray();\n            final String plainText = Crypto.decrypt(Crypto.encrypt(PLAIN_TEXT, password), password);\n            assertEquals(PLAIN_TEXT, plainText);\n\n            builder.append('x');\n        }\n    }\n\n    @Test\n    public void backups() throws Exception {\n        final byte[] backup = Crypto.decryptBytes(readBackupFromResource(\"bitcoin-wallet-backup-testnet-3.50\"),\n                PASSWORD);\n        assertTrue(WalletProtobufSerializer.isWallet(new ByteArrayInputStream(backup)));\n\n        final byte[] backupCrLf = Crypto.decryptBytes(readBackupFromResource(\"bitcoin-wallet-backup-testnet-3.50-crlf\"),\n                PASSWORD);\n        assertTrue(WalletProtobufSerializer.isWallet(new ByteArrayInputStream(backupCrLf)));\n    }\n\n    private String readBackupFromResource(final String filename) throws IOException {\n        final BufferedReader reader = new BufferedReader(\n                new InputStreamReader(getClass().getResourceAsStream(filename), StandardCharsets.UTF_8));\n        final StringBuilder backup = new StringBuilder();\n        CharStreams.copy(reader, backup);\n        reader.close();\n\n        return backup.toString();\n    }\n}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/util/FormatsTest.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport org.junit.Test;\n\nimport java.util.regex.Matcher;\n\nimport static org.junit.Assert.assertEquals;\nimport static org.junit.Assert.assertFalse;\nimport static org.junit.Assert.assertNotNull;\nimport static org.junit.Assert.assertNull;\nimport static org.junit.Assert.assertTrue;\n\n/**\n * @author Andreas Schildbach\n */\npublic class FormatsTest {\n    @Test\n    public void monetarySpannable() throws Exception {\n        final Matcher single = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"0\");\n        assertTrue(single.find());\n        assertNull(single.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(single.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"0\", single.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNull(single.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher many = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"00000000\");\n        assertTrue(many.find());\n        assertNull(many.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(many.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"00000000\", many.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNull(many.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher standard = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"0.0000\");\n        assertTrue(standard.find());\n        assertNull(standard.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(standard.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"0.00\", standard.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNotNull(standard.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n        assertEquals(\"00\", standard.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher startWithDot = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\".0000\");\n        assertTrue(startWithDot.find());\n        assertNull(startWithDot.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(startWithDot.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\".00\", startWithDot.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNotNull(startWithDot.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n        assertEquals(\"00\", startWithDot.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher endWithDot = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"00.\");\n        assertTrue(endWithDot.find());\n        assertNull(endWithDot.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(endWithDot.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"00.\", endWithDot.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNull(endWithDot.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher signed = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"-0.00\");\n        assertTrue(signed.find());\n        assertNull(signed.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(signed.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"-0.00\", signed.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNull(signed.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher symbol = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"€0.00\");\n        assertTrue(symbol.find());\n        assertNotNull(symbol.group(Formats.PATTERN_GROUP_PREFIX));\n        assertEquals(\"€\", symbol.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(symbol.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"0.00\", symbol.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNull(symbol.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher code = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"BTC 0.00\");\n        assertTrue(code.find());\n        assertNotNull(code.group(Formats.PATTERN_GROUP_PREFIX));\n        assertEquals(\"BTC\", code.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(code.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"0.00\", code.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNull(code.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher subString = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"###$0###\");\n        assertTrue(subString.find());\n        assertNotNull(subString.group(Formats.PATTERN_GROUP_PREFIX));\n        assertEquals(\"$\", subString.group(Formats.PATTERN_GROUP_PREFIX));\n        assertNotNull(subString.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertEquals(\"0\", subString.group(Formats.PATTERN_GROUP_SIGNIFICANT));\n        assertNull(subString.group(Formats.PATTERN_GROUP_INSIGNIFICANT));\n\n        final Matcher empty = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"\");\n        assertFalse(empty.find());\n\n        final Matcher signOnly = Formats.PATTERN_MONETARY_SPANNABLE.matcher(\"+\");\n        assertFalse(signOnly.find());\n    }\n}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/util/WalletUtilsTest.java",
    "content": "/*\n * Copyright the original author or authors.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://www.gnu.org/licenses/>.\n */\n\npackage de.schildbach.wallet.util;\n\nimport org.bitcoinj.params.MainNetParams;\nimport org.bitcoinj.params.TestNet3Params;\nimport org.junit.Test;\n\nimport java.io.IOException;\n\n/**\n * @author Andreas Schildbach\n */\npublic class WalletUtilsTest {\n    @Test\n    public void restoreWalletFromProtobufOrBase58() throws Exception {\n        WalletUtils.restoreWalletFromProtobuf(getClass().getResourceAsStream(\"backup-protobuf-testnet\"),\n                TestNet3Params.get());\n    }\n\n    @Test(expected = IOException.class)\n    public void restoreWalletFromProtobuf_wrongNetwork() throws Exception {\n        WalletUtils.restoreWalletFromProtobuf(getClass().getResourceAsStream(\"backup-protobuf-testnet\"),\n                MainNetParams.get());\n    }\n}\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/util/bitcoin-wallet-backup-testnet-3.50",
    "content": "U2FsdGVkX19pY3qMQBP4lcdqITcJZLWS3CA99iFfEpwrt3O0f57yDfGDFxpybDZBNEus0OeP0a2m\nx9hwj7CGWaec6eU1pFQs/JF3TaGnH/i32VrmLU5TX2ay06+0XcIbommjC+U0Slx5HWS2ARt3UBF7\ndktVryZQrzpdncYVe88Cy8r2RezpwTScVBXyUnxSPpStVwoUy8ogJ4cAakhpHOu5n5qkQeHAy0Cv\niaFVlOc=\n"
  },
  {
    "path": "wallet/test/de/schildbach/wallet/util/bitcoin-wallet-backup-testnet-3.50-crlf",
    "content": "U2FsdGVkX19pY3qMQBP4lcdqITcJZLWS3CA99iFfEpwrt3O0f57yDfGDFxpybDZBNEus0OeP0a2m\r\nx9hwj7CGWaec6eU1pFQs/JF3TaGnH/i32VrmLU5TX2ay06+0XcIbommjC+U0Slx5HWS2ARt3UBF7\r\ndktVryZQrzpdncYVe88Cy8r2RezpwTScVBXyUnxSPpStVwoUy8ogJ4cAakhpHOu5n5qkQeHAy0Cv\r\niaFVlOc=\r\n"
  }
]